Shell関数 解説(Excel VBA)

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も表示します。