방법: 사용자 지정 문서 속성 만들기 및 수정
위에 나열된 Microsoft Office 응용 프로그램에서는 문서와 함께 저장되는 기본 속성을 제공합니다. 또한 문서와 함께 추가 정보를 저장하려는 경우에는 사용자 지정 문서 속성을 만들어 수정할 수 있습니다.
적용 대상: 이 항목의 정보는 Excel 2007 및 Excel 2010, PowerPoint 2007 및 PowerPoint 2010, Project 2007 및 Project 2010, Word 2007 및 Word 2010의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.
사용자 지정 속성을 사용할 문서의 CustomDocumentProperties 속성을 사용합니다. 예를 들어 Microsoft Office Excel용 문서 수준 프로젝트에서는 ThisWorkbook 클래스의 CustomDocumentProperties 속성을 사용합니다. Excel용 응용 프로그램 수준 프로젝트에서는 Microsoft.Office.Interop.Excel.Workbook 개체의 CustomDocumentProperties 속성을 사용합니다. 이러한 속성은 DocumentProperty 개체의 컬렉션인 DocumentProperties 개체를 반환합니다. 이 컬렉션의 Item 속성을 사용하면 이름이나 컬렉션 내에서의 인덱스로 특정 속성을 검색할 수 있습니다.
다음 예제에서는 Excel용 문서 수준 사용자 지정에서 사용자 지정 속성을 추가하고 이 속성에 값을 할당하는 방법을 보여 줍니다.
관련 비디오 데모를 보려면 How Do I: Access and Manipulate Custom Document Properties in Microsoft Word?를 참조하십시오.
예제
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 속성에 액세스하면 예외가 발생합니다.