다음을 통해 공유


VSTO 추가 기능을 사용하여 문서에 사용자 지정 XML 부분 추가

VSTO 추가 기능에서 사용자 지정 XML 부분을 만들어 다음과 같은 형식의 문서에 XML 데이터를 저장할 수 있습니다.

Excel 통합 문서에 사용자 지정 XML 부분을 추가하려면

  1. 통합 문서의 CustomXMLPart 컬렉션에 새 CustomXMLParts 개체를 추가합니다. CustomXMLPart 에는 통합 문서에 저장하려는 XML 문자열이 들어 있습니다.

    다음 코드 예제에서는 지정된 통합 문서에 사용자 지정 XML 부분을 추가합니다.

    private void AddCustomXmlPartToWorkbook(Excel.Workbook workbook)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"http://schemas.microsoft.com/vsto/samples\">" +
                "<employee>" +
                    "<name>Karina Leal</name>" +
                    "<hireDate>1999-04-01</hireDate>" +
                    "<title>Manager</title>" +
                "</employee>" +
            "</employees>";
    
        Office.CustomXMLPart employeeXMLPart = workbook.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. AddCustomXmlPartToWorkbook 메서드를 Excel용 VSTO 추가 기능 프로젝트의 ThisAddIn 클래스에 추가합니다.

  3. 프로젝트의 다른 코드에서 메서드를 호출합니다. 예를 들어 사용자가 통합 문서를 열 때 사용자 지정 XML 부분을 만들려면 WorkbookOpen 이벤트에 대한 이벤트 처리기에서 메서드를 호출합니다.

Word 문서에 사용자 지정 XML 부분을 추가하려면

  1. 문서의 CustomXMLPart 컬렉션에 새 CustomXMLParts 개체를 추가합니다. CustomXMLPart 에는 문서에 저장하려는 XML 문자열이 들어 있습니다.

    다음 코드 예제에서는 지정된 문서에 사용자 지정 XML 부분을 추가합니다.

    private void AddCustomXmlPartToActiveDocument(Word.Document document)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"http://schemas.microsoft.com/vsto/samples\">" +
                "<employee>" +
                    "<name>Karina Leal</name>" +
                    "<hireDate>1999-04-01</hireDate>" +
                    "<title>Manager</title>" +
                "</employee>" +
            "</employees>";
    
        Office.CustomXMLPart employeeXMLPart = document.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. AddCustomXmlPartToDocument 메서드를 Word용 VSTO 추가 기능 프로젝트의 ThisAddIn 클래스에 추가합니다.

  3. 프로젝트의 다른 코드에서 메서드를 호출합니다. 예를 들어 사용자가 문서를 열 때 사용자 지정 XML 부분을 만들려면 DocumentOpen 이벤트에 대한 이벤트 처리기에서 메서드를 호출합니다.

PowerPoint 프레젠테이션에 사용자 지정 XML 부분을 추가하려면

  1. CustomXMLPart 개체를 프레젠테이션의 Microsoft.Office.Interop.PowerPoint._Presentation.CustomXMLParts 컬렉션에 추가합니다. CustomXMLPart 에는 프레젠테이션에 저장하려는 XML 문자열이 들어 있습니다.

    다음 코드 예제에서는 지정된 프레젠테이션에 사용자 지정 XML 부분을 추가합니다.

    private void AddCustomXmlPartToPresentation(PowerPoint.Presentation presentation)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"http://schemas.microsoft.com/vsto/samples\">" +
                "<employee>" +
                    "<name>Karina Leal</name>" +
                    "<hireDate>1999-04-01</hireDate>" +
                    "<title>Manager</title>" +
                "</employee>" +
            "</employees>";
    
        Office.CustomXMLPart employeeXMLPart = 
            presentation.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. AddCustomXmlPartToPresentation 메서드를 PowerPoint용 VSTO 추가 기능 프로젝트의 ThisAddIn 클래스에 추가합니다.

  3. 프로젝트의 다른 코드에서 메서드를 호출합니다. 예를 들어 사용자가 프레젠테이션을 열 때 사용자 지정 XML 부분을 만들려면 Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen 이벤트에 대한 이벤트 처리기에서 메서드를 호출합니다.

강력한 프로그래밍

간단한 설명을 위해 이 예제에서는 메서드에서 지역 변수로 정의된 XML 문자열을 사용합니다. 일반적으로 파일 또는 데이터베이스와 같은 외부 원본에서 XML을 가져와야 합니다.