外部のプログラムやコマンドをExcel VBAから実行するための方法の1つとして、WScript.ShellのRunメソッドがあります。この記事では、このメソッドの基本的な使い方と応用例を解説します。
WScript.ShellのRunメソッドとは?
WScript.Shellは、Windows Script Host (WSH) を利用するためのオブジェクトであり、Runメソッドを使用するとVBAから外部のプログラムを実行することができます。
基本的な使い方
WScript.ShellのRunメソッドを使った基本的なコード例
Notepadを起動するサンプルコードです。
Dim Wsh As Object
 Set Wsh = CreateObject("WScript.Shell")
 Wsh.Run "notepad.exe"
Runメソッドの引数
Runメソッドは、以下のような基本構文で引数を取ることができます。
Wsh.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
- strCommand:実行するコマンドやプログラムの名前
 - intWindowStyle:ウィンドウのスタイル(省略可能)
 - bWaitOnReturn:プログラムが終了するまでVBAの実行を待機するかどうか(省略可能)
 
応用例
VBAで特定のウェブサイトを既定のブラウザで開く方法
Dim Wsh As Object
 Set Wsh = CreateObject("WScript.Shell")
 Wsh.Run "http://www.google.com"
まとめ
Excel VBAで外部のプログラムやコマンドを実行するには、WScript.ShellのRunメソッドを使用するのが便利です。この機能を利用することで、VBAの機能をさらに拡張し、より多様なタスクを自動化することができます。