次の方法で共有


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

ドキュメント レベルのカスタマイズにカスタム XML 部分を作成することで、Microsoft Office Excel ブックまたは Microsoft Office Word 文書に XML データを格納できます。詳細については、「カスタム XML 部分の概要」を参照してください。

対象: このトピックの情報は、Excel 2013 と Excel 2010、および Word 2013 と Word 2010 のドキュメント レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

[!メモ]

Visual Studio では、Microsoft Office PowerPoint のドキュメント レベルのプロジェクトは提供していません。アプリケーション レベルのアドインを使用した PowerPoint プレゼンテーションへのカスタム XML 部分の追加に関する詳細については、「方法 : アプリケーション レベルのアドインを使用してドキュメントにカスタム XML 部分を追加する」を参照してください。

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

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

    Private Sub AddCustomXmlPartToWorkbook()
        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 = Me.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToWorkbook()
    {
        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 = this.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. Excel 用のドキュメント レベルのプロジェクト内の ThisWorkbook クラスに AddCustomXmlPartToWorkbook メソッドを追加します。

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

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

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

    Private Sub AddCustomXmlPartToDocument()
        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 = _
            Me.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToDocument()
    {
        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 = this.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. Word 用のドキュメント レベルのプロジェクト内の ThisDocument クラスに AddCustomXmlPartToDocument メソッドを追加します。

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

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

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

参照

処理手順

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

概念

カスタム XML 部分の概要