次の方法で共有


カスタム XML パーツの概要

一部の Microsoft Office アプリケーションのドキュメントに XML データを埋め込むことができます。 XML データをドキュメントに埋め込む場合、データには カスタム XML パーツという名前が付けられます。

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

適用対象: このトピックの情報は、Excel、PowerPoint、Word のドキュメント レベルのプロジェクトと VSTO アドイン プロジェクトに適用されます。 詳細については、「 Office アプリケーションとプロジェクトの種類で使用できる機能」を参照してください。

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

カスタム XML パーツについて

カスタム XML パーツは、Open XML 形式と共に 2007 Microsoft Office システムで導入されました。 これらの形式には、Excel、PowerPoint、Word の新しい XML ベースのファイル形式 ( .xlsx.pptx、.docxなど) が含 まれます 。 これらの形式のドキュメントは、ZIP アーカイブ内のフォルダーに編成された XML ファイル (名前付き XML パーツ) で構成されます。 XML パーツのほとんどは、ドキュメントの構造と状態を定義するのに役立つ組み込みパーツです。 ただし、ドキュメントには、任意の XML データをドキュメントに格納するために使用できるカスタム XML パーツを含めることもできます。

XML ファイル形式を使用すると、アプリケーションは古いバイナリ ファイル形式 (.xls、.ppt.docなど) では不可能な方法でドキュメントを操作できます 。 ZIP アーカイブを読み取ることができるアプリケーションは、Microsoft Office がインストールされていない場合でも、ドキュメントの内容を調べて変更できます。

Open XML およびカスタム XML パーツの構造の詳細については、次の記事を参照してください。

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

カスタム XML パーツを作成および変更する

Microsoft Office がインストールされていない場合でも、ドキュメントが 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 コンテンツへのアクセスを提供するように設計されています。 たとえば、Excel ブックにカスタム XML パーツを追加するには、AddNewPart オブジェクトの WorkbookPart メソッドを使用します。 詳細については、「 Open XML SDK」を参照してください。

カスタム XML パーツを Word コンテンツ コントロールにバインドする

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