HOWTO: Visual C# .NET에서 자동화를 사용하여 Office 문서 속성을 가져오고 설정하기

기술 자료 번역 기술 자료 번역
기술 자료: 303296 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR303296
모두 확대 | 모두 축소

요약

이 문서에서는 Word 문서의 속성을 조작하는 Visual C# .NET 자동화 클라이언트를 만드는 방법을 보여줍니다. 이 문서의 예제는 Word를 자동화하도록 작성된 것이지만 Excel과 PowerPoint에도 같은 기술을 적용할 수 있습니다.

추가 정보

Microsoft Word의 자동화 클라이언트 만들기

  1. Visual Studio .NET을 시작합니다. 파일 메뉴에서 새로 만들기를 누른 다음 프로젝트를 누릅니다. Visual C# 프로젝트 형식에서 Windows 응용 프로그램을 선택합니다. 기본적으로 Form1이 생성됩니다.
  2. Microsoft Word Object Library에 대한 참조를 추가합니다. 이렇게 하려면 다음 단계를 수행합니다.
    1. 프로젝트 메뉴에서 참조 추가를 누릅니다.
    2. COM 탭에서 Microsoft Word Object Library를 찾아 선택을 누릅니다.

      참고: Word 개체 라이브러리에는 버전 번호가 포함되어 있는데, Word 2000의 버전은 9.0이고 Word 2002의 버전은 10.0입니다.
    3. 참조 추가 대화 상자에서 확인을 눌러 선택 내용을 적용합니다. 선택한 라이브러리에 대해 래퍼를 만들 것인지 묻는 메시지가 나타나면 를 누릅니다.
  3. 보기 메뉴에서 도구 상자를 선택하여 도구 상자를 표시하고 Form1에 Button을 추가합니다.
  4. Button1을 두 번 누릅니다. 해당 폼에 대한 코드 창이 나타납니다.
  5. 코드 창에서 다음 코드를
    private void button1_Click(object sender, System.EventArgs e)
    {
    }
    아래의 코드로 대체합니다.
    private void button1_Click(object sender, System.EventArgs e)
    {
       Word.Application oWord;
       Word._Document oDoc;
       object oMissing = Missing.Value;
       object oDocBuiltInProps;
       object oDocCustomProps;
    			
       //Create an instance of Microsoft Word and make it visible.
       oWord = new Word.Application();
       oWord.Visible = true;
    
       //Create a new Document and get the BuiltInDocumentProperties collection.
       oDoc = oWord.Documents.Add(ref oMissing, ref oMissing, ref oMissing, 
                                  ref oMissing);
       oDocBuiltInProps = oDoc.BuiltInDocumentProperties;
       Type typeDocBuiltInProps = oDocBuiltInProps.GetType();
    
       //Get the Author property and display it.
       string strIndex = "Author";
       string strValue;
       object oDocAuthorProp = typeDocBuiltInProps.InvokeMember("Item", 
                                  BindingFlags.Default | 
                                  BindingFlags.GetProperty, 
                                  null,oDocBuiltInProps, 
                                  new object[] {strIndex} );
       Type typeDocAuthorProp = oDocAuthorProp.GetType();
       strValue = typeDocAuthorProp.InvokeMember("Value", 
                                  BindingFlags.Default |
                                  BindingFlags.GetProperty,
                                  null,oDocAuthorProp,
                                  new object[] {} ).ToString();
       MessageBox.Show( "The Author is: " + strValue,"Author" );
    
       //Set the Subject property.
       strIndex = "Subject";
       strValue = "The Subject";
       typeDocAuthorProp.InvokeMember("Item", 
                                  BindingFlags.Default | 
                                  BindingFlags.SetProperty, 
                                  null,oDocBuiltInProps, 
                                  new object[] {strIndex,strValue} );
    			
       //Add a property/value pair to the CustomDocumentProperties collection.
       oDocCustomProps = oDoc.CustomDocumentProperties;
       Type typeDocCustomProps = oDocCustomProps.GetType();
    
       strIndex = "Knowledge Base Article";
       strValue = "Q303296";
       object[] oArgs = {strIndex,false,
                         MsoDocProperties.msoPropertyTypeString,
                         strValue};
    
       typeDocCustomProps.InvokeMember("Add",BindingFlags.Default | 
                                  BindingFlags.InvokeMethod, null, 
                                  oDocCustomProps, oArgs );
    
       MessageBox.Show("Select \"Properties\" from the File menu "
            + "to view the changes.\nSelect the Summary tab to view "
            + "the Subject property and the Custom tab to view the Knowledge"   
            + "Base Article property.", "Check File Properties",
            MessageBoxButtons.OK,MessageBoxIcon.Information);
    }

  6. 아래의 코드로 대체합니다. 코드 창의 맨 위로 스크롤하여 using 지시문의 목록 끝에 다음 행을 추가합니다. Word 2000의 경우:
    using System.Reflection;
    using Office;  //Office 2000
    Word 2002의 경우:
    using System.Reflection;
    using Microsoft.Office.Core; //Office XP
  7. 아래의 코드로 대체합니다. F5 키를 눌러 응용 프로그램을 실행합니다.
참고: DocumentPropertiesDocumentProperty 인터페이스는 후기 바인딩(late bound) 인터페이스입니다. 이러한 인터페이스를 사용하려면 IDispatch 인터페이스를 처리하는 것처럼 처리해야 합니다.

참조

자세한 내용은 다음 Microsoft Developer Network 웹 사이트를 참조하십시오.
Visual Studio를 사용하여 Microsoft Office 개발하기
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx
자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
303294 HOWTO: Use Automation to Get and Set Office Document Properties with Visual Basic .NET

속성

기술 자료: 303296 - 마지막 검토: 2007년 1월 17일 수요일 - 수정: 3.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft Word 2000 Standard Edition
  • Microsoft Word 2002 Standard Edition
키워드:?
kbhowto kbautomation _ik11561 kbword kbexcel kbgrpdso KB303296

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com