方法 : カスタム ドキュメント プロパティを作成および変更する
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
Microsoft Office Excel および Microsoft Office Word では、ブックおよび文書に保存される組み込みのプロパティがあります。ドキュメント レベルのカスタマイズに含まれるドキュメントに保存する情報が他にもある場合は、カスタム ドキュメント プロパティを作成し、これを変更できます。
カスタム プロパティを使用するには、CustomDocumentProperties プロパティを使用します。このプロパティは、DocumentProperty オブジェクトのコレクションである DocumentProperties オブジェクトを返します。このコレクションの Item プロパティを使用すると、名前またはコレクション内のインデックスを利用して、特定のプロパティを取得できます。
Excel にカスタム プロパティを追加し、値を代入する例を以下に示します。
使用例
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;
}
堅牢性の高いプログラム
未定義のプロパティに関して Value プロパティへのアクセスを試みると、例外が発生します。
参照
処理手順
方法 : ドキュメント プロパティの読み込みと書き込みを行う