Wordで、VBAを使用してプログラムで差し込み印刷データを変更するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1441071

質問

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

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

別の方法として、VBAを使用して、差し込み印刷のデータソース(特に document.MailMerge.DataSource )を調べ、フィールドを書き換えることができると思います。そのルートに行く場合、データソースから読み取られた後、ドキュメントにマージされる前にデータに到達するようにマクロをどこで実行する必要がありますか?

役に立ちましたか?

解決 2

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

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

他のヒント

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

Data Source -> Mail Merge Template

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

Data Source -> Microsoft Query -> Mail Merge Template

Wordで差し込み印刷を使用してからしばらく経ちましたが、それに対して多くの制御を実行できることを覚えていません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top