Excel VBAのShell関数について
Excel VBAのShell関数は、新しいプロセスを開始し、そのプロセスのタスク ID を返す関数です。この関数を使用することで、VBAから外部のプログラムを起動することができます。
Shell関数の構文
Shell関数の基本的な構文は次のとおりです:
Shell(pathname, [windowstyle])
引数の詳細は以下の通りです:
- pathname: 必須のパラメータ。実行したいプログラムのパスを指定します。
- windowstyle: オプションのパラメータ。新しく開始されるウィンドウのスタイルを指定します。以下の値を指定することができます:
- 0: ウィンドウを非表示にします。
- 1: ウィンドウを通常のサイズで表示します。
- 2: ウィンドウを最小化して表示します。
- 3: ウィンドウを最大化して表示します。
- 6: ウィンドウを最小化して表示し、フォーカスを失います。
Shell関数の使用例
以下にShell関数の基本的な使用例を示します。
Sub ShellExample() Dim programPath As String programPath = "C:\Program Files\Internet Explorer\iexplore.exe" Dim taskID As Double taskID = Shell(programPath, 1) If taskID = 0 Then MsgBox "プログラムの起動に失敗しました。" Else MsgBox "プログラムが起動されました。タスクIDは " & taskID & " です。" End If End Sub
このサブルーチンを実行すると、Internet Explorerが起動します。また、プログラムの起動が成功したかどうかを判定し、その結果をメッセージボックスに表示します。プログラムの起動に成功した場合、そのプログラムのタスク IDも表示します。