1

差し込み印刷のソース ドキュメントとして使用される Word ドキュメントがあります。ドキュメントは編集できますが、マージに使用されているデータは編集できません。データ ソース内のデータの一部を変換する必要があります (具体的には、数字 (342 など) を取得し、その値を単語で追加する必要があります (「342 (342)」など))。変換を行う VBA 関数を記述できますが、その関数にデータを取得する最善の方法がわかりません。

マクロをドキュメント内の特定のポイントに関連付けて、マージによって変換プロセスを実行できるようにする方法はありますか? (Word フィールドで数式を使用する方法を考えて{ IF { MERGEFIELD foo } > 75 { MERGEFIELD foo } { = { MERGEFIELD foo } * 20 } }います。ドキュメントには既にいくつかのフォームがあります。何かを追加して、 に行くことができれば{ FUNCTION WordNum { MERGEFIELD number } }、それが理想的です。)

document.MailMerge.DataSourceあるいは、VBA を使用して差し込み印刷のデータ ソース (具体的には) を調べ、フィールドを書き換えることもできると思います。その場合、マクロをどこで実行すれば、データがデータ ソースから読み取られた後、ドキュメントにマージされる前にデータを取得できますか?

4

2 に答える 2

0

Microsoft Queryでデータ変換を実行できますか?つまり、現在あなたが持っている場所:

Data Source -> Mail Merge Template

データソースとWordの間にあるMicrosoftクエリを作成します。

Data Source -> Microsoft Query -> Mail Merge Template

WordでMailMergeを使用してからしばらく経ちましたが、それを十分に制御できたのを覚えていません...

于 2009-09-17T20:22:54.783 に答える
0

埋め込まれた Word マクロから任意の関数を呼び出す方法はないようです。そのため、VBA ルートに進みました。

AutoOpenソース ドキュメントにマクロを追加MailMerge.EditDataSourceし、テーブルを呼び出して変更を加えました。

于 2015-04-21T14:15:24.143 に答える