Word 2007/10/13 の上にあるテンプレート システムを作成するという、うらやましいタスクがあります。これにより、人々はバックエンド データ ストアから単純なロジックをドキュメントに挿入できます (TBD ですが、これは何らかの形式のエクスポートされた XML ドキュメントである可能性があります)。 ) 次の形式で:
- データ要素への直接バインディング (段落/見出し/セクション タイトルなど)
- データ要素を何度も繰り返す (テーブル本体やリストなど)
- インライン ロジックの提供 (たとえば、ビジネス ルールの結果値をチェックする if ブロック)。
ケースバイケースでこれを行うためのプログラムを提供するのではなく、これをクライアントの手に渡したいと考えています。つまり、Word が提供するオーサリング ツールを使用する必要があります。私たちが作成しているアドインを使用してドキュメントをマークアップし、このドキュメントを上記のディレクティブを含むテンプレートとしてソリューションにアップロードして、そこから実行できます。
残念ながら、次のアイデアには大きな穴があります。
- XML スキーマ。残念ながら、これはWord 2007以降ではなくなりました。
- content.xml ファイルに XML 名前空間を追加し、その名前空間の属性を使用してディレクティブを記述します (後処理が簡単です!)。残念ながら、これらを編集したり、VSTO を介してドキュメントに表示したりする方法がわかりません。
- テンプレートの指示を含むコンテンツをインラインで追加する (テンプレートとドキュメント コンテンツの間のセマンティックな分離を壊すため、これは好ましくありません)。
- コンテンツ コントロールの使用 (これは問題ありませんが、醜いハックなしで繰り返し機能を備えているのは 2013 以降のみです)
- その他?
この問題または上記の問題の回避策を解決するための最善の方法について、誰かアイデアはありますか?
ツールチェーンとして VSTO + VS2012 を使用しており、Word の 2007、2010、および 2013 バージョンをターゲットにする必要があります。