How to: Read from and Write to Document Properties

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.

                Microsoft.Office.Core.DocumentProperties properties;
    
                properties = (Microsoft.Office.Core.DocumentProperties)
                    Globals.ThisWorkbook.BuiltinDocumentProperties; 
    
                Microsoft.Office.Core.DocumentProperty prop;
                prop = properties["Revision Number"]; 
    

  2. Increment the Revision Number property by one.

                if (prop.Value == null)
                {
                    prop.Value = 1;
                }
                else
                {
                    int revision;
                    if (int.TryParse((string)prop.Value, out revision))
                    {
                        prop.Value = revision + 1;
                        MessageBox.Show("Revision Number = " + revision);
                    }
                    else
                    {
                        MessageBox.Show("Revision Number = invalid value");
                    }
                }
    

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.

                Microsoft.Office.Core.DocumentProperties properties;
    
                properties = (Microsoft.Office.Core.DocumentProperties)
                    Globals.ThisDocument.BuiltInDocumentProperties; 
    

  2. Change the Subject property to "Whitepaper".

                // Set the Subject property. 
                properties["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:
© 2016 Microsoft