方法 : ドキュメント レベルのカスタマイズにカスタム 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 部分を追加するには
ブック内の 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); }
Excel 用のドキュメント レベルのプロジェクト内の ThisWorkbook クラスに AddCustomXmlPartToWorkbook メソッドを追加します。
このメソッドをプロジェクト内の他のコードから呼び出します。たとえば、ユーザーがブックを開いたときにカスタム XML 部分を作成するには、このメソッドを ThisWorkbook_Startup イベント ハンドラーから呼び出します。
Word 文書にカスタム XML 部分を追加するには
文書内の 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); }
Word 用のドキュメント レベルのプロジェクト内の ThisDocument クラスに AddCustomXmlPartToDocument メソッドを追加します。
このメソッドをプロジェクト内の他のコードから呼び出します。たとえば、ユーザーが文書を開いたときにカスタム XML 部分を作成するには、このメソッドを ThisDocument_Startup イベント ハンドラーから呼び出します。
信頼性の高いプログラミング
簡略化のために、この例ではメソッドにローカル変数として定義された XML 文字列を使用しています。通常は、ファイルやデータベースなどの外部ソースから XML 文字列を取得する必要があります。
参照
処理手順
方法 : アプリケーション レベルのアドインを使用してドキュメントにカスタム XML 部分を追加する