<開発者向け> Word 2007 の新機能

  

Erika Ehrli
Microsoft Corporation

May 2006

適用対象:
   2007 Microsoft Office system
   Microsoft Office Word 2007

要約: この記事では、Microsoft Office Word 2007 Beta 2 の持つ、開発者向けの新機能の概要を説明します。この記事では、コンテンツ コントロール、XML マッピング、文書構成部品、Word XML 形式などの新機能について確認します。

目次

はじめに
コンテンツ コントロール
XML マッピング
文書構成部品
Word 2007 XML 形式
その他の新機能
結論
その他の参考資料

はじめに

Microsoft Office Word 2007 には、さまざまな新機能が導入されます。これらの新機能により、Word は最先端の最も魅力的なバージョンとなります。この記事では、開発者の視点から、Office Word 2007 の新機能について概要を説明します。

新機能の中には、Microsoft Office 2007 システムのコア アプリケーションすべてに共通するものもありますし、Word のみが備えているものもあります。Word 2007、Microsoft Office PowerPoint 2007、および Microsoft Office Excel 2007 に共通する拡張機能には、"リボン" と呼ばれる新しいユーザー インターフェイス (UI)、新しい Microsoft Office Open XML 形式 (Office XML 形式)、およびカスタム XML データをファイルに簡単に添付する機能があります。リボンにより、コマンド間を簡単に移動したり、必要なコマンドをすぐに見つけたりすることが可能になります。新しい Office XML 形式、およびドキュメントにカスタム XML データを添付する機能により、Word および Office での XML サポートがさらに強化されます。Microsoft Office Word 2003 は、WordprocessingML を使って、XML の仕様を忠実にサポートする XML ファイル形式を導入した最初の Office アプリケーションでした。これにより、ユーザーはカスタム XML データを使用できるようになりました。Word 2003 での XML サポートをさらに拡張して、Office Word 2007 の XML 機能は格段に進化しています。新しい既定のファイル形式は、ほとんどすべて XML で記述されます。

最も注目すべき Word 2007 の新機能は XML を中心としています。テンプレート作成者は、これらの機能を組み合わせて、より信頼性が高く、安定した、機能豊富なテンプレートを作成できるようになります。

コンテンツ コントロール   Word 2007 の新機能であるコンテンツ コントロールは、あらかじめ定義されたコンテンツのブロックで、ドキュメントのどこにでも配置できます。コンテンツ コントロールの種類には、テキスト ボックス、ドロップダウン メニュー、カレンダー、画像などがあります。コンテンツ コントロールの大半は、ドキュメントに添付された XML データの要素にマップできます。この XML データは簡単に、Word 2007 XML 形式を使ってマップできます。このコンテンツ マップ機能により、Word 2003 で XML を扱う際に問題となった脆弱性の一部が解決され、さらに堅牢なドキュメントが作成できるようになります。

XML マッピング   これは Office Word 2007 の機能の 1 つで、ドキュメントと XML ファイルの間にリンクを作成できるようにするものです。これにより、ドキュメントの書式設定とカスタム XML データの間で、データとビューが完全に分離されます。

文書構成部品   表紙、ヘッダー、フッター、契約書の特定の条項など、あらかじめ定義されているコンテンツの構成要素です。文書構成部品により、プロ級の Word ドキュメントをすばやく簡単に作成できるようになります。

Word XML 形式   Microsoft Office Word XML 形式 (Word XML 形式) は、Open Packaging Conventions に基づいています。その主たる目的は、ファイル全体のコンテンツの一部を定義する "文書パーツ" にファイルを分割することにあります。これにより、ヘッダーやフッターなどファイルの特定の部分だけを、その他の XML 文書パーツを誤って変更してしまうことなく編集できるようになります。同様に、カスタム XML データはすべて、専用のパーツに含まれるようになるので、カスタム XML での作業がより簡単になります。

Word 2007 にはその他にも、文献目録、引用文献、数式などの作成機能が追加されています。新しい数式作成機能により、複雑な数式でも、専門家も納得するような書式で入力できるようになります。

この記事では、Word 2007 が提供する開発のチャンスをご理解いただけるように、これらの機能の概要を説明します。

コンテンツ コントロール

