次の方法で共有


Open XML SDK for Office について

Open XML は、さまざまなプラットフォーム上の複数のアプリケーションで自由に実装できる、ワープロドキュメント、プレゼンテーション、スプレッドシートのオープンスタンダードです。 Open XML は、Microsoft Office アプリケーションによって定義されたバイナリ形式でエンコードされた既存のワープロドキュメント、プレゼンテーション、スプレッドシートを忠実に表すように設計されています。 Open XML の理由は単純です。何十億ものドキュメントが存在しますが、残念ながら、これらのドキュメント内の情報は、それらを作成したプログラムと緊密に結合されています。 Open XML 標準の目的は、Microsoft Office アプリケーションによって作成されたドキュメントを結合解除することで、独自の形式に関係なく、データを失うことなく他のアプリケーションによって操作できるようにすることです。

注:

複数のプラットフォーム間で Office エクスペリエンスを拡張するソリューションを開発することに関心がありますか? 新しい Office アドイン モデルを参照してください。 Office アドインは、VSTO アドインやソリューションに比べてフットプリントが小さく、HTML5、JavaScript、CSS3、XML などのほぼすべてのWeb プログラミング テクノロジーを使用して構築できます。

Open XML パッケージの構造

Open XML ファイルは、パッケージ化および圧縮され ZIP アーカイブに格納されます。 ZIP ビューアーを使用して、Open XML ファイルの構造を表示できます。 Open XML ドキュメントは、複数のドキュメント パーツで構築されています。 ドキュメント パーツ間のリレーションシップは、それぞれのパーツに格納されています。 ZIP 形式は、各パーツへのランダム アクセスをサポートしています。 たとえば、アプリケーションは、プレゼンテーション間で、スライドのコンテンツを解析することなくスライドを移動できます。 同様に、アプリケーションは、ワープロ ドキュメントのすべてのコメントを、そのコンテンツを解析することなく削除できます。

Open XML パッケージのドキュメント パーツは、XML マークアップとして作成されます。 XML は、構造化されたプレーンテキストなので、テキスト リーダーを使用してドキュメント パーツのコンテンツを表示したり、XPath などのプロセスを使用してコンテンツを解析したりできます。

構造的には、Open XML ドキュメントは Open Packaging Conventions (OPC) パッケージです。 前述のとおり、パッケージはドキュメント パーツの集合で構成されています。 各パーツには、セグメントのシーケンスまたは "/word/theme/theme1.xml" などのパス名で構成されるパーツ名があります。パッケージには[Content_Types].xml パーツが含まれています。これにより、パッケージ内のすべてのドキュメント パーツのコンテンツ タイプを決定できます。 ソース パッケージまたはパーツの明示的なリレーションシップのセットは、最後に .rels という拡張子が付くリレーションシップ パーツに含まれています。

Word処理ドキュメントは、WordprocessingML マークアップを使用して記述されます。 詳細については、「 WordprocessingML ドキュメントの操作」を参照してください。 WordprocessingML ドキュメントは、各ストーリーが次のいずれかであるストーリーのコレクションで構成されます。

  • メイン文書 (唯一の必須のストーリー)
  • グロッサリ文書
  • ヘッダーおよびフッター
  • コメント
  • テキスト ボックス
  • 脚注および文末脚注

プレゼンテーションは、PresentationML マークアップを使用して記述されます。 詳細については、「 PresentationML ドキュメントの操作」を参照してください。 プレゼンテーション パッケージには、次のドキュメント パーツを含めることができます。

  • スライド マスター
  • ノート マスター
  • 配布資料マスター
  • スライドのレイアウト
  • 備考

スプレッドシート ブックは、SpreadsheetML マークアップを使用して記述されます。 詳細については、「 SpreadsheetML ドキュメントの操作」を参照してください。 ブック パッケージには以下を含めることができます。

  • ブック パーツ (必須パーツ)
  • 1 つ以上のワークシート
  • グラフ
  • テーブル
  • カスタム XML

Microsoft Office 用の XML SDK を開く

SDK は、次の一般的なタスクまたはシナリオに対応しています。

  • 厳密に型指定されたクラスとオブジェクト 汎用 XML 機能を使用して XML を操作する代わりに、要素/属性/値のスペルと名前空間を認識する必要があります。Open XML SDK を使用すると、要素/属性/値を表すオブジェクトを操作するだけで同じソリューションを実現できます。 すべてのスキーマ型は、厳密に型指定された共通言語ランタイム (CLR) クラスとして表され、すべての属性値が列挙型として表されます。
  • コンテンツの構築、検索、操作 LINQ テクノロジは SDK に直接組み込まれています。 これによって、機能的なコンストラクトを実行できると共に、Open XML 要素を表すオブジェクトに対して直接ラムダ式クエリを実行できます。 さらに、表、段落など、オブジェクトのコレクションに対するサポートが提供されているので、SDK を使用すると、コンテンツのスキャンおよび操作が容易になります。
  • 検証 Open XML SDK for Microsoft Office には検証機能が用意されており、Open XML 形式のさまざまなバリエーションに対して Open XML ドキュメントを検証できます。

Open XML SDK for Office

Open XML SDK には、Microsoft Office をサポートする名前空間とメンバーが用意されています。 Open XML SDK では、ISO/IEC 29500 Strict Format ファイルを読み取ることもできます。 厳密型フォーマットは、レガシーの機能を含まない移行型 (Transitional) 形式のサブセットであり、技術的な実装範囲が小さくなるため、理論上は、新たに実装する場合のサポートが容易になります。

SDK は、次の一般的なタスクまたはシナリオに対応しています。

  • Office プレビュー ファイル形式のサポート Open XML SDK for Microsoft Office クラスに加えて、Open XML SDK には、新しい Office 機能の Open XML ファイル拡張子を操作するアプリケーションを記述およびビルドできる新しいクラスが用意されています。
  • ISO 厳密なドキュメント ファイルを読み取ります Open XML SDK では、ISO/IEC 29500 Strict Format ファイルを読み取ることができます。 Open XML SDK API で Strict Format ファイルが開かれると、ファイル内の各 Open XML パーツが Open XML SDK の OpenXmlPart クラスに読み込まれ、 https://purl.oclc.org/ooxml/ 名前空間が対応する https://schemas.openxmlformats.org/ 名前空間にマッピングされます。
  • Open XML SDK for Microsoft Office の修正 Open XML SDK には、Open XML SDK for Microsoft Office の既知の問題に対する修正が含まれています。 これには、PowerPoint プレゼンテーション内の空白が消失する問題や、指定された引数が有効な値の範囲外であると報告されていた Word 文書のカスタム UI に関する問題が含まれます。

Open XML SDK のこれらの新機能とその他の新機能の詳細については、「Open XML SDK for Office の新機能」を参照してください。