[[20090207114523]] 『インターネットエクスプローラーでPDFを印刷』(ビ〜ノ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『インターネットエクスプローラーでPDFを印刷』(ビ〜ノ)

 お世話になります。

 インターネットエクスプローラーでPDFファイルを表示し印刷しよう
 と考えています。

 このコードでは印刷ダイアログを表示するところまでは出来ましたが、
 印刷は自動化できません。
 印刷まで自動で行うにはどのように記述すればいいでしょうか?
 お教えいただけますでしょうか。よろしくお願いいたします。

 Sub prt()
  Const OLECMDID_PRINT As Long = 6
  Dim MyIe As Object
   Set MyIe = CreateObject("InternetExplorer.Application")
   MyIe.Navigate "D:\test\hoge.pdf"
   MyIe.Visible = True
   While MyIe.Busy Or MyIe.ReadyState <> 4
    DoEvents
   Wend
   MyIe.ExecWB OLECMDID_PRINT, 0
 End Sub

 バージョンです。
 エクセル:2002
 IE:IE7
 Windows:XP SP2
 です。

 Sendkeysでプリントアウトする方法がありました。

[[20071114140954]]『PDFファイルのオープン』(しんぼう)

 やはりダイアログ表示してSendKeysで印刷するしかないのでしょうか?
 (ビ〜ノ)

 ダイアログなしで印刷、というのは難しそうですね。
 "正式にはサポートされていない"方法で自動化を考えて見ます。
 お騒がせしました。
http://puremis.net/excel/code/083ja.shtml
 (ビ〜ノ)

 Sub pdfprint()
    Dim fullname As Variant
    Dim flnm As Variant, fldnm As Variant
    Const OLECMDID_PRINT As Long = 6
    fullname = "D:\test\hoge.pdf"
    Dim MyIe As Object
    Set MyIe = CreateObject("InternetExplorer.Application")
    MyIe.Navigate fullname
    MyIe.Visible = True
    Do While MyIe.Busy Or MyIe.ReadyState <> 4
       DoEvents
    Loop
    With CreateObject("scripting.filesystemobject")
       flnm = .GetFileName(fullname)
       fldnm = .GetParentFolderName(fullname)
    End With
    With CreateObject("Shell.Application")
        .NameSpace(fldnm).ParseName(flnm).InvokeVerb "印刷(&P)"
    End With
 End Sub

 こんな方法は?

 ichinose


 ichinoseさん、ご回答ありがとうございます。
 >CreateObject("Shell.Application")
 いろいろ使えるのですね。
 勉強が必要です。
 ありがとうございました。
 (ビ〜ノ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.