Word 2003 には、ドキュメントに XML スキーマを添付する機能が導入されました。スキーマに準拠していることを前提として、XML ファイルの要素を追加できました。これにより、堅牢なドキュメント構造が作成され、データに簡単にアクセスできるようになりました。しかし、これには制限がありました。最も重大な制限は、プレゼンテーションとカスタム XML データはドキュメントの編集機能を通じてリンクされていたということです。このため、エンド ユーザーがドキュメントの定義に使用されている XML 構造の一部を誤って削除してしまうと、スキーマに従ったドキュメントの XML 構造が無効になってしまいました。Word 2007 は、コンテンツ コントロールを追加することによりこの問題に対処しています。

Word 2007 には、構造化された文書作成、データ キャプチャ/抽出、ドキュメント構築など、Word をドキュメント ベースのソリューションにおける信頼性の高いプラットフォームとするために設計された新しい機能が導入されます。新しく導入された主な機能の 1 つにコンテンツ コントロールがあります。これにより、テンプレート作成者は、セマンティクス、コンテンツ制限、および基本動作を使用して、Word 2007 ドキュメントの構成要素をより簡単に構築できるようになります。

コンテンツ コントロールは、あらかじめ定義されたコンテンツの構成要素です。コンテンツ コントロールには、テキスト ブロック、ドロップダウン メニュー、コンボ ボックス、カレンダー コントロール、画像など、さまざまな種類があります。これらのコンテンツ コントロールは、XML ファイルの要素にマップできます。XML Path Language (XPath) を使用し、コンテンツ コントロールに対して、XML ファイルのコンテンツを、プログラムを使ってマップすることができます。これにより、短く簡単なアプリケーションを作成して、ドキュメント内のデータを操作したり、変更したりできるようになります。

次の図は、テキスト形式のコンテンツ コントロールを表しています。

Word 2007 のコンテンツ コントロール

図 1. Word 2007 のコンテンツ コントロール

ユーザーによる編集や削除を防止するために、コンテンツ コントロールをロックすることができます。これはテンプレートの作成において大きく改良されたポイントです。

以前のバージョンの Word では、ドキュメントでコンテンツの構成要素をロックするのは難しいことでした。Word 2007 では、コンテンツ コントロールはこのプロセスを単純化し、UI やプログラムを通じて、コンテンツをロックできるようになります。

XML マッピング

XML マッピングを使用して、XML ファイルのデータをドキュメント テンプレートのさまざまな部分に挿入できます。オブジェクト モデルを使用すると、構造化されたカスタム データ (任意の数の XML ファイルに格納されているもの) をドキュメントに追加し、特定のコンテンツ コントロールにデータをマップできます。Word 2007 の XML 形式では、プログラムを使用してこのデータにアクセスすることはこれまでになく簡単です。

XML マッピングにより、さまざまなシナリオで、ContentControl オブジェクトのイベントを使用して、ドキュメントの背後にあるデータを自動的に更新できます。たとえば、株価データが添付されたドキュメントを使うシナリオもその 1 つです。この場合、XML 形式の株価情報がプログラムによって更新され、日々の株価の変動が反映されます。ユーザーは何もする必要がありません。Document オブジェクトの Open イベントなど、各種イベントを使用して、ドキュメントである操作を実行することをトリガできます。このシナリオでは、ユーザーがドキュメントを開いたときに、アドインにより、更新された株価が取得され、ドキュメントの XML データ ストアに格納されます。XPath を使用して、これらの株価が格納されている要素を、ドキュメントのコンテンツ コントロールにマップできます。

テンプレート作成者として、株価データを格納するためのテーブルを作成したとしましょう。次に、このテーブルのセル 1 つにつき 1 つずつ、株価情報を表示するためのテキスト コントロールを挿入します。各コントロールは、該当する CustomXMLPart オブジェクトの該当する要素に、プログラムによってマップされます。ここで、CustomXMLPart オブジェクトをデータ ストアと考えることができます。新しい Word XML 形式では、既定で datastore というディレクトリに CustomXMLPart オブジェクトが格納されます。

次の図は、株価データを格納するためのコンテンツ コントロール オブジェクトを示しています。

株価データを格納するためのコンテンツ コントロール

図 2. 株価データを格納するためのコンテンツ コントロール

