【VBA】アプリを起動する方法(Shell関数)
今回はVBAからアプリを起動する方法を紹介します。
マクロの後に他のアプリへ転記などをするときは、マクロの最後でアプリを起動させてあげると手間が1つ減ります。
コードは簡単に書けるので、便利さアップに繋げてみてください。
VBAからアプリを起動する方法 (Shell関数)
Sub Sample1()
'メモ帳を起動
Shell "C:\WINDOWS\system32\notepad.exe"
End Sub
サンプルコードを実行するとメモ帳が起動します。
Shell関数はexeファイルを実行する関数で、引数にはファイルのフルパスを指定します。
起動したいアプリのフルパスを調べて引数に指定してみてください。
起動時のウィンドウの状態
Shell関数は起動時のウィンドウ状態(最大化して表示など)を指定することができます。
ウィンドウ状態はShell関数の第2引数で指定します。
Sub Sample2()
'メモ帳を起動
Shell "C:\WINDOWS\system32\notepad.exe", vbMaximizedFocus
End Sub
例えば、このコードを実行するとメモ帳が画面いっぱいに最大サイズで表示されます。
設定できるウィンドウ状態は下表の通りです。用途に合わせて選んでみてください。
定数 | 値 | 説明 |
---|---|---|
vbHide | 0 | ウィンドウは非表示で、フォーカスは非表示ウィンドウに渡されます。 vbHide 定数は Macintosh プラットフォームでは適用されません。 |
vbNormalFocus | 1 | ウィンドウがフォーカスを持ち、元のサイズと位置に復元されます。 |
vbMinimizedFocus | 2 | ウィンドウがフォーカスを持ってアイコンとして表示されます。 |
vbMaximizedFocus | 3 | ウィンドウがフォーカスを持って最大化されます。 |
vbNormalNoFocus | 4 | ウィンドウは、最新のサイズと位置に復元されます。 現在アクティブなウィンドウはアクティブのままです。 |
vbMinimizedNoFocus | 6 | ウィンドウはアイコンとして表示されます。 現在アクティブなウィンドウはアクティブのままです。 |