Excel VBAで他のプログラムを起動する:Shell
Excelの外部にあるアプリケーションやプログラムを実行したいときの有名な方法の1つに、Shell関数があります。
Shell関数の使い方
Shell([パス名],[ウィンドウ形式])
- [パス名]:実行するプログラムのフルパスを指定します。
- [ウィンドウ形式]:起動時のウィンドウ形式を指定します。省略可能で、省略した場合、最小化された状態で起動します。
| 名前 | 値 | 状態 |
| vbHide | 0 | フォーカスを持ち、非表示の状態 |
| vbNormalFocus | 1 | フォーカスを持ち、元のサイズと位置で復元された状態 |
| vbMinimizedFocus | 2 | フォーカスを持ち、最小化された状態 |
| vbMaximizedFocus | 3 | フォーカスを持ち、最大化された状態 |
| vbNormalNoFocus | 4 | フォーカスを持たず、最後にウィンドウを閉じたときのサイズと位置に復元された状態 |
| vbMinimizedNoFocus | 6 | フォーカスを持たず、最小化された状態 |
たとえば、メモ帳を開きたいときは以下のようになります。
Sub Shell_test()
Shell "C:\Windows\Notepad.exe"
Shell "Notepad.exe"
End Sub
Windowsの標準的な環境設定では、メモ帳はパスが通っているので2行目のようにファイル名だけで起動できますが、通っていないものは1行目のようにしっかりとパスを通すようにしましょう。