テンプレート作成者は通常、テンプレートのユーザーがこの株価テーブルを変更したり、削除したりすることを望みません。前述のとおり、テーブル内のコントロールをロックして、コントロール自体の編集や削除を防止することは簡単です。このロックは、ユーザーがコントロール内のテキストを更新できるかどうかには影響しません。ロックの有無に関係なく、ユーザーは、コンテンツ コントロールで定義されたとおりテキストを更新できます。

CustomXMLPart オブジェクトは、Office オブジェクト モデルの 2007 リリースの一部で、Excel 2007 や PowerPoint 2007 でも使用できます。2007 Office リリースに含まれるこれらのアプリケーションはすべて、ドキュメントの書式設定やレイアウトから XML データが分離されたことによるメリットを享受します。Office XML 形式では、カスタム XML データは文書パーツに格納されます。文書パーツは、ファイルのコンテンツ全体を複数のセクションに分けて定義するのに役立ちます。この新しいファイル形式は、カスタム XML データ パーツを含む、さまざまな種類の文書パーツから構成されます。XML 要素と関連付けられているドキュメント コンテンツはすべて、カスタム XML データ パーツのデータにマップされます。このように XML をドキュメントの書式設定やレイアウトから分離することにより、プログラムでデータにアクセスしやすくなり、ドキュメントの堅牢性が向上します。

文書構成部品

文書構成部品は、Office Word 2007 で新たに導入されたものです。表紙、ヘッダー、フッターなど、あらかじめ設計されたコンテンツの構成要素を "文書構成部品" と呼びます。ユーザーは、あらかじめ定義された文書構成部品の一覧から文書構成部品を選択し、ドキュメントに挿入することができます。プロ級のドキュメントをすばやく簡単に作成できるように、Word 2007 には、文書構成部品のライブラリが用意されています。Word 2003 では作成に 30 分かかっていたものが、Word 2007 の新機能である [挿入] リボン UI を使用すれば、ボタンのクリック 1 つで作成できるようになります。

文書構成部品により、プロ級のドキュメントが簡単に作成できるようになりますが、その最もすぐれた点は、カスタムの構成部品を作成できることです。使用できるのは、Word 2007 に用意されている構成部品のみに限定されません。発行するドキュメントすべてに特別な表紙をつけたいと思っている会社を例に考えてみましょう。この表紙には、会社のロゴ、会社の標準フォント、およびこのドキュメントが関連するプロジェクトの名前が表示されるように設計されたテキスト コンテンツ コントロールを含めることができます。

次の図は、表紙の構成部品を示しています。

文書構成部品

図 3. 文書構成部品

上図のカスタム構成部品を作成するには、表紙を作成し、すべてを選択してから、選択したテキストを元にカスタム構成部品を作成することを選択します。ただし、先見の明があるテンプレート設計者なら、将来の変更を見越した準備も怠りません。たとえば、会社のロゴが近々変更されるかもしれないということがわかっていて、プロジェクト名も社内で頻繁に変更される場合は、これに備えることができます。Word 2007 ソリューションでは、個々のコンテンツ項目についてコンテンツ コントロールが使用され、簡単に更新できるデータを含む XML に各コントロールがマップされます。したがって、表紙上には画像コンテンツ コントロールを配置し、添付された CustomXMLPart オブジェクトの要素から取得されたイメージをここに表示します。同様に、プロジェクト名を含む CustomXMLPart の要素にマップされたテキスト コンテンツ コントロールを使用して、プロジェクト名を作成します。これらの項目の 1 つを更新する必要がある場合は、サーバーに格納されているドキュメントのうち、この "表紙" 構成ブロックを使用しているドキュメントをすべて更新するための数行のコードを記述します。古いロゴを新しいロゴで置き換えることができます。プロジェクト名が変更された場合は、プロジェクト名を含むテキスト コンテンツ コントロールにマップされた XML 要素内のテキストを更新することにより、サーバー上に格納されたドキュメントすべてを自動的に更新できます。

Word 2007 XML 形式

