读取和写入文档属性

可以存储文档以及文档属性。 Office 应用程序提供了许多内置的属性,例如作者、标题和主题。 本主题演示如何在 Microsoft Office Excel 和 Microsoft Office Word 中设置文档属性。

适用于: 本主题中的信息适用于以下应用程序的文档级项目和 VSTO 外接程序项目: Excel;幻灯片;项目;词。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

在 Excel 中设置文档属性

要使用 Excel 中的内置属性,请使用以下属性:

  • 在文档级项目中,使用 BuiltinDocumentProperties 类的 ThisWorkbook 属性。

  • 在 VSTO 外接程序项目中,使用 BuiltinDocumentProperties 对象的 Workbook 属性。

    这些属性将返回 DocumentProperties 对象,该对象为 DocumentProperty 对象的集合。 可以使用集合的 Item 属性,按名称或索引检索该集合中的特定属性。

    下面的代码示例演示了如何更改文档级项目中的内置 Revision Number 属性。

若要更改在 Excel 中的修订号属性

  1. 将内置文档属性分配给变量。

    Microsoft.Office.Core.DocumentProperties properties;
    
    properties = (Microsoft.Office.Core.DocumentProperties)
        Globals.ThisWorkbook.BuiltinDocumentProperties; 
    
    Microsoft.Office.Core.DocumentProperty prop;
    prop = properties["Revision Number"];
    
  2. 以 1 递增 Revision Number 属性。

    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");
        }
    }
    

在 Word 中设置文档属性

若要使用 Word 中的内置属性,请使用以下属性:

  • 在文档级项目中,使用 BuiltInDocumentProperties 类的 ThisDocument 属性。

  • 在 VSTO 外接程序项目中,使用 BuiltInDocumentProperties 对象的 Document 属性。

    这些属性将返回 DocumentProperties 对象,该对象为 DocumentProperty 对象的集合。 可以使用集合的 Item 属性,按名称或索引检索该集合中的特定属性。

    下面的代码示例演示了如何更改文档级项目中的内置 Subject 属性。

若要更改主题属性

  1. 将内置文档属性分配给变量。

    Microsoft.Office.Core.DocumentProperties properties;
    
    properties = (Microsoft.Office.Core.DocumentProperties)
        Globals.ThisDocument.BuiltInDocumentProperties;
    
  2. Subject 属性更改为“白皮书”。

    // Set the Subject property. 
    properties["Subject"].Value = "Whitepaper";
    

可靠编程

这些示例假定已在 Excel 文档级项目的 ThisWorkbook 类中和 Word 文档级项目中的 ThisDocument 类中编写代码。

虽然你可以使用 Word 和 Excel 及其对象,但 Microsoft Office 仍然提供了可用的内置文档属性的列表。 尝试访问未定义的属性会引发异常。