次の方法で共有


VSTO アドインを使用してドキュメントにカスタム XML パーツを追加する

VSTO アドインでカスタム XML 部分を作成することにより、次のタイプのドキュメントに XML データを格納できます。

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

  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. Excel の VSTO アドイン プロジェクトの ThisAddIn クラスに AddCustomXmlPartToWorkbook メソッドを追加します。

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

カスタム XML 部分を Word ドキュメントに追加するには

  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. Word の VSTO アドイン プロジェクトの ThisAddIn クラスに AddCustomXmlPartToDocument メソッドを追加します。

  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. PowerPoint の VSTO アドイン プロジェクトの ThisAddIn クラスに AddCustomXmlPartToPresentation メソッドを追加します。

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

信頼性の高いプログラミング

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