Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Возвращает значение свойства из набора свойств элемента. Свойство можно указать либо по имени, либо по идентификатору формата (FMTID) набора свойств и идентификатору свойства (PID).
Синтаксис
retVal = ShellFolderItem.ExtendedProperty(
sPropName
)
Параметры
-
sPropName [in]
-
Тип: BSTR
Строковое значение, указывающее свойство . Подробные сведения см. в разделе "Заметки".
Возвращаемое значение
Тип: Variant*
При возврате этим методом содержит значение свойства , если оно существует для указанного элемента. Значение будет иметь полную типизацию— например, даты возвращаются в виде дат, а не строк.
Этот метод возвращает строку нулевой длины, если свойство допустимо, но не существует для указанного элемента, или код ошибки в противном случае.
Комментарии
Указать свойство можно двумя способами. Первый — назначить известное имя свойства, например "Автор" или "Дата", свойству sPropName. Однако каждое свойство является членом набора свойств COM, и его также можно определить, указав идентификатор формата (FMTID) и идентификатор свойства (PID). FMTID — это GUID, который идентифицирует набор свойств, а PID — это целое число, идентифицирующее определенное свойство в наборе свойств.
Указание свойства по его значениям FMTID/PID обычно эффективнее, чем использование его имени. Чтобы использовать значения FMTID/PID свойства с ExtendedProperty, их необходимо объединить в SCID. SCID — это строка, содержащая значения FMTID/PID в формате "FMTID**PID", где FMTID — это строковая форма GUID набора свойств. Например, SCID свойства автора набора свойств сводной информации имеет значение "{F29F85E0-4FF9-1068-AB91-08002B27B3D9} 4".
Список FMTID и PID, которые в настоящее время поддерживаются оболочкой, см. в разделе SHCOLUMNID.
Примеры
В этом примере кода показано, как использовать ExtendedProperty для получения свойств Title и Author из документа Word. Получив объект ShellFolderItem, связанный с файлом , fiWordDoc в этом примере, получите значение свойства, передав его имя в ExtendedProperty.
...
Doc_Title=fiWordDoc.ExtendedProperty("DocTitle")
Doc_Author=fiWordDoc.ExtendedProperty("Author")
...
Более быстрый и эффективный подход заключается в передаче SCID в 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)
...
В следующих примерах показано правильное использование этого метода для JScript, VBScript и 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
Требования
| Требование | Значение |
|---|---|
| Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
| Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
| Заголовок |
|
| IDL |
|
| DLL |
|