VBScriptで、メモ帳や電卓などのWindowsアプリケーションを起動する方法を解説します。
仕様
VBScriptでアプリケーションを起動する際は「WshShell.Run」を使用します。
書式
書式は以下になります。
WshShellオブジェクト.Run アプリケーションのパス, 表示形式, 同期可否
引数
各引数の説明です。
引数 | 項目 | 説明 | 省略 | 設定例 |
---|---|---|---|---|
引数1 | アプリケーションのパス | 起動するアプリケーションのパス、アプリ名を指定 | 不可 | notepad.exe |
引数2 | 表示形式 | 表示形式を以下の数値で指定 0:vbHide 1:vbNormalFocus(既定値) 2:vbMinimizedFocus 3:vbMaximizedFocus 4:vbNormalNoFocus 6:vbMinimizedNoFocus | 可能 | 3 |
引数3 | 同期可否 | 起動時に同期しつつ起動するかをbooleanで指定 True:同期 False:非同期(既定値) | 可能 | True |
戻り値
Runメソッドは、実行時に戻り値を返します。正常終了時は「0」を返します。
Runメソッドの戻り値の返し方には、若干癖があります。
下記で解説しているので、興味がある方はご覧ください。
リンク
ソースコード
サンプルのソースコードです。
サンプルを実行するとメモ帳」を起動がされます。
Option Explicit
' 名前付き引数の定義
Const vbHide = 0
Const vbNormalFocus = 1
Const vbMinimizedFocus = 2
Const vbMaximizedFocus = 3
Const vbNormalNoFocus = 4
Const vbMinimizedNoFocus = 6
' WshShellオブジェクトの作成
Dim objWshShell
Set objWshShell = CreateObject("WScript.Shell")
' アプリケーションの起動
objWshShell.Run "C:\Windows\system32\notepad.exe", vbNormalFocus, False
' WshShellオブジェクトの破棄
Set objWshShell = Nothing
サンプルは各行の処理内容はプログラム中に記述しているコメントの通りです。
応用として、アプリケーションの起動では、次のような記述が可能です。
環境変数を使用する
Windowsに登録されている環境変数を使用してアプリケーションを起動することが出来ます。
環境変数を使用する場合は以下のように記述します。
通常の記述 | C:\Windows\system32\notepad.exe |
環境変数を使用した記述 | %windir%\system32\notepad.exe |
環境変数については以下の記事を参考にして下さい。
パスを省略する
実行パスが通っている(環境変数が定義されている)パスは省略可能です。
通常の記述 | C:\Windows\system32\notepad.exe |
省略して記述 | notepad.exe |
引数を使用する
以下のように、引数を渡しつつ起動することも可能です。
以下のように実行することで、テキストファイルで指定したファイルがメモ帳で開かれます。
C:\Windows\system32\notepad.exe <テキストファイル>
パスに半角スペースが含まれる場合
パスに半角スペースが含まれる場合は、以下のようにダブルクォーテーションを追加して記述する必要があります。
以下は、GoogleChrome(C:\Program Files (x86)\Google\Chrome\Application\chrome.exe)を起動する例です。
"""C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"""
コメント