カスタム XML 部分の概要
一部の Microsoft Office アプリケーションのドキュメントに XML データを埋め込むことができます。 ドキュメントに XML データを埋め込む場合、そのデータには「カスタム XML 部分」という名前が付きます。
Visual Studio で VSTO アドインまたはドキュメント レベルのソリューションを使用して、ドキュメントのカスタム XML 部分を作成または変更できます。 カスタム XML 部分を作成または変更するために Microsoft Office アプリケーションを開始する必要はありません。
対象: このトピックの情報は、Excel、PowerPoint、および Word のドキュメントレベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。
Note
Visual Studio では、ドキュメント レベルのカスタマイズ内のデータ オブジェクトをキャッシュすることもできます。 いくつかの類似点はありますが、この機能はカスタム XML 部分とは異なります。 詳細については、「ドキュメント レベルのカスタマイズのキャッシュ データ」を参照してください。
カスタム XML 部分について
カスタム XML 部分は、2007 Microsoft Office system で Open XML 形式とともに導入されました。 これらの形式には Excel、PowerPoint、および Word 用の新しい XML ベースのファイル形式 (.xlsx、.pptx、および .docx) が含まれます。 これらの形式のドキュメントは、ZIP アーカイブ内のフォルダーに編成される XML ファイル (「XML 部分」とも呼ばれます) で構成されます。 XML 部分のほとんどは、ドキュメントの構造と状態を定義するのに役立つ組み込みの部分です。 ただし、ドキュメントにはカスタム XML 部分を含めることができ、ユーザーはこれを使用して、ドキュメントに任意の XML データを格納できます。
XML ファイル形式により、アプリケーションは古いバイナリ ファイル形式 (.xls、.ppt、.doc) ではできない方法でドキュメントを操作できます。 ZIP アーカイブを読み取ることができるすべてのアプリケーションは、Microsoft Office がインストールされていない場合でも、ドキュメントの内容を検証し、変更できます。
Open XML およびカスタム XML 部分の構造の詳細については、次の記事をご覧ください。
Note
Excel、Word、および PowerPoint ではバイナリ ファイル形式で保存されているドキュメント内のカスタム XML 部分を使用することもできます。 ただし、バイナリ形式でドキュメントを保存する場合は、Microsoft Office アプリケーションを起動せずにカスタム XML 部分を追加または変更することはできません。
カスタム XML 部分の作成および変更
ドキュメントが Office アプリケーションで開いているとき、またはドキュメントが閉じているとき (Microsoft Office がインストールされていない場合でも)、カスタム XML 部分を作成または変更できます。
Office アプリケーションの実行中に XML 部分を変更する
ドキュメント レベルのカスタマイズまたは VSTO アドインを使用して、カスタム XML 部分を操作できます。 ドキュメント レベルのカスタマイズを使用している場合は、通常、カスタマイズされたドキュメント内にあるカスタム XML 部分を操作します。 VSTO アドインを使用している場合は、アプリケーションで開いているすべてのドキュメントのカスタム XML 部分を作成または変更できます。
Visual Studio を使用してカスタム XML 部分を作成するには、新しい CustomXMLPart をドキュメントの CustomXMLParts コレクションに追加します。 詳細については、次のトピックを参照してください。
Office アプリケーション起動せずに XML 部分を変更する
Excel、PowerPoint、または Word を起動しないでカスタム XML 部分を変更できます。 これは、Microsoft Office アプリケーションがインストールされていないサーバーなどのコンピューターで、ドキュメント内の XML データを使用する場合に便利です。
Microsoft Office を起動せずにカスタム XML 部分を追加するには Open XML SDK のクラスを使用します。 これらのクラスは、Office ドキュメントに固有の Open XML コンテンツにアクセスするために設計されています。 たとえば、カスタム XML 部分を Excel ブックに追加するには、WorkbookPart オブジェクトの AddNewPart メソッドを使用します。 詳細については、「Open XML SDK」を参照してください。
Word のコンテンツ コントロールへのカスタム XML 部分のバインド
Word ソリューションのコンテンツ コントロールをカスタム XML 部分の要素にバインドできます。 カスタム XML 部分にコンテンツ コントロールがバインドされると、カスタム XML 部分のデータがコンテンツ コントロールのユーザー インターフェイス (UI) に表示されます。 ユーザーがコントロール内のテキストを編集すると、対応する XML 要素が自動的に更新されます。 同様に、カスタム XML 部分の要素の値が変更されると、その XML 要素にバインドされているコンテンツ コントロールに新しいデータが表示されます。 詳細については、「コンテンツ コントロール」を参照してください。