How to: Read from and Write to Document Properties

 

You can store document properties along with a document. Office applications provide a number of built-in properties, such as author, title, and subject. This topic shows how to set document properties in Microsoft Office Excel and Microsoft Office Word.

link to video For a related video demonstration, see How Do I: Access and Manipulate Custom Document Properties in Microsoft Word?.

Applies to: The information in this topic applies to document-level projects and VSTO add-in projects for the following applications: Excel; PowerPoint; Project; Word. For more information, see Features Available by Office Application and Project Type.

To work with built-in properties in Excel, use the following properties:

These properties return a T:Microsoft.Office.Core.DocumentProperties object, which is a collection of T:Microsoft.Office.Core.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 code example shows how to change the built-in Revision Number property in a document-level project.

To change the Revision Number property in Excel

  1. Assign the built-in document properties to a variable.

            Dim properties As Microsoft.Office.Core.DocumentProperties
    
            properties = DirectCast(Globals.ThisWorkbook.BuiltinDocumentProperties, _
                Microsoft.Office.Core.DocumentProperties)
    
            Dim prop As Microsoft.Office.Core.DocumentProperty
            prop = properties.Item("Revision Number")
    

  2. Increment the Revision Number property by one.

            If prop.Value Is Nothing Then
                prop.Value = 1
            Else
                Dim revision As Integer
                If Integer.TryParse(prop.Value.ToString(), revision) Then
                    prop.Value = revision + 1
                    MessageBox.Show("Revision Number = " & revision)
                Else
                    MessageBox.Show("Revision Number = invalid value")
                End If
            End If
    

To work with built-in properties in Word, use the following properties:

These properties return a T:Microsoft.Office.Core.DocumentProperties object, which is a collection of T:Microsoft.Office.Core.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 code example shows how to change the built-in Subject property in a document-level project.

To change the Subject property

  1. Assign the built-in document properties to a variable.

            Dim properties As Microsoft.Office.Core.DocumentProperties
    
            properties = DirectCast(Globals.ThisDocument.BuiltInDocumentProperties, _
                Microsoft.Office.Core.DocumentProperties)
    

  2. Change the Subject property to "Whitepaper".

            ' Set the Subject property.
            properties.Item("Subject").Value = "Whitepaper"
    

The examples assume that you have written the code in the ThisWorkbook class in a document-level project for Excel, and the ThisDocument class in a document-level project for Word.

Although you are working with Word and Excel and their objects, Microsoft Office supplies the list of available built-in document properties. Attempting to access an undefined property raises an exception.

Programming VSTO Add-Ins
Programming Document-Level Customizations
How to: Create and Modify Custom Document Properties

Show: