方法 : アプリケーション レベルのアドインを使用してドキュメントにカスタム XML 部分を追加する

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2007

  • PowerPoint 2007

  • Word 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

アプリケーション レベルのアドイン内にカスタム XML 部分を作成することにより、以下の種類のドキュメントに XML データを格納できます。

  • Microsoft Office Excel ブック

  • Microsoft Office Word 文書

  • Microsoft Office PowerPoint プレゼンテーション

詳細については、「カスタム XML 部分の概要」を参照してください。

Excel ブックにカスタム XML 部分を追加するには

  1. ブック内の Microsoft.Office.Core.CustomXMLParts コレクションに Microsoft.Office.Core.CustomXMLPart オブジェクトを追加します。Microsoft.Office.Core.CustomXMLPart には、ブックに格納する XML 文字列が含まれています。

    次のコード例では、特定のブックにカスタム XML 部分を追加します。

    Private Sub AddCustomXmlPartToWorkbook(ByVal workbook As Excel.Workbook)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees https://schemas.microsoft.com/vsto/samples"">" & _
                    "<employee>" & _
                        "<name>Karina Leal</name>" & _
                        "<hireDate>1999-04-01</hireDate>" & _
                        "<title>Manager</title>" & _
                    "</employee>" & _
                "</employees>"
    
        Dim employeeXMLPart As Office.CustomXMLPart = _
            workbook.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToWorkbook(Excel.Workbook workbook)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"https://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. Excel 2007 用のアプリケーション レベルのプロジェクト内の ThisAddIn クラスに AddCustomXmlPartToWorkbook メソッドを追加します。

  3. このメソッドをプロジェクト内の他のコードから呼び出します。たとえば、ユーザーがブックを開いたときにカスタム XML 部分を作成するには、このメソッドを Microsoft.Office.Interop.Excel.Application.WorkbookOpen イベントのイベント ハンドラから呼び出します。

Word 文書にカスタム XML 部分を追加するには

  1. 文書内の Microsoft.Office.Core.CustomXMLParts コレクションに Microsoft.Office.Core.CustomXMLPart オブジェクトを追加します。Microsoft.Office.Core.CustomXMLPart には、文書に格納する XML 文字列が含まれます。

    次のコード例では、特定の文書にカスタム XML 部分を追加します。

    Private Sub AddCustomXmlPartToActiveDocument(ByVal document As Word.Document)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees https://schemas.microsoft.com/vsto/samples"">" & _
                    "<employee>" & _
                        "<name>Karina Leal</name>" & _
                        "<hireDate>1999-04-01</hireDate>" & _
                        "<title>Manager</title>" & _
                    "</employee>" & _
                "</employees>"
    
        Dim employeeXMLPart As Office.CustomXMLPart = _
            document.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToActiveDocument(Word.Document document)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"https://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. Word 2007 用のアプリケーション レベルのプロジェクト内の ThisAddIn クラスに AddCustomXmlPartToDocument メソッドを追加します。

  3. このメソッドをプロジェクト内の他のコードから呼び出します。たとえば、ユーザーが文書を開いたときにカスタム XML 部分を作成するには、このメソッドを Microsoft.Office.Interop.Word.Application.DocumentOpen イベントのイベント ハンドラから呼び出します。

PowerPoint プレゼンテーションにカスタム XML 部分を追加するには

  1. プレゼンテーション内の Microsoft.Office.Core.CustomXMLParts コレクションに Microsoft.Office.Core.CustomXMLPart オブジェクトを追加します。Microsoft.Office.Core.CustomXMLPart には、プレゼンテーション内に格納する XML 文字列が含まれます。

    次のコード例では、特定のプレゼンテーションにカスタム XML 部分を追加します。

    Private Sub AddCustomXmlPartToPresentation(ByVal presentation As PowerPoint.Presentation)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees https://schemas.microsoft.com/vsto/samples"">" & _
                    "<employee>" & _
                        "<name>Karina Leal</name>" & _
                        "<hireDate>1999-04-01</hireDate>" & _
                        "<title>Manager</title>" & _
                    "</employee>" & _
                "</employees>"
        Dim employeeXMLPart As Office.CustomXMLPart = _
            presentation.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToPresentation(PowerPoint.Presentation presentation)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"https://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. PowerPoint 2007 用のアプリケーション レベルのプロジェクト内の ThisAddIn クラスに AddCustomXmlPartToPresentation メソッドを追加します。

  3. このメソッドをプロジェクト内の他のコードから呼び出します。たとえば、ユーザーがプレゼンテーションを開いたときにカスタム XML 部分を作成するには、このメソッドを Microsoft.Office.Interop.PowerPoint.Application.AfterPresentationOpen イベントのイベント ハンドラから呼び出します。

堅牢性の高いプログラム

簡略化のために、この例ではメソッドにローカル変数として定義された XML 文字列を使用しています。通常は、ファイルやデータベースなどの外部ソースから XML 文字列を取得する必要があります。

参照

処理手順

方法 : ドキュメント レベルのカスタマイズにカスタム XML 部分を追加する

方法 : Microsoft Office を起動せずにカスタム XML 部分を文書に追加する

概念

カスタム XML 部分の概要