MailMerge フィールドを含むドキュメントがありますが、datasource->mailmerge のアイデア全体を使用したくありません。代わりに、Autonew() で UserForm を提示し、ユーザーにフィールドにデータを入力するように求めています。
その理由は、このドキュメントは 1 行のデータと "マージ" するためであり、ユーザーに 1 行のデータ ソース処理全体を行うよう求めるのは時間の無駄だからです。
私は DocVariables を使用した実用的なソリューションを持っていますが、ほとんどの人はそれが正しい方法であると確信していますが、このクライアントは、ソースドキュメントでメールマージ変数 (<<1>> など) を「見る」というアイデアが好きです。 . 彼らは、Alt-F9 を使用してコードを表示し、DocVariables を確認できることを知っていますが、MergeFields を使用したいと主張しています。
DocVariables を使用して、次のようにします。これは機能するので、正しい考えを持っていること、およびコードの残りの部分が正常に機能することがわかります。
ActiveDocument.Variables("varSurame").Value = .txtSurname
ただし、マージフィールドで同じことを行う方法を試すことはできません。以下のようなことをしたいです(ただし、設定する「値」プロパティはありません)。
ActiveDocument.MailMerge.Fields("Surname").value = .txtSurname
.text プロパティは読み取り専用なので、使用できません。
以下は、「ブックマークが定義されていません」というエラーをレンダリングします。
ActiveDocument.MailMerge.Fields("Surname").Code.Text = .txtSurname
データソースを使用せずに差し込み印刷フィールドの値をプログラムで変更する方法についてのアイデア。