IShellDispatch2.ShellExecute メソッド

指定したファイルに対して指定した操作を実行します。

構文

iRetVal = IShellDispatch2.ShellExecute(
  sFile,
  [ vArguments ],
  [ vDirectory ],
  [ vOperation ],
  [ vShow ]
)

IShellDispatch2.ShellExecute( _
  ByVal sFile As BSTR, _
  [ ByVal vArguments As Variant ], _
  [ ByVal vDirectory As Variant ], _
  [ ByVal vOperation As Variant ], _
  [ ByVal vShow As Variant ] _
) As Integer

パラメーター

sFile [in]

種類: BSTR

ShellExecutevOperation で指定されたアクションを実行するファイルの名前を含む String

vArguments [in, optional]

型: Variant

操作のパラメーター値を含む文字列。

vDirectory [in, optional]

型: Variant

sFile で指定されたファイルを含むディレクトリの完全修飾パス。 このパラメーターを指定しない場合は、現在の作業ディレクトリが使用されます。

vOperation [in, optional]

型: Variant

実行する操作。 この値は、 ファイルでサポートされている動詞文字列のいずれかに設定されます。 動詞の詳細については、「解説」セクションを参照してください。 このパラメーターを指定しない場合は、既定の操作が実行されます。

vShow [in, optional]

型: Variant

アプリケーション ウィンドウを最初に表示する方法に関する推奨事項。 アプリケーションはこの推奨事項を無視できます。 このパラメーターには、次の値のいずれかを指定できます。 このパラメーターを指定しない場合、アプリケーションはその既定値を使用します。

説明
0
非表示ウィンドウでアプリケーションを開きます。
1
通常のウィンドウでアプリケーションを開きます。 ウィンドウが最小化または最大化されている場合は、元のサイズと位置に復元されます。
2
最小化されたウィンドウでアプリケーションを開きます。
3
最大化されたウィンドウでアプリケーションを開きます。
4
ウィンドウが最新のサイズと位置でアプリケーションを開きます。 アクティブなウィンドウはアクティブなままです。
5
現在のサイズと位置にあるウィンドウでアプリケーションを開きます。
7
最小化されたウィンドウでアプリケーションを開きます。 アクティブなウィンドウはアクティブなままです。
10
アプリケーションで指定された既定の状態のウィンドウでアプリケーションを開きます。

 

解説

このメソッドは、 Shell.ShellExecute メソッドを使用して実装され、アクセスされます。

このメソッドは、ファイルのショートカット メニューに関連付けられているコマンドの 1 つを起動することと同じです。 各コマンドは動詞文字列で表されます。 サポートされる動詞のセットは、ファイルによって異なります。 最も一般的にサポートされている動詞は "オープン" で、通常は既定の動詞でもあります。 その他の動詞は、特定の種類のファイルでのみサポートされる場合があります。 シェル動詞の詳細については、「 アプリケーションの起動 」または 「ショートカット メニューの拡張」を参照してください。

現在、このメソッドは Microsoft Visual Basic では使用できません。

次の例は、 ShellExecute を使用してメモ帳を開く方法を示しています。 JScript と VBScript の使用法が表示されます。

Jscript:

<script language="JScript">
    function fnShellExecuteJ()
    {
        var objShell = new ActiveXObject("shell.application");
        
        objShell.ShellExecute("notepad.exe", "", "", "open", 1);
    }
</script>

Vbscript:

<script language="VBScript">
    function fnShellExecuteVB()
        dim objShell

        set objShell = CreateObject("shell.application")

        objShell.ShellExecute "notepad.exe", "", "", "open", 1

        set objShell = nothing
    end function
</script>

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
Header
Shldisp.h
IDL
Shldisp.idl
[DLL]
Shell32.dll (バージョン 5.0 以降)