Delen via


Word 2007 の Custom XML のマッピング可能なコントロールについて

Word の Custom XML のマッピングについて補足ですが、

リッチテキストコントロールは利用できません。

デモの作成準備で Word のコンテンツコントロール付きのテンプレートを作成して、さあ、コードという時点でインテリセンスに XMLMaping の候補が出ないのでびっくりしました。。。

すっかり忘れていました。。。

以下、Web からの抜粋です。

コンテンツ コントロールの種類:

日付選択

日付選択コンテンツ コントロールを使用すれば、エンド ユーザーが日付選択コントロールから日付を選択することができます。日付選択は、エンドユーザーがポインタをコンテンツ コントロール上に移動するか、コンテンツ コントロールをクリックすると表示されます。UI を通して、または、プログラムを使用して、選択される日付の形式を指定することができます。

文書構成部品

文書構成部品は、Word 2007 で新しく導入されたものです。文書構成部品は、表紙、ヘッダー、フッターなどのあらかじめ設計されたコンテンツの要素です。文書構成部品によって、エンドユーザーは、文書に挿入する文書構成部品をあらかじめ定義された一覧の中から選択することができます。

文書構成部品は、XML ファイル内のデータにマップできないことに注意してください。ただし、データにマップ可能なコンテンツコントロールを文書構成部品に保存することはできます。

たとえば、テンプレート内の株価の一覧を自動的に更新する場合は、株価のテキスト コンテンツ コントロールを含むセルで構成された表として文書構成部品を作成することができます。各テキストコンテンツ コントロールが、現在の株価を保存するカスタム XML パーツ内のノードにマップされます。この場合は、文書構成部品をデータにマップするのではなく、その中のテキストコンテンツ コントロールをマップします。文書構成部品を作成したら、エンド ユーザーが誤って削除または変更できないように、文書構成部品全体をロックすることができます。

ドロップダウン

ドロップダウン コンテンツ コントロールを使用すれば、エンド ユーザーがドロップダウン メニュー内のオプションの一覧から選択することができます。各エントリ内のデータをカスタム XML パーツ内のノードにマップすることができます。プログラム的には、ドロップダウン コンテンツ コントロールとコンボ ボックスコンテンツ コントロールは、ContentControlListEntries コレクションを持っている点で他のコンテンツコントロールとは異なります。ContentControlListEntries コレクションには、ユーザーがコンテンツコントロールから選択可能なエントリが保存されます。

コンボ ボックス

コンボ ボックス コンテンツ コントロールは、ドロップダウン コンテンツ コントロールと同様に機能します。唯一の違いは、通常のコンボボックスのように、領域を使用してテキストを直接編集できる点です。

画像

画像コンテンツ コントロールを使用すれば、エンド ユーザーが画像を文書に挿入することができます。エンド ユーザーがこのコンテンツコントロールをクリックすると、挿入する画像を選択するためのコントロールが表示されます。

注: XML ノードを画像コンテンツ コントロールにマップすると、画像がベース 64 バイナリ形式で保存されます。

 

リッチ テキスト

リッチ テキスト コンテンツ コントロールは、リッチ テキストのブロックです。リッチ テキスト コンテンツ コントロールは、カスタム XML パーツ内のデータにマップできないことが特徴です。

テキスト

テキスト コンテンツ コントロールは、プレーン テキストのブロックです。リッチ テキスト コンテンツ コントロールとは違って、テキストコンテンツ コントロールの内容をカスタム XML パーツ内のデータにマップすることができます。

テキスト コンテンツ コントロールの内容が編集できる状態にして、このコンテンツ コントロールを XML ノード内のデータにマップした場合は、ユーザーが文書を通して XML データを直接編集することができます。たとえば、"hello" という単語が保存されたノードにマップされたテキスト コンテンツ コントロールによって、その単語が文書に表示されます。ユーザーがこのコンテンツコントロールを編集して、"hello" を削除し、"good bye" に置き換えた場合は、XML ノードが更新されて、"good bye" という文字列が保存されます。

詳細は以下にあります。

Word 2007 テンプレートをプログラムで作成する

https://www.microsoft.com/japan/msdn/office/2007/ms406053.aspx

Comments