5

OpenXML SDK を介して読み込まれた docx を、定型書簡の .Net Web アプリのテンプレートとして使用しようとしています (基本的に)。xsd から定義された XML スキーマ タグでマークアップされた、必要な書式設定の docx があります (名前が何であれ、このヘルプは非常に役に立ちません)。

私が Google で見つけた唯一の類似点は、CustomXmlBlock 要素を目的のデータを持つテキスト要素に置き換えているように見えるものだけでした。これは... 面倒で壊れやすいようです。

また、一部のデータが階層化されており、セクションの要素とそのセクションのアイテムがあるという複雑な問題もあります。これは、上記の方法を完全に破るように思われます。

それで、誰かがこれを行うための正しい方向に私を向けることができますか、または定型書簡のテンプレートを処理するためのより良い方法を提案できますか?

4

1 に答える 1

6

いくつかの選択肢があります:

  1. あなたがしていること、XSDスキーママッピング。これは Word 2003 で導入されました。Word 2007 が登場したとき、フォームの推奨される新しい方法が #2 になったため、実際にはそのバージョンの Word でのみ実際にアクティブでした。
  2. コンテンツ コントロール。これについては、以下で詳しく説明します。
  3. 実証済みのBookmarkです。興味のある方はこちらに記事があります。

コンテンツ コントロール1の概念は単純です。必要な階層でコンテンツ コントロールをラップします。つまり、たとえば、日付ピッカー コンテンツ コントロールリッチ テキスト コンテンツ コントロールを用意して、それらをグループ化します。次に、リッチ テキスト コンテンツ コントロール内に、コンボ ボックス コンテンツ コントロールを配置します。Eric White は、Open XML WordprocessingML ドキュメント内のすべてのコンテンツ パーツの処理で、コンテンツ コントロール内からコンテンツを取得するという、これに関する優れたスターター記事を書いています。この記事は、コンテンツ コントロールのより包括的な紹介であり、そのリンクのUsing Open XML WordprocessingML Documents as Data Sources .

コンテンツ コントロールに関するその他のリンク:

  1. Brian Jones のサイトにはすばらしい記事がたくさんあります。これらは彼の最初のものだったと思います: The Easy Way to Assemble Multiple Word Documents and Create a rich Word document based on your own custom XML (without the need for XSLT) .
  2. Word コンテンツ コントロール ツールキット. おそらく、コンテンツ コントロールを操作するための最良のツールです。
  3. 視覚的なハウツー コンテンツ。この記事の多くは、コンテンツ コントロールを扱っています。

1 Word クライアントでコンテンツ コントロールを手動で操作するには、[オプション] から [開発者] リボンを有効にし、コンテンツ コントロールを挿入して、開発者リボンの [コントロール] グループの左側のセクションからプロパティを設定します。

于 2010-09-24T01:25:03.630 に答える