- 締切済み
vbsでIEを利用したダイアログを最前面表示したい
最近VBスクリプトをいじリ初めて現在勉強中です。 下記のメールマガジンサイトで見つけたコードがいろいろ応用が利きそうなので、現在いじって挙動を見ています。 ・2009/10/27発行 『【櫻井です】タイマーのプログラムを作りましょう』 http://www.bunzin.net/program/mailmaga/backnumber/20091027.html そこで一つ思ったのですが、上記のコードを利用してウィンドウを最前面に表示させることができれば、例えば警告ウィンドウに画像や任意のボタンを張り付けたりと、いろいろ応用が利きそうだと思ったのですが、そういった方法はないのでしょうか。 調べてみたところ、setForegroundWindowコマンドを組み込めばできそうな気がするのですが、どうにもうまくいきません。 質問の内容は上述のサイトのコードのどこにどのようなコードを組み込めばウィンドウを最前面に表示することができるのか・・・と言う点です。 いずれ時間を作って1から勉強したいと思いますが、まずは上記手順をよろしくお願いいたします。 制作環境はWin7で、諸事情によりIEはバージョン8でアップデートを止めています。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- kteds
- ベストアンサー率42% (1882/4440)
回答No.1
set ie = CreateObject("InternetExplorer.Application") で定義してある ie オブジェクトを引数にして SetForegroundWindow (ie.hWnd) を実行すれば最前面に表示できます。
補足
実はそれは試したのですが、挿入場所がよくわからず。 当然、 set ie = CreateObject("InternetExplorer.Application") を宣言する前だと変数が宣言されていないエラーになるのですが、直後に入れても型が一致しないエラー。 そもそも、VBスクリプトってvaliant型しかないのでは?おそらく、私が何か勘違いしているのでしょうけど。 試しに途中のボタン押下待機中のループ部分に入れてみるとエラーは出ませんが、ウィンドウも最前面に表示はされません。 MS社のSetForegroundWindowの仕様書(?)のようなページも読んだのですが、ようやく最近VBマクロがいじれるレベルになった私には理解できず・・・。 提示いただいたコードはどの行に入れれば良いのでしょうか・・・?