IE操作で、フルスクリーン≠≒最大化 の 解説です。
まぁ、軽く読み流してください。
フルスクリーン と言うか、フルスクリーン表示モード?
IEのオブジェクトを探ると、.FullScreen なんて よさそうなプロパティがあるので、
http://d.hatena.ne.jp/ken3memo/20090607/1244331743
の手前味噌サンプルみたいに使ってみます。
'昔の失敗作?、これはこれで、本当のフルスクリーンなんだけど?? Sub ie_test_FullScreen() 'IEの起動 Dim objIE As Object '変数を定義します。 Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。 objIE.Visible = True '可視、Trueで見えるようにします。 objIE.GoHome 'ページをホームに移動する動作、メソッド objIE.FullScreen = True '画面いっぱいに表示されるので注意。 '↑意図したフルスクリーンとちょっと違うかなぁ。 'まぁ、これは、これで使う場合もあるかも。一度使ってみてください。 '終了は、Alt+F4がいいかも。 End Sub
で、皆さんがイメージする ウインドウの最大化とチョット、イヤだいぶ違うかなぁ。
ウインドウの最大化
タイトルバーをダブルクリックしたときみたいに最大化したい
ってことで、
API VBA 最大化 の3単語で検索すると、
Excel VBA を学ぶなら moug モーグ | 即効テクニック |
Accessのアプリケーションウィンドウの最大化/最小化を操作する (API)
http://moug.net/tech/acvba/0010006.htm
など多数サンプルが見つかります。
ココから、APIのShowWindowを使ってみます。
Option Explicit 'API VBA 最大化 で 検索、 '>Excel VBA を学ぶなら moug モーグ | 即効テクニック | '>Accessのアプリケーションウィンドウの最大化/最小化を操作する (API) '> http://moug.net/tech/acvba/0010006.htm '上記↑のサンプルを参考にして、テストプログラムを作成してみました。 'APIの宣言、標準関数の外側に Declare Function ShowWindow Lib "User32" (ByVal Hwnd As Long, _ ByVal nCmdShow As Long) As Long '定数 Const SW_SHOWNORMAL = 1 Const SW_SHOWMINIMIZED = 2 Const SW_SHOWMAXIMIZED = 3 '↑上記のAPI ShowWindow を テストで使ってみる。 '起動したIEを最大化してみる。 Sub ie_test_ShowWindow_SHOWMAXIMIZED() 'IEの起動 Dim objIE As Object '変数を定義します。 Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。 objIE.Visible = True '可視、Trueで見えるようにします。 'ページの移動 objIE.GoHome 'ページをホームに移動する動作、メソッド '最大化表示のテスト Dim Maxit As Long 'APIのリターン値 Maxit = ShowWindow(objIE.Hwnd, SW_SHOWMAXIMIZED) 'API関数にobjIE.HwndとMAX表示の定数を渡しただけですが、こんな感じです End Sub
ShowWindow関数にウインドウハンドルを渡すので、探さないとなぁ・・・と思ったら、
.Hwndなんて値を持っているので、IEのプロパティをそのまま渡してOKでした。
意外と簡単にできたので、他のウインドウ操作系APIも.Hwndを使って試してみてくださいね。
テスト結果 ≒≠ いつもの試行錯誤の動画
テストの動画です → http://www.youtube.com/watch?v=ikb9tdwt1Xg
フルスクリーンモード?と最大化の違い?を 百聞は一見に↓〜 で確認してみてください