|
挨拶・自己紹介: | |
|
[記事一覧、バックナンバーを見る] | |
2009-07-08
7/8 IE操作 で .ExecWB メソッド
IE操作 で .ExecWB メソッドのヒットが多いので補足。
詳細の解説は
http://ie.vba-ken3.jp/Methods/ExecWB/
や
http://www.ken3.org/vba/backno/vba112.html
を見て、笑ってください。
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_DODEFAULT
End 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, 0
End 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
を見て、笑ってください。
貧乏や不幸自慢じゃなくて(うらやましがってないで、仕事しないとなぁ・)
言葉遊びになるけど
> 99%の公務員は貧乏 - 「高給批判」は筋違い、リッチなのは、ほんの一握りのキャリア官僚だけ
> http://ameblo.jp/kokkoippan/entry-10294885970.html
公務員の給料
8割が700万円以下、6割超が600万円以下
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
を
2割、100人に20人が700万以上
4割弱、100人に40人が600万以上
おっと、まだ書き方悪いか
100人に20人 を 5人に1人が700万越え、
100人に40人 を 5人に2人が600万以上
で、いいのかなぁ?
逆に書くと書き方変わるのかなぁ?
まぁ、うらやましがってないで、仕事しないとなぁ・・・・
貧乏や不幸自慢じゃなくて、逆にまだ公務員なんてやってるの?と言える位になりたいね・・・
[記事一覧、バックナンバーを見る]
.
