VSTO アドインを使用してドキュメントにカスタム XML パーツを追加する
VSTO アドインでカスタム XML 部分を作成することにより、次のタイプのドキュメントに XML データを格納できます。
Microsoft Office Excel ブック。
Microsoft Office Word ドキュメント。
Microsoft Office PowerPoint プレゼンテーション。
詳細については、「カスタム XML パーツの概要」を参照してください。
対象: このトピックの情報は、Excel、PowerPoint、および Word のアプリケーション レベルのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
カスタム XML 部分を Excel ブックに追加するには
ブックの 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); }
Excel の VSTO アドイン プロジェクトの
ThisAddIn
クラスにAddCustomXmlPartToWorkbook
メソッドを追加します。プロジェクトの他のコードからメソッドを呼び出します。 たとえば、ユーザーがブックを開いたときにカスタム XML 部分を作成するには、 WorkbookOpen イベントのイベント ハンドラーからメソッドを呼び出します。
カスタム XML 部分を Word ドキュメントに追加するには
ドキュメントの 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); }
Word の VSTO アドイン プロジェクトの
ThisAddIn
クラスにAddCustomXmlPartToDocument
メソッドを追加します。プロジェクトの他のコードからメソッドを呼び出します。 たとえば、ユーザーがドキュメントを開いたときにカスタム XML 部分を作成するには、 DocumentOpen イベントのイベント ハンドラーからメソッドを呼び出します。
PowerPoint プレゼンテーションにカスタム XML 部分を追加するには
新しい 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); }
PowerPoint の VSTO アドイン プロジェクトの
ThisAddIn
クラスにAddCustomXmlPartToPresentation
メソッドを追加します。プロジェクトの他のコードからメソッドを呼び出します。 たとえば、ユーザーがプレゼンテーションを開いたときにカスタム XML 部分を作成するには、Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen イベントのイベント ハンドラーからメソッドを呼び出します。
信頼性の高いプログラミング
わかりやすくするために、この例では、メソッドでローカル変数として定義されている XML 文字列を使用しています。 通常は、ファイルやデータベースなどの外部ソースから XML を取得する必要があります。