Практическое руководство. Создание и изменение настраиваемых свойств документа
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
Microsoft Office Excel и Microsoft Office Word предоставляют встроенные свойства, которые хранятся в книгах и документах. Более того, можно создавать и изменять настраиваемые свойства документа при наличии дополнительных сведений, которые необходимо хранить вместе с документом в настройках уровня документа.
Для работы с настраиваемыми свойствами используется свойство CustomDocumentProperties. Это свойство возвращает объект DocumentProperties, который представляет собой коллекцию объектов DocumentProperty. Для извлечения определенного свойства по имени или по индексу в коллекции можно использовать свойство коллекции Item.
В следующем примере демонстрируется способ добавления настраиваемого свойства в Excel и присваивания ему значения:
Пример
Sub TestProperties()
Dim properties As Microsoft.Office.Core.DocumentProperties
properties = CType(Me.CustomDocumentProperties, Office.DocumentProperties)
If ReadDocumentProperty("Project Name") <> Nothing Then
properties("Project Name").Delete()
End If
properties.Add("Project Name", False, _
Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString, _
"White Papers")
End Sub
Private Function ReadDocumentProperty(ByVal propertyName As String) As String
Dim properties As Office.DocumentProperties
properties = CType(Me.CustomDocumentProperties, Office.DocumentProperties)
Dim prop As Office.DocumentProperty
For Each prop In properties
If prop.Name = propertyName Then
Return prop.Value.ToString()
End If
Next
Return Nothing
End Function
void TestProperties()
{
Microsoft.Office.Core.DocumentProperties properties;
properties = (Office.DocumentProperties)this.CustomDocumentProperties;
if (ReadDocumentProperty("Project Name") != null)
{
properties["Project Name"].Delete();
}
properties.Add("Project Name", false,
Microsoft.Office.Core.MsoDocProperties.msoPropertyTypeString,
"White Papers", missing);
}
private string ReadDocumentProperty(string propertyName)
{
Office.DocumentProperties properties;
properties = (Office.DocumentProperties)this.CustomDocumentProperties;
foreach (Office.DocumentProperty prop in properties)
{
if (prop.Name == propertyName)
{
return prop.Value.ToString();
}
}
return null;
}
Отказоустойчивость
Попытка обращения к свойству Value неопределенного свойства приводит к возникновению исключения.
См. также
Задачи
Практическое руководство. Чтение и запись в свойства документа