ドキュメント レベルのカスタマイズにカスタム XML パーツを追加する
ドキュメント レベルのカスタマイズにカスタム XML 部分を作成すると、Microsoft Office Excel ブックまたは Microsoft Office Word 文書に XML データを格納できます。 詳細については、「カスタム XML パーツの概要」を参照してください。
適用対象: このトピックの情報は、Excel および Word のドキュメント レベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
Note
Visual Studio では、Microsoft Office PowerPoint のドキュメント レベルのプロジェクトは提供していません。 VSTO アドインを使用してカスタム XML 部分を PowerPoint プレゼンテーションに追加する方法については、「方法: VSTO アドインを使用してドキュメントにカスタム XML 部分を追加する」を参照してください。
カスタム XML 部分を Excel ブックに追加するには
ブックの CustomXMLPart コレクションに、新しい CustomXMLParts オブジェクトを追加します。 CustomXMLPart にはブックに格納する XML 文字列が含まれています。
private void AddCustomXmlPartToWorkbook() { 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 = this.CustomXMLParts.Add(xmlString, missing); }
Excel のドキュメント レベルのプロジェクト内の
AddCustomXmlPartToWorkbook
クラスにThisWorkbook
メソッドを追加します。プロジェクトの他のコードからメソッドを呼び出します。 たとえば、ユーザーがブックを開いたときにカスタム XML 部分を作成するには、このメソッドを
ThisWorkbook_Startup
イベント ハンドラーから呼び出します。
カスタム XML 部分を Word ドキュメントに追加するには
ドキュメントの CustomXMLPart コレクションに、新しい CustomXMLParts オブジェクトを追加します。 CustomXMLPart にはドキュメントに格納する XML 文字列が含まれています。
private void AddCustomXmlPartToDocument() { 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 = this.CustomXMLParts.Add(xmlString, missing); }
Word のドキュメント レベルのプロジェクト内の
AddCustomXmlPartToDocument
クラスにThisDocument
メソッドを追加します。プロジェクトの他のコードからメソッドを呼び出します。 たとえば、ユーザーが文書を開いたときにカスタム XML 部分を作成するには、このメソッドを
ThisDocument_Startup
イベント ハンドラーから呼び出します。
信頼性の高いプログラミング
わかりやすくするために、この例では、メソッドでローカル変数として定義されている XML 文字列を使用しています。 通常は、ファイルやデータベースなどの外部ソースから XML を取得する必要があります。