VBA開発

VBAでIE操作「Webページを印刷する」【エクセルマクロ】

Internet Explorerの現在のページを印刷する

Excel VBAマクロでIEを自動操作で「Webページを印刷」したい場合の記事です。
ExecWBメソッドを使用し、印刷を行います。

Webページ印刷するサンプルコード

'■InternetExplorerで表示中のページを印刷
Sub sample_IE_ExecWB_Print()
    Dim objIE As InternetExplorer
    Dim objDoc As Variant

    '■IEを起動
    Set objIE = CreateObject("InternetExplorer.Application")
    objIE.Visible = True
 
    '■該当ページへ遷移
    objIE.navigate "https://vba-create.jp/kyoteivba-contact/"
    Call Call_IE_WaitTime
    '■ExecWBで印刷処理をする(印刷ダイアログを表示せずに印刷)
    objIE.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
 
End Sub

注意点

ExecWBで使用する引数

ExecWBの仕様で「印刷に関する部分のみ」抜粋しています。
その他はこちらのページを参考にどうぞ。


object.ExecWB( cmdID as OLECMDID, cmdexecopt as OLECMDEXECOPT, [pvaIn, pvaOut] )

引数定数名説明
OLECMDIDOLECMDID_PRINT6メニュー内、「ファイル」 → 「印刷」
OLECMDID_PRINTPREVIEW7メニュー内、「ファイル」 → 「印刷プレビュー」
OLECMDEXECOPTOLECMDEXECOPT_DODEFAULT0デフォルトの動作を使用
OLECMDEXECOPT_PROMPTUSER1ユーザーの入力を取得後に、コマンド実行
OLECMDEXECOPT_DONTPROMPTUSER2ユーザーに入力を取得せず、コマンド実行

その他

Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。

Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。

 

コメント

タイトルとURLをコピーしました