Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendapatkan nilai properti dari kumpulan properti item. Properti dapat ditentukan baik berdasarkan nama atau dengan pengidentifikasi format set properti (FMTID) dan pengidentifikasi properti (PID).
Sintaks
retVal = ShellFolderItem.ExtendedProperty(
sPropName
)
Parameter
-
sPropName [in]
-
Jenis: BSTR
Nilai String yang menentukan properti . Lihat bagian Keterangan untuk detailnya.
Menampilkan nilai
Jenis: Varian*
Ketika metode ini kembali, berisi nilai properti , jika ada untuk item yang ditentukan. Nilai akan memiliki pengetikan penuh—misalnya, tanggal dikembalikan sebagai tanggal, bukan string.
Metode ini mengembalikan string panjang nol jika properti valid tetapi tidak ada untuk item yang ditentukan, atau kode kesalahan sebaliknya.
Keterangan
Ada dua cara untuk menentukan properti. Yang pertama adalah menetapkan nama properti yang terkenal, seperti "Penulis" atau "Tanggal", ke sPropName. Namun, setiap properti adalah anggota kumpulan properti Model Objek Komponen (COM) dan juga dapat diidentifikasi dengan menentukan ID format (FMTID) dan ID properti (PID). FMTID adalah GUID yang mengidentifikasi kumpulan properti, dan PID adalah bilangan bulat yang mengidentifikasi properti tertentu dalam kumpulan properti.
Menentukan properti dengan nilai FMTID/PID-nya biasanya lebih efisien daripada menggunakan namanya. Untuk menggunakan nilai FMTID/PID properti dengan ExtendedProperty, nilai tersebut harus digabungkan ke dalam SCID. SCID adalah string yang berisi nilai FMTID/PID dalam bentuk "FMTID**PID", di mana FMTID adalah bentuk string dari GUID set properti. Misalnya, SCID dari properti penulis kumpulan properti informasi ringkasan adalah "{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 4".
Untuk daftar FMTID dan PID yang saat ini didukung oleh Shell, lihat SHCOLUMNID.
Contoh
Kode sampel ini menggambarkan cara menggunakan ExtendedProperty untuk mengambil properti "Judul" dan "Penulis" dari dokumen Word. Setelah Anda memiliki objek ShellFolderItem yang terkait dengan file, fiWordDoc dalam contoh ini, ambil nilai properti dengan meneruskan namanya ke ExtendedProperty.
...
Doc_Title=fiWordDoc.ExtendedProperty("DocTitle")
Doc_Author=fiWordDoc.ExtendedProperty("Author")
...
Pendekatan yang lebih cepat dan lebih efisien adalah meneruskan SCID ke ExtendedProperty.
...
FMTID_SummaryInfo="{F29F85E0-4FF9-1068-AB91-08002B27B3D9}"
PID_TITLE="2"
PID_AUTHOR="4"
SCID_TITLE=FMTID_SummaryInfo+" "+PID_TITLE
SCID_AUTHOR=FMTID_SummaryInfo+" "+PID_AUTHOR
Doc_Title=fiWordDoc.ExtendedProperty(SCID_TITLE)
Doc_Author=fiWordDoc.ExtendedProperty(SCID_AUTHOR)
...
Contoh berikut menunjukkan penggunaan metode ini yang tepat untuk JScript, VBScript, dan Visual Basic.
Jscript:
<script language="JScript">
function fnFolderItem2ExtendedPropertyJ()
{
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)
{
var szReturn = "";
szReturn = objFolderItem.ExtendedProperty("infotip");
alert(szReturn);
}
}
}
</script>
Vbscript:
<script language="VBScript">
function fnFolderItemExtendedPropertyVB()
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
dim szReturn
szReturn = objFolderItem.ExtendedProperty("type")
alert(szReturn)
end if
set objFolderItem = nothing
end if
set objFolder2 = nothing
end if
set objShell = nothing
end function
</script>
Visual Basic:
Private Sub fnFolderItem2ExtendedPropertyVB()
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
Dim szReturn As String
szReturn = objFolderItem2.ExtendedProperty("size")
Debug.Print szReturn
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
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
| Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Header |
|
| IDL |
|
| DLL |
|