いよいよ、連休最終日ですね。
先の投稿でメールに添付されたPDFファイルの印刷がありましたので
ちょっとだけ新しい事
PDFファイルの印刷について・・・
VBAは
・エクセルなどOffice製品
・IEやWindowsの操作が出来る
その他のソフトは操作できないと紹介しましたが
それぞれのソフトに準備されている
コマンドラインが実行できます。
方法
その1 SellExecute を使う。
仮にPDFのファイルをクリックすると関連付けされたソフト(AcrobatReaderなど)が起動します。
WindowsのAPIと機能を利用するわけです。
モジュールの最初に
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpszOp As String, _
ByVal lpszFile As String, ByVal lpszParams As String, _
ByVal LpszDir As String, ByVal FsShowCmd As Long) _
As Long
と記述して使用します。
SellExecuteには引数があり、先の事例では
Sub マクロ名()
ShellExecute 0, "print", 起動したいファイルのパスとファイル名, 0, デフォルトフォルダ, 0
End Sub
これで、指定したPDFファイルを開いて印刷が実行されます。
その2 WScript.Shell を使う
AcrobatReaderに準備されているコマンドラインを直接実行させます。
MyFile = "C:\Users\Owner\Downloads\サンプルPDF.pdf"
Set WSH = CreateObject("WScript.Shell")
WSH.Run "AcroRd32.exe /h /p " & MyFile
と記述して使用します。
AcrobatReaderに準備されている引数についてはこちらを参考にしてください。
PDFファイル限定では
Acrobat(有料)をインストールすれば