IE操作 で .ExecWB メソッドのヒットが多いので補足。
詳細の解説は
http://ie.vba-ken3.jp/Methods/ExecWB/
や
http://www.ken3.org/vba/backno/vba112.html
を見て、笑ってください。
www.youtube.com
Sub aaa() '参照設定すると便利ですよ。なんて言ってますが・・・Dim objIE As InternetExplorer 'IEのオブジェクトを入れる変数を1つ作成する
'オブジェクトを作り、見えるようにして、初期ページをテストで表示
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.GoHome '初期ページの表示
'ページの表示完了を.ReadyStateで待つ
While objIE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Wend'印刷プレビューのコマンドを実行させる。
objIE.ExecWB OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULTEnd Sub
動画解説 http://www.youtube.com/watch?v=W71hdfqWftE
↑を参考にして、値を
? READYSTATE_COMPLETE
4
? OLECMDID_PRINTPREVIEW
7
? OLECMDEXECOPT_DODEFAULT
0
などで、確認して、
と、作ることもできます。※まぁ、参照設定したままのほうがいいと思いますが。
Sub aaa() '参照設定しないパターンDim objIE As Object 'IEのオブジェクトを入れる変数を1つ作成する
'オブジェクトを作り、見えるようにして、初期ページをテストで表示
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.GoHome '初期ページの表示
'ページの表示完了を.ReadyStateで待つ
While objIE.ReadyState <> 4
DoEvents
Wend'印刷プレビューのコマンドを実行させる。
objIE.ExecWB 7, 0End Sub
まぁ、気になるのが、コマンドIDだと思います。
OLECMDID Enumeration
http://msdn.microsoft.com/en-us/library/ms691264.aspx
をみて、対応するコマンドを探すのが、王道かなぁ。
typedef enum OLECMDID {
OLECMDID_OPEN 1 開いています。
OLECMDID_NEW 2 新機能
OLECMDID_SAVE 3 保存します。
OLECMDID_SAVEAS 4 保存と
OLECMDID_SAVECOPYAS 5 コピーと保存します。
OLECMDID_PRINT 6 印刷
OLECMDID_PRINTPREVIEW 7 印刷プレビュー
OLECMDID_PAGESETUP 8 ページのセットアップ
OLECMDID_SPELL 9 スペル
OLECMDID_PROPERTIES 10 プロパティ
OLECMDID_CUT 11 カット
OLECMDID_COPY 12 コピー
OLECMDID_PASTE 13 貼り付け
OLECMDID_PASTESPECIAL 14 特別な貼り付け
OLECMDID_UNDO 15 元に戻す
OLECMDID_REDO 16 やり直し
OLECMDID_SELECTALL 17 すべてを選択します。
OLECMDID_CLEARSELECTION 18 選択をクリア
OLECMDID_ZOOM 19 ズーム
OLECMDID_GETZOOMRANGE 20 GET ズーム範囲
OLECMDID_UPDATECOMMANDS 21 更新コマンド
OLECMDID_REFRESH 22 リフレッシュ
OLECMDID_STOP 23 停止します。
OLECMDID_HIDETOOLBARS 24 非表示にするツール バー
OLECMDID_SETPROGRESSMAX 25 MAX 進行状況を設定します。
OLECMDID_SETPROGRESSPOS 26 POS の進行状況を設定します。
OLECMDID_SETPROGRESSTEXT 27 進行状況テキストを設定します。
OLECMDID_SETTITLE 28 設定のタイトル
OLECMDID_SETDOWNLOADSTATE 29 セット ダウンロード状態
OLECMDID_STOPDOWNLOAD 30 ダウンロードを停止します。
OLECMDID_FIND 32 検索します。
OLECMDID_DELETE 33 削除します。
OLECMDID_PRINT2 49 2 を印刷します。
OLECMDID_PRINTPREVIEW2 50 印刷プレビュー 2
OLECMDID_PAGEACTIONBLOCKED 55 ブロックされているページのアクション
OLECMDID_PAGEACTIONUIQUERY 56 ページ アクション UIQUERY
OLECMDID_FOCUSVIEWCONTROLS 57 フォーカス ビュー コントロール
OLECMDID_FOCUSVIEWCONTROLSQUERY 58 フォーカス ビュー コントロールのクエリ
OLECMDID_SHOWPAGEACTIONMENU 59 ページのアクションのメニューを表示します。
OLECMDID_ADDTRAVELENTRY 60 ADD travelentry
OLECMDID_UPDATETRAVELENTRY 61 更新プログラム旅行エントリ
OLECMDID_UPDATEBACKFORWARDSTATE 62 更新裏フォワード状態
OLECMDID_OPTICAL_ZOOM 63 光学ズーム
OLECMDID_OPTICAL_GETZOOMRANGE 64 光学 GET ズーム範囲
OLECMDID_WINDOWSTATECHANGED 65 WINDOWSTATECHANGED
OLECMDID_ACTIVEXINSTALLSCOPE 66 アクティブな XINSTALLSCOPE
OLECMDID_UPDATETRAVELENTRY_DATARECOVERY 67 UPDATET ravelentry DATARECOVERY
} OLECMDID;
次に動作は
OLECMDEXECOPT Enumeration
http://msdn.microsoft.com/en-us/library/ms683930(VS.85).aspx
を見て、コマンドの動作を指定します。
OLECMDEXECOPT_DODEFAULT = 0ユーザーに入力を要求すると、既定の動作。
OLECMDEXECOPT_PROMPTUSER = 1、ユーザー入力の取得後、コマンドを実行します。
OLECMDEXECOPT_DONTPROMPTUSER = 2 ユーザーを確認せず、コマンドを実行します。
たとえば、[印刷] ツールバー ボタンをクリックしてがドキュメントをすぐにユーザー入力なし印刷。
OLECMDEXECOPT_SHOWHELP = 3 は、対応するコマンドのヘルプを表示が実行されません。
詳細の解説は
http://ie.vba-ken3.jp/Methods/ExecWB/
や
http://www.ken3.org/vba/backno/vba112.html
を見て、笑ってください。