ドキュメント プロパティの読み取りと書き込み

ドキュメント プロパティをドキュメントと共に保存できます。 Office アプリケーションには、作成者、タイトル、件名など、多数の組み込みプロパティが用意されています。 このトピックでは、Microsoft Office Excel および Microsoft Office Word でドキュメント プロパティを設定する方法について説明します。

適用対象: このトピックの情報は、Excel、PowerPoint、Project、Word のアプリケーションのドキュメント レベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Excel でドキュメント プロパティを設定する

Excel の組み込みプロパティを操作するには、次のプロパティを使用します。

  • ドキュメント レベルのプロジェクトでは、 BuiltinDocumentProperties クラスの ThisWorkbook プロパティを使用します。

  • VSTO アドイン プロジェクトでは、 BuiltinDocumentProperties オブジェクトの Workbook プロパティを使用します。

    これらのプロパティは、 DocumentProperties オブジェクトのコレクションである DocumentProperty オブジェクトを返します。 このコレクションの Item プロパティを使用すると、名前またはコレクション内のインデックスに基づいて特定のプロパティを取得できます。

    次のコード例は、ドキュメント レベルのプロジェクトで組み込みの Revision Number プロパティを変更する方法を示しています。

Excel の Revision Number プロパティを変更するには

  1. 組み込みのドキュメント プロパティを変数に代入します。

    Microsoft.Office.Core.DocumentProperties properties;
    
    properties = (Microsoft.Office.Core.DocumentProperties)
        Globals.ThisWorkbook.BuiltinDocumentProperties; 
    
    Microsoft.Office.Core.DocumentProperty prop;
    prop = properties["Revision Number"];
    
  2. Revision Number プロパティの値を 1 つインクリメントします。

    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 プロパティを変更する方法を示しています。

Subject プロパティを変更するには

  1. 組み込みのドキュメント プロパティを変数に代入します。

    Microsoft.Office.Core.DocumentProperties properties;
    
    properties = (Microsoft.Office.Core.DocumentProperties)
        Globals.ThisDocument.BuiltInDocumentProperties;
    
  2. Subject プロパティを「Whitepaper」に変更します。

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

信頼性の高いプログラミング

これらの例では、Excel の場合はドキュメント レベルのプロジェクトの ThisWorkbook クラス、Word の場合はドキュメント レベルのプロジェクトの ThisDocument クラスにそれぞれコードを記述していることを前提としています。

Word、Excel、およびそれらのオブジェクトを操作する場合でも、Microsoft Office では使用可能な組み込みドキュメント プロパティの一覧が提供されます。 未定義のプロパティにアクセスしようとすると、例外が発生します。