カスタム XML 部分の概要

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

  • アプリケーション レベルのプロジェクト

Microsoft Office のバージョン

  • Excel 2007

  • PowerPoint 2007

  • Word 2007

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

2007 Microsoft Office system の一部のアプリケーションでは、ドキュメントに XML データを埋め込むことができます。XML データをドキュメントに埋め込んだ場合、そのデータはカスタム XML 部分と呼ばれます。

カスタム XML 部分をドキュメント内で作成したり変更したりするには、Visual Studio Tools for Office のアプリケーション レベルまたはドキュメント レベルのソリューションを使用します。カスタム XML 部分を作成および変更する場合、Microsoft Office アプリケーションを起動する必要はありません。

Bb608618.alert_note(ja-jp,VS.90).gifメモ :

Visual Studio Tools for Office では、ドキュメント レベルのカスタマイズにデータ オブジェクトをキャッシュすることもできます。この機能はカスタム XML 部分とは異なりますが、いくつか類似点があります。詳細については、「ドキュメント レベルのカスタマイズのデータ モデル」を参照してください。

カスタム XML 部分について

カスタム XML 部分は、Office オープン XML 形式と共に 2007 Microsoft Office system で導入されました。この形式には、Excel、PowerPoint、および Word の XML ベースのファイル形式 (.xlsx、.pptx、.docx など) が含まれます。これらの形式のドキュメントは、ZIP アーカイブのフォルダに収められた XML ファイル (XML 部分とも呼ばれます) で構成されます。XML 部分のほとんどは、ドキュメントの構造および状態の定義に役立つ組み込みパーツです。ただし、ドキュメントにはカスタム XML 部分も含めることができ、そこにドキュメント内の任意の XML データを格納できます。

XML ファイル形式によって、アプリケーションでは従来のバイナリ ファイル形式 (.xls、.ppt、.doc など) では使用できない方法でドキュメントを扱うことができます。ZIP アーカイブを読み取ることができるアプリケーションは、Microsoft Office がインストールされていない場合でも、ドキュメントの内容を確認および変更できます。

オープン XML 形式およびカスタム XML 部分の構造の詳細については、次のトピックを参照してください。

Bb608618.alert_note(ja-jp,VS.90).gifメモ :

Excel 2007、Word 2007、および PowerPoint 2007 では、バイナリ ファイル形式で保存されたドキュメント内のカスタム XML 部分も使用できます。ただし、ドキュメントがバイナリ ファイル形式で保存されている場合、Microsoft Office アプリケーションを起動せずにカスタム XML 部分を追加または変更することはできません。

カスタム XML 部分の作成と変更

カスタム XML 部分の作成または変更は、Office アプリケーションでドキュメントを開いているときだけでなく、ドキュメントが閉じているとき、さらには Microsoft Office がインストールされていない場合でも可能です。

Office アプリケーションを開いた状態での XML 部分の変更

カスタム XML 部分を扱うには、ドキュメント レベルのカスタマイズまたはアプリケーション レベルのアドインを使用します。ドキュメント レベルのカスタマイズを使用する場合は、通常、カスタマイズされたドキュメント内のカスタム XML 部分を操作します。アプリケーション レベルのアドインを使用する場合は、アプリケーションで開いているすべてのアプリケーションのカスタム XML 部分を作成または変更できます。

Visual Studio Tools for Office を使用してカスタム XML 部分を作成するには、ドキュメント内の Microsoft.Office.Core.CustomXMLParts コレクションに Microsoft.Office.Core.CustomXMLPart を追加します。これらのクラスは、2007 Microsoft Office system のプライマリ相互運用機能アセンブリに用意されています。詳細については、次のトピックを参照してください。

Office アプリケーションを開いていない状態での XML 部分の変更

Excel、PowerPoint、または Word を起動せずに、カスタム XML 部分を追加または変更することができます。これは、サーバーなど、Microsoft Office アプリケーションがインストールされていないコンピュータ上のドキュメント内の XML データを扱う場合に役立ちます。

Microsoft Office を起動せずにカスタム XML 部分を追加するには、System.IO.Packaging 名前空間に属するクラスを使用します。この名前空間のクラスによって、オープン XML で保存されたファイルの内容を読み取ったり変更したりすることができます。これらのクラスは、コンソール アプリケーション、Windows フォーム アプリケーション、Windows Presentation Foundation (WPF) アプリケーションなど、.NET Framework 3.0 以降を使用するすべてのアプリケーションで使用できます。詳細については、「方法 : Microsoft Office を起動せずにカスタム XML 部分を文書に追加する」を参照してください。

カスタム XML 部分の Word コンテンツ コントロールへのバインド

Word 2007 ソリューション内のコンテンツ コントロールをカスタム XML 部分の要素にバインドできます。コンテンツ コントロールをカスタム XML 部分にバインドすると、カスタム XML 部分のデータがそのコンテンツ コントロールのユーザー インターフェイス (UI) に表示されます。ユーザーがコンテンツ コントロール内のテキストを編集すると、対応する XML 要素が自動的に更新されます。同様に、カスタム XML 部分の要素値を変更すると、その XML 要素にバインドされたコンテンツ コントロールに新しいデータが表示されます。詳細については、「コンテンツ コントロール」を参照してください。

参照

処理手順

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

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

方法 : Microsoft Office を起動せずにカスタム XML 部分を文書に追加する

チュートリアル : カスタム XML 部分へのコンテンツ コントロールのバインド

概念

XML スキーマとデータ (Visual Studio Tools for Office)

コンテンツ コントロール