新しい Word 2007 XML 形式は、ファイル形式の情報をまとめるための方法と、メタデータ、パーツ、およびリレーションシップを記述する Open Packaging Conventions を活用しています。多少の例外を除き、Word 2007 XML 形式はすべて XML で記述されていて、.zip ファイルに圧縮されています。このため、従来のバイナリ ファイル形式と比べて次のような大きな利点があります。

  • ZIP 圧縮されているので、ファイルのサイズがかなり小さくなります。
  • ファイルは複数の文書パーツに分かれているので、さらに堅牢になります。たとえば、ヘッダーを表すパーツなどパーツの 1 つが壊れた場合でも、ドキュメントの残りの部分は無傷で、正常に開くことができます。
  • 新しい構造により、ファイルをプログラムによって処理しやすくなります。たとえば、イメージなどの埋め込みコンテンツにアクセスしやすくなります。これは、イメージがファイルに本来の形式で格納されているからです。
  • カスタム XML は、ドキュメント全体を記述する XML とは別に、独自のパーツに格納されているので、取り扱いも簡単になります。

従来のバイナリ ファイル形式は、ソフトウェアでの優先事項が現在のものとは異なる時代に作成されたものです。当時、Word 文書をあるコンピュータから別のコンピュータに転送するときにはフロッピー ディスクを利用することが非常に多く、コンパクトな構造のバイナリ形式が非常に効果的でした。ソフトウェアが進化するにつれて、ファイル形式に対するコードを記述する能力やできるだけこれを堅牢にすることなど、別の点が優先されるようになってきました。XML は明快な解決策です。

マイクロソフトは、これまでのバージョンの Microsoft Office に SpreadSheetML や WordprocessingML を導入することから、この問題への対処を開始しました。1999 年に定められた目標は、Microsoft Office 2007 がリリースされる今になって完全に達成されました。ZIP コンテナ内に XML ファイル形式を含めることにより、小さく圧縮されたファイル形式というメリットも実現します。Excel 2007 と PowerPoint 2007 は、Open Packaging Conventions で説明されている、この新しいファイル形式テクノロジを共有しています。この共有形式は、総合的に Microsoft Office Open XML 形式と呼ばれます。新しい Word 2007 XML 形式は既定のファイル形式ですが、Microsoft Office 2007 システムでは、従来のバイナリ ファイル形式も使用できます。

新しいファイル形式の内容を簡単に見るには、Word 2007 文書を新しい既定の形式で保存し、このファイルの名前を変更して .zip 拡張子をつけます。名前変更後のファイルをダブルクリックして開いて、その内容を確認することができます。ファイルの中には、このファイルを構成する文書パーツと共に、パーツの相互関係を表すリレーションシップが表示されます。ただし、Open Packaging Conventions で定義されているいくつかの例外を除いて、実際のファイル ディレクトリ構造には特に規定はないことに注意してください。ファイルの有効性は、ファイル構造ではなく、パッケージ内のファイルどうしのリレーションシップにより決まります。文書パーツが設計どおりのリレーションシップを維持できるように、適切にリレーションシップを更新すれば、.zip コンテナ内の Word 2007 ファイルのパーツを再配置し、名前を変更することができます。リレーションシップに間違いがなければ、ファイルは問題なく開きます。Word 2007 ファイルの最初のファイル構造は、Word により作成された既定の構造にすぎません。この既定の構造により、開発者は Word 2007 ファイルの構成を簡単に判断できるようになります。

次の図は、.zip ファイル内のプロジェクト レポートのサンプル ドキュメントの内容を示しています。

ZIP ファイル内のサンプル ドキュメントの内容

図 4. ZIP ファイル内のサンプル ドキュメントの内容

Word 2007 XML ファイルをプログラムで変更する最も簡単な方法は、Microsoft(R) Windows(R) Software Development Kit (SDK) for Beta 2 of Windows Vista and WinFX Runtime Components (英語) の System.IO.Packaging クラスを使用することです。このテクノロジを使用して、サーバーに格納された多数の Word 2007 ドキュメントにわたって、ヘッダー ファイルやフッター ファイルをプログラムで簡単に更新できます。

その他の新機能

開発者の立場から見て、Word 2007 の最も画期的な機能は、新しいファイル形式、コンテンツ コントロール、および XML マッピングです。これらはすべてこの記事で説明されています。これ以降のセクションでは、Word 2007 のその他の新機能について簡単に説明します。

リボン UI

