パソコン全般

VBSでIEをアクティブ化(最前面表示)する

このページはこんな方におすすめです

VBSで特定のウィンドウをアクティブ化する方法が知りたい

リストからURLを読み込みIEでアクセスしたらスクリーンショットを撮る、というスクリプトを作成していた時にハマったVBSでIE(Internet Explorer)の画面をアクティブ化(最前面表示)させる方法について解説します。

  • 既にIEは使われていないかと思いますがタイトルはそのまま「IE」にしています
  • 単にウィンドウをアクティブ化(最前面表示)させるだけの解説です

VBSでIE(Chrome,Firefox,Edge)をアクティブ化(最前面表示)する方法

VBSでIE(Chrome,Firefox,Edge)をアクティブ化(最前面表示)する流れ

  1. ブラウザのプロセスIDを取得する
  2. ブラウザのウィンドウを操作するためのObjectを作成する
  3. ブラウザのウィンドウをアクティブ化(最前面表示)する

それでは、順を追っていきます。

プロセスIDを取得する

プログラムが起動するとプロセスIDが割り当てられます。このプロセスIDを使って起動済みのプログラムを再起動させたり終了させる事ができます。

VBSでプロセスIDを取得するための関数は次のように書く事ができます。この関数に引数でプロセス名(chrome.exeだとかfirefox.exe)を渡すとプロセスIDが返ってきます。

プロセス名が分からない場合はタスクマネージャーで調べる事ができます。

プロセスIDを利用してIEをアクティブ化(最前面表示)する

先ほどの方法でブラウザのプロセスIDは取得できるので、あとはアクティブ化するだけです。

CreateObject(“Wscript.Shell”)でオブジェクトを作成して、AppActivate メソッドにプロセスIDを指定するだけでウィンドウがアクティブ化します。

VBSでIEをアクティブ化(最前面表示)するだけのコード

それでは、ただ単にブラウザをアクティブ化するVBSコードです。次のVBSを適当なファイル名(拡張子は.vbs)で保存してください。ファイルをダブルクリックすると、起動済みのブラウザをアクティブ化します。

ブラウザはもはやIEは古いので普及率が高いGoogle Chromeにしました。6行目の箇所がそれです。Firfoxであれば”firefox.exe”、Edgeであれば”MicrosoftEdgeCP.exe”に変えてください。

まとめ

単純にウィンドウをアクティブ化するだけのコードですが、色々なところで役に立つのではないかと思います。

注意点として、複数のウィンドウを立ち上げている場合は一番最後に起動したもののみアクティブ化します。

すべてのウィンドウをアクティブ化したい場合は、それぞれのプロセスIDを取得して順次アクティブ化する処理をおこなう必要があります。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)