教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでShell関数の使い方

構文

構文は以下の通りです。

Shell (ファイルパス, [スタイル])

解説

Shell関数は、外部プログラムやコマンドを実行するために使用します。ファイルパスには実行する外部プログラムのファイルパスやコマンドの文字列を指定し、スタイルにはプログラムのウィンドウの表示スタイルを指定します。

引数 指定 内容
ファイルパス 必須 実行する外部プログラムのファイルパスを指定します。文字列として指定します。以下に参考でアプリケーションのパスを幾つか紹介します。
スタイル 省略可 実行するウィンドウの表示スタイルを指定します。指定しない場合は、外部プログラムのデフォルトのスタイルで実行されます。設定値を以下で紹介します。

アプリケーションパスを幾つか紹介します。

アプリケーション パス
メモ帳 C:\Windows\System32\notepad.exe
電卓 C:\Windows\System32\calc.exe
エクスプローラ C:\Windows\explorer.exe
IE C:\Program Files\internet explorer\iexplore.exe
Word C:\Program Files (x86)\Microsoft Office\Office16\WINWORD.EXE
PowerPoint C:\Program Files (x86)\Microsoft Office\Office16\POWERPNT.EXE
Outlook C:\Program Files (x86)\Microsoft Office\Office16\OUTLOOK.EXE

スタイルには以下の設定値が指定できます。

内容
0 隠された状態で実行します。
1 通常のウィンドウで実行します。(デフォルト)
2 最小化された状態で実行します。
3 最大化された状態で実行します。

プログラミング例

具体的なプログラミング例を紹介します。

Sub 外部プログラムを実行()
    Dim プログラムパス As String
    プログラムパス = "C:\Windows\System32\notepad.exe"
    Shell プログラムパス, 1
End Sub

上記のプログラムは、メモ帳を起動します。 

まとめ

Shell関数は、外部プログラムやコマンドをExcel VBAから実行するための関数です。この方法を使えば、Excelから他のプログラムを簡単に操作できるようになります。