Word 2007 では、すべてのコマンドで新しいリボン UI が使用されます。従来の Word バージョンでは、コマンドはメニューやツール バーに追加されました。Word では、有用なツールがメニューの奥深くに入れ子になってしまい、ほとんどのユーザーがそのツールを見つけられないということがよくあります。リボン UI により、コマンドを見つけやすくなるので、Word ユーザーの生産性がさらに高まります。Word 2007 の既定のリボンには、[ホーム]、[挿入]、[ページ レイアウト]、[参考資料]、[差し込み文書]、[校閲]、[表示]、[開発] があります。既定では、[開発] リボンは表示されません。

[開発] タブを表示するには
  1. Microsoft Office ボタン、[Word のオプション] の順にクリックします。

  2. [Word のオプション] ダイアログ ボックスの[個人設定] をクリックします。

  3. 図 5 のとおり、[Word の使用に関する主要オプション] セクションで[[開発]ボタンをリボンに表示する] を選択します。

  4. [OK] をクリックします。

    [Word のオプション] ダイアログ ボックス

    図 5. [Word のオプション] ダイアログ ボックス

    **注意:   **開発者モードでは、[開発] タブはリボン UI に表示されます。

それぞれのリボンには、コマンドが論理的にグループ分けされています。Word 2003 でプログラムによってツール バー項目を追加作成したのと同じ方法で、Word 2007 でも、ソリューションに含まれる XML ファイルにコマンドを定義することにより、それらのコマンドに対するカスタム リボンを作成することができます。

次の図は、[開発] リボンを示しています。

リボン UI の [開発] タブ

図 6. リボン UI の [開発] タブ

引用文献と文献目録

[参考資料] リボンにある [引用文献と文献目録] グループでは、文献目録を作成し、ドキュメントに引用文献を挿入することが簡単にできます。Application オブジェクトと Document オブジェクトの両方にある Bibliography オブジェクトなど、Word 2007 オブジェクト モデルの新しいメンバにより、プログラムで文献目録や参考文献を処理できるようになります。

次の図は、Word 2007 のクラスのオブジェクト モデル図の一部です。

Word 2007 オブジェクト モデルの一部 (クリックするとイメージ全体が表示されます)

図 7. Word 2007 オブジェクト モデルの一部 (クリックするとイメージ全体が表示されます)

数式

Word 2007 には、専門家も納得するような書式の数式を作成するための機能も追加されています。[挿入] タブの [記号と特殊文字] グループには、複雑で高度な数学的記号、関数、数式を入力するための [数式] コマンドがあります。また、Word 2007 のオブジェクト モデルには、プログラムによって数式をサポートするための新しい項目も用意されています。

結論

XML マッピングやコンテンツ コントロール、新しい Word XML 形式など、Office Word 2007 に追加された画期的な新機能はすべて、開発者やテンプレート設計者を支援するものです。XML の新しい既定のファイル形式により、開発者は、これまでになく簡単に Word ファイルにアクセスできるようになります。テンプレート設計者は、従来の Word バージョンよりも直観的かつ簡単な方法で、堅牢で機能豊富なテンプレートを作成できます。たとえば、Word 2003 では、テンプレートの一部のみを保護するには非常に細かい作業が必要でした。このプロセスはわかりやすいものではありませんでした。Word 2007 では、コンテンツ コントロールによりこのプロセスが簡略化されます。Word 2003 でカスタム XML を含めるには、ドキュメント上で (つまり、エンド ユーザーが編集可能な場所で) XML 要素を使用する必要がありました。この場合、XML に不慣れなエンド ユーザーにより誤って要素が削除され、ドキュメントが壊されてしまう可能性があったため、ドキュメントの堅牢性には問題があります。カスタム XML パーツと XML マッピングにより、これを防ぐことができます。また、Word 2007 では、イベントを使用して、ユーザーの介入なしに、XML ソースからドキュメントのコンテンツをプログラムによって更新できます。

開発やテンプレート設計といった魅力的な機能のほか、Word 2007 には、新しいリボン UI やその他の分野での機能強化などの画期的な機能が追加されています。

その他の参考資料

Word 2007 における開発者向け強化機能の詳細は、次の資料を参照してください。

謝辞

この記事に対する Mark Iverson と Tristan Davis の協力に感謝します。