怠日記

写真・金魚・昆虫・プログラミングの趣味を語るサイトです。似たようなことをnoteにも書いたり書いてなかったり。

VBScript - 外部プログラムを実行する | ShellExecute

外部プログラムを実行するには 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
    引数

  • vDir
    ディレクトリ。
    未指定の場合は現在の作業ディレクトリが使われる。

  • vOperation
    実行するファイルに対して行う操作。
    未指定の場合は既定の操作が実行される。

    一般的に指定できる操作は次のとおり。

    • edit: エディタを起動し、編集用にファイルを開く
    • find: 指定したディレクトリから検索する
    • open: アプリケーションを起動する。指定されたファイルが実行可能ファイルでない場合は、関連付けられているアプリケーションが起動される
    • print: ファイルを印刷する
    • properties: オブジェクトのプロパティを表示する
    • runas: 管理者権限でアプリケーションを起動する
  • vShow
    画面の表示方法。
    次の値を指定できる。
    未指定の場合はアプリケーションの既定値が使われる。

    • 0: 非表示
    • 1: 通常の画面を表示。最小化または最大化されている場合は、元のサイズと位置に復元される。
    • 2: 最小化
    • 3: 最大化
    • 4: 最新のサイズと位置で開く。アクティブな画面はアクティブなまま。
    • 5: 現在のサイズと位置で開く。
    • 7: 最小化。ただしアクティブな画面はアクティブなまま。
    • 10: 既定の状態で開く。