2017年11月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« WScript.NetworkのSetDefaultPrinter()を使うべからず。(障害) | トップページ | ExcelのApplication.ActivePrinterは「仕様障害」? »

2007年1月16日 (火)

VBAからAdobe Reader 6.0でPDFファイルを印刷する。

Adobe Reader 7.0を使えば簡単ですが、どうしてもAdobe Reader 6.0なら。

Sub PdfPrint(File)
Dim PID

Const Path = "C:\Program Files\Adobe\Acrobat 6.0\Reader\AcroRd32.exe"
PID = Shell("""" & Path & """ /n /p /h """ & File & """")
Do
  AppActivateX PID
  If Err = 0 Then Exit Do
  Application.Wait Now + TimeSerial(0, 0, 1)
Loop
Do
  AppActivateX PID
  If Err Then Exit Do
  SendKeys "^q", True
  Application.Wait Now + TimeSerial(0, 0, 1)
Loop
End Sub

Sub AppActivateX(PID)
On Error Resume Next
AppActivate PID, False
End Sub

※On ErrorはVBAでもこんな風に使うとよいのでは?

« WScript.NetworkのSetDefaultPrinter()を使うべからず。(障害) | トップページ | ExcelのApplication.ActivePrinterは「仕様障害」? »