Wordのメールマージでバーコードを使用する
Word 365, 2024, 2021, 2019, 2016, 2013, 2010, 2007, 2003
![]() |
REST APIベースのソリューションが利用可能です! クラウド上で動作し、WindowsやActiveX、ソフトウェアのインストールは一切不要。操作も簡単で、コーディングも不要です。 |
1
既存のメールマージ文書を開くか、新規作成します。
2
バーコードオブジェクトをメールマージ文書に追加します。ドキュメント内の必要な場所に配置し、バーコードのタイプやサイズなど、オブジェクトのプロパティを設定します。
これは例えば次のスクリーンショットのようになる。バーコード・オブジェクトの名前に注目してください - ここでは黄色でハイライトされています。通常、これはBarcode1となります。
3
メールマージにはマクロが必要です。以下のマクロを追加することができます。これをクリップボードにコピーし、そこからWordのVisual Basic for Applicationsエディタに貼り付けます:
Sub MailMerge_example_with_ActiveBarcode() ' Macro shows how to print barcodes in a mail merge. if MsgBox("Do you want to print mail merged documents?", vbYesNo, "Question") = vbYes Then 'counter to zero num = 0 'first record is number one ActiveDocument.MailMerge.DataSource.ActiveRecord = 1 Do ' Fill ActiveBarcode text property now ActiveDocument.Barcode1.Text = ActiveDocument.MailMerge.DataSource.DataFields("Productcode").Value ' do not prompt for printing... Options.PrintBackground = True ' print page ActiveDocument.PrintOut ' recognize old record lastone = ActiveDocument.MailMerge.DataSource.ActiveRecord ' select next record ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord 'count num = num + 1 ' check if there are new ones Loop While ActiveDocument.MailMerge.DataSource.ActiveRecord <> lastone ' notify user MsgBox (Str(num) + " pages printed!") End If End Sub
4
結果はこのようになる。スクリーンショットでは、マクロが挿入されている場所も確認できる。
5
ここで、マクロをメールマージ文書に合わせます:
バーコード・オブジェクトの名前がBarcode1でない場合は、マクロで変更してください。
ここで、バーコードに使用するフィールド名をデータソースから変更します。この例では、Productcodeが使用されています。引用符の中の名前を変更します。
6
ドキュメントを保存し、テスト印刷のためにマクロを開始します。
ヒント:エラー時のミスプリントを少なくするため、少量のデータからテスト印刷を開始する。
7
完了した。 マクロをドキュメント自体ではなくNormal.dotに配置した場合、マクロ実行時にドキュメントがデザインモードであってはなりません。そうするとエラーになります。したがって、マクロを実行する前にデザインモードをオフにしてください。