次の方法で共有


ShellFolderItem.InvokeVerbEx メソッド

シェル 項目で動詞を実行します。

構文

iRetVal = ShellFolderItem.InvokeVerbEx(
  [ vVerb ],
  [ vArgs ]
)

パラメーター

vVerb [in, optional]

Type: Variant

実行するコマンドに対応する動詞文字列を含む バリアント型 (Variant) の値を指定します。 アイテムの Name プロパティによって返される値のいずれかである必要があります。 動詞が指定されていない場合は、既定の動詞が実行されます。

vArgs [in, optional]

Type: Variant

vVerb で指定されたコマンドに対する 1 つ以上の引数を持つ文字列で構成されるバリアント型 (Variant) の値です。 この文字列の形式は、特定の動詞によって異なります。

解説

動詞は、項目がサポートする特定のアクションを指定するために使用される文字列です。 通常、動詞を呼び出すと、関連するアプリケーションが起動します。 たとえば、.txt ファイルで open 動詞を呼び出すと、通常はテキスト エディター (通常は Microsoft メモ帳) でファイルが開きます。 FolderItemVerbs オブジェクトは、アイテムに関連付けられている動詞のコレクションを表します。 動詞の詳細については、「 アプリケーションの起動」を参照してください。

このメソッドは InvokeVerb に似ていますが、コマンド自体だけでなく、コマンドの引数も指定できます。

次の例は、JScript、VBScript、Visual Basic でこのメソッドを適切に使用する方法を示しています。

Jscript:

<script language="JScript">
    function fnFolderItem2InvokeVerbExJ()
    {
        var objShell = new ActiveXObject("shell.application");
        var objFolder2;
        var ssfWINDOWS = 36;
        
        objFolder2 = objShell.NameSpace(ssfWINDOWS);
        if (objFolder2 != null)
        {
            var objFolderItem;
            
            objFolderItem = objFolder2.ParseName("NOTEPAD.EXE");
            if (objFolderItem != null)
            {
                objFolderItem.InvokeVerbEx("open", "c:\\autoexec.bat");
            }
        }
    }
</script>

Vbscript:

<script language="VBScript">
    function fnFolderItemInvokeVerbExVB()
        dim objShell
        
        set objShell = CreateObject("shell.application")
        if (not objShell is nothing) then
            dim objFolder2
            dim ssfWINDOWS
                
            ssfWINDOWS = 36
            set objFolder2 = objShell.NameSpace(ssfWINDOWS)
            if (not objFolder2 is nothing) then
                dim objFolderItem
                        
                set objFolderItem = objFolder2.Self
                if (not objFolderItem is nothing) then
                    objFolderItem.InvokeVerbEx()
                end if
                set objFolderItem = nothing
            end if
            set objFolder2 = nothing
        end if
        set objShell = nothing
    end function
 </script>

Visual Basic:

Private Sub fnFolderItem2InvokeVerbExVB()
    Dim objShell   As Shell
    Dim objFolder2 As Folder2
    Dim ssfWINDOWS As Long
    
    ssfWINDOWS = 36
    Set objShell = New Shell
    Set objFolder2 = objShell.NameSpace(ssfWINDOWS)
        If (Not objFolder2 Is Nothing) Then
            Dim objFolderItem2 As Object
            
            Set objFolderItem2 = objFolder2.ParseName("NOTEPAD.EXE")
                If (Not objFolderItem2 Is Nothing) Then
                    objFolderItem2.InvokeVerbEx ("open")
                Else
                    'FolderItem object returned nothing.
                End If
            Set objFolderItem2 = Nothing
        Else
            'Folder object returned nothing.
        End If
    Set objFolder2 = Nothing
    Set objShell = Nothing
End Sub

必要条件

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

関連項目

ShellFolderItem

InvokeVerb