外部プログラムを実行するには ShellExecute を使う。
使用例
メモ帳を起動する
メモ帳(notepad.exe)を指定することで起動できる。
Dim shellApp Set shellApp = CreateObject("Shell.Application") shellApp.ShellExecute "notepad.exe", "", "", "", 1
指定したファイルをメモ帳で開く
引数に開きたいファイルのパスを指定すると、そのファイルを開いた状態でメモ帳が起動される。
shellApp.ShellExecute "notepad.exe", """C:\path\to\file.txt""", "", "", 1指定したファイルを関連付けられたアプリで開く
実行形式ファイルでないファイルを指定した場合、そのファイルに関連付けられたアプリが起動する。
shellApp.ShellExecute """C:\path\to\file.txt""", "", "", "", 1管理者権限でメモ帳を実行する
引数に「runas」を指定すると管理者権限で実行できる。
shellApp.ShellExecute "notepad.exe", "", "", "runas", 1構文
ShellExecute(sFile, [vArgs], [vDir], [vOperation], [vShow])sFile
実行するファイルvArgs
引数vOperation
実行するファイルに対して行う操作。
未指定の場合は既定の操作が実行される。一般的に指定できる操作は次のとおり。
- edit: エディタを起動し、編集用にファイルを開く
- find: 指定したディレクトリから検索する
- open: アプリケーションを起動する。指定されたファイルが実行可能ファイルでない場合は、関連付けられているアプリケーションが起動される
- print: ファイルを印刷する
- properties: オブジェクトのプロパティを表示する
- runas: 管理者権限でアプリケーションを起動する
vShow
画面の表示方法。
次の値を指定できる。
未指定の場合はアプリケーションの既定値が使われる。- 0: 非表示
- 1: 通常の画面を表示。最小化または最大化されている場合は、元のサイズと位置に復元される。
- 2: 最小化
- 3: 最大化
- 4: 最新のサイズと位置で開く。アクティブな画面はアクティブなまま。
- 5: 現在のサイズと位置で開く。
- 7: 最小化。ただしアクティブな画面はアクティブなまま。
- 10: 既定の状態で開く。