構文
構文は以下の通りです。
Shell(ファイルパス, [スタイル])
解説
Shell関数は、ExcelVBAから他の外部プログラムを実行します。
引数 | 指定 | 内容 |
ファイルパス | 必須 | 実行する外部プログラムのファイルパスを指定します。文字列として指定します。以下に参考でアプリケーションのパスを幾つか紹介します。 |
スタイル | 省略可 | 実行するウィンドウのスタイルを指定します。指定しない場合は、外部プログラムのデフォルトのスタイルで実行されます。設定値を以下で紹介します。 |
アプリケーションパスを幾つか紹介します。
アプリケーション | パス |
メモ帳 | 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 | 最大化された状態で実行します。 |
使い方
Shellの使い方を説明します。
1.外部プログラムの実行
Shell "C:\path\to\program.exe"
上記の例では、C:\path\to\program.exeというパスの外部プログラムが実行されます。
2.ウィンドウのスタイルの指定
Shell "C:\path\to\program.exe", 1
第2引数に数値を指定することで、実行するウィンドウのスタイルを変更できます。
3.外部プログラムに引数を渡す
Shell "C:\path\to\program.exe argument1 argument2"
上記の例では、program.exeにargument1とargument2という引数を渡して実行します。
プログラミング例
以下に、具体的なプログラミング例を示します。
Sub RunExternalProgram()
Dim programPath As String
Dim arguments As String
Dim windowStyle As Integer
' 外部プログラムのパス
programPath = "C:\path\to\program.exe"
' 引数
arguments = "argument1 argument2"
' ウィンドウスタイル
windowStyle = 1
' Shellを使って外部プログラムを実行します。
Shell programPath & " " & arguments, windowStyle
End Sub
Dim programPath As String
Dim arguments As String
Dim windowStyle As Integer
' 外部プログラムのパス
programPath = "C:\path\to\program.exe"
' 引数
arguments = "argument1 argument2"
' ウィンドウスタイル
windowStyle = 1
' Shellを使って外部プログラムを実行します。
Shell programPath & " " & arguments, windowStyle
End Sub
上記のコードでは、`programPath`に外部プログラムのパスを、`arguments`に引数を、`windowStyle`にウィンドウのスタイルを指定しています。Shellを使って外部プログラムを実行しています。
まとめ
Shell関数を使用することで、VBAから外部プログラムを簡単に実行することができます。是非活用してください。