3

要素が適切な場所に表示されるように、特定の XML を Word 文書に添付する必要があります。これは、OpenXML SDK で実行できます。

問題は、何らかのテンプレートで既にバインドされているコンテンツ コントロールを定義できるようにしたいので、他の人が xml が添付される実際のドキュメント テンプレートを作成できるようにすることです。人々が私が何を意味するのか理解できないかどうかわからないので、さらに説明します.

同じ XML データと同じコンテンツ コントロールを使用するさまざまなドキュメント テンプレートが多数存在する場合があります。ドキュメントを作成するのは他の誰か次第です。

シナリオ: プログラマーではない人が、いくつかの変更 (新しいレイアウトまたは何か) のために、通常の情報用に新しいフォームを作成する必要があります。これは、同じままである XML 情報とは関係ありません。

「何人か」の最適な解決策は、Word でドキュメントを作成し、コンテンツ コントロールを所定の位置にドラッグすることです (または同様の解決策)。XML がドキュメントに追加されると、コンテンツ コントロールが事前にバインドされているため、問題はありません。

ここでいくつかのポイントがあります。

1) コンテンツ コントロールを事前にバインドできますか? パスに XML がない場合、問題なく空のままではないでしょうか?

2) i4i 訴訟のため、このようなコンテンツ コントロールを CustomXML にバインドすることは、Word の将来のバージョンでも機能しますか?

3) おそらくこれよりも優れた別の最適なソリューションはありますか?

前もって感謝します。

編集:

より明確にするために。それらを識別するための名前とデータバインドされたxpathを持つコンテンツコントロールを作成したくありません。しかし、その瞬間、道には何もありません。

別のユーザーが入ってきてフォームを作成し、レイアウトなどを決定してから、情報を配置したい場所にコンテンツ コントロールを追加します。

後で、アイテム X の情報が新しいフォームを使用して要求されます。したがって、そのフォームのコピーが取得され、CustomXML が Docx ファイルに追加されます。ここで、XML スキーマが事前にわかっていて、CC のパスを決定するときに使用されたため、この XML データはコンテンツ コントロールにバインドされます。

4

2 に答える 2

2

優れたオプションの 1 つは、VSTO ( Visual Studio for Office ) を使用して、バインド前のコードが添付された一連のドキュメント テンプレートを作成することです。次の 2 つの記事は、このタイプのソリューションを検討するための良い出発点となります。

この詳細について議論している 2 つのスレッドがあります: 12です。

VSTO を使用する利点の 1 つは、コンテンツ コントロール イベントをフックできることです。Word 2007 のコンテンツコントロール イベント モデル

VSTO がオプションでない場合は、Microsoft Office を起動せずにカスタム XML パーツをドキュメントに追加する をいつでも確認できます。

于 2010-08-06T14:43:12.627 に答える
1

これは非常に簡単です。カスタム コントロールは i4i 訴訟の影響を受けず、各コントロールのタグ プロパティを使用して名前を付けることができます (警告 - 64 文字に制限されています)。

于 2011-07-17T01:58:27.373 に答える