Note |
|---|
|
Some code examples in this topic use the this or Me keyword or the |
Microsoft Office Excel 2003 and Microsoft Office Word 2003 provide built-in properties that are stored with workbooks and documents. In addition, you can create and modify custom document properties if there is additional information you want to store with the document.
Use the CustomDocumentProperties property to work with custom properties. This property returns a DocumentProperties object, which is a collection of DocumentProperty objects. You can use the Item property of the collection to retrieve a particular property, either by name, or by index within the collection.
The following example demonstrates how to add a custom property in Excel and assign it a value.
Example
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; }
Robust Programming
Attempting to access the Value property for undefined properties raises an exception.
Note