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行目のようにしっかりとパスを通すようにしましょう。


購読

平日・毎朝更新中