Visual Studio 2008、C# を使用して共有アドインを作成しました。AddIn では、データベースからデータを取得して Dictionary オブジェクトに入力し、Word の組み込み FindReplace を使用して、WordTemplate 内のテキストをデータベースのデータに置き換えます。
Dictionary<string, string> myDBData = new Dictionary<string, string>();
一部の db フィールドには改行文字 (つまり、複数行のデータ) が必要なので、辞書オブジェクトを検索置換ルーチンに渡す前に、コードでEnvironment.NewLineを使用して改行を挿入します。
問題は、改行文字を含むフィールドの場合、[replacemefieldname] プレースホルダーがそのように Word テーブルの外にある場合にのみ、テキストがワールド テンプレート内で適切に置き換えられることです。
これらの 12 行は、MS WORD テーブルの外側にあります。
固い
固い
体液
体液
体液
体液
体液
体液
体液
体液
体液
体液
[replacemefieldname] プレースホルダーが MS Word テーブル内にある場合、複数のテキスト文字列はそのように 1 行でレンダリングされます。
固い 固い 流体 流体 流体 流体 流体 流体 流体 流体 流体
両方のレンダリング (テーブルの内側と外側) については、次のスクリーンショットを参照してください。
表のテキストをコピーして外部に貼り付けると、新しい行も適切にレンダリングされます!!
MS Word Table 内に存在する [replacemefieldname] プレースホルダーの検索置換を行うために Word に渡す前に、文字列の行間に Environment.NewLine 以外にどのような文字を配置する必要がありますか?
ありがとうございました
ps。私は「新規ユーザー」と見なされているため、StackOverflow の巧妙な人々がスクリーンショットを投稿することを妨げています。そのため、私の質問をより明確にするスクリーンショットを次に示します.. :)