次の方法で共有


Folder.GetDetailsOf メソッド

フォルダー内のアイテムに関する詳細を取得します。 たとえば、そのサイズ、型、最後の変更時刻などです。

構文

retVal = Folder.GetDetailsOf(
  vItem,
  iColumn
)

パラメーター

vItem

Type: Variant

情報を取得する対象の項目。 これは FolderItem オブジェクトである必要があります。

iColumn

型: 整数

取得する情報を指定する Integer 値。 アイテムに使用できる情報は、アイテムが表示されるフォルダーによって異なります。 この値は、シェル ビューに表示される 0 から始まる列番号に対応します。 ファイル システム内の項目の場合、次のいずれかの値を指定できます。

(0)

項目の名前を取得します。

(1)

項目のサイズを取得します。

(2)

項目の型を取得します。

(3)

アイテムが最後に変更された日時を取得します。

(4)

アイテムの属性を取得します。

(-1)

アイテムのヒント情報を取得します。

戻り値

種類: BSTR*

取得した詳細を含む文字列。

解説

Note

すべてのフォルダーに対してすべてのメソッドが実装されているわけではありません。 たとえば、ParseName メソッドは、コントロール パネル フォルダー (CSIDL_CONTROLS) には実装されません。 実装されていないメソッドを呼び出そうとすると、0x800A01BD (10 進数 445) エラーが発生します。

 

次の例では 、GetDetailsOf を使用して、Clock.avi という名前のファイルの型を取得します。 JScript、VBScript、Visual Basic では適切な使用方法が表示されます。

Jscript:

<script language="JScript">
    function fnGetDetailsOfJ()
    {
        var objShell = new ActiveXObject("shell.application");
        var objFolder = new Object;
        
        objFolder = objShell.NameSpace("C:\\WINDOWS");
        if (objFolder != null)
        {
            var objFolderItem = new Object;

            objFolderItem = objFolder.ParseName("clock.avi");
            if (objFolderItem != null)
            {
                var objInfo = new Object;

                objInfo = objFolder.GetDetailsOf(objFolderItem, 2);
            }
        }
    }
</script>

Vbscript:

<script language="VBScript">
    function fnGetDetailsOfVB()
        dim objShell
        dim objFolder
        
        set objShell = CreateObject("shell.application")
        set objFolder = objShell.NameSpace("C:\WINDOWS")

        if (not objFolder is nothing) then
            dim objFolderItem

            set objFolderItem = objFolder.ParseName("clock.avi")

            if (not objFolderItem Is Nothing) then
                dim objInfo
                        
                objInfo = objFolder.GetDetailsOf(objFolderItem, 2)
            end if
            
            set objFolderItem = nothing
        end if
        
        set objFolder = nothing
        set objShell = nothing
    end function
</script>

Visual Basic:

Private Sub btnGetDetailsOf_Click()
    Dim objShell  As Shell
    Dim objFolder As Folder

    Set objShell = New Shell
    Set objFolder = objShell.NameSpace("C:\WINDOWS")
    
    If (Not objFolder Is Nothing) Then
        Dim objFolderItem As FolderItem
        Set objFolderItem = objFolder.ParseName("clock.avi")
   
        If (Not objFolderItem Is Nothing) Then
            Dim szItem As String
            szItem = objFolder.GetDetailsOf(objFolderItem, 2)
        End If
        
        Set objFolderItem = Nothing
    End If
    
    Set objFolder = Nothing
    Set objShell = Nothing
End Sub

必要条件

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