EmailMergeEnvelope オブジェクト (Publisher)

電子メールの差し込み印刷にマージされる Microsoft Publisher ドキュメントを保持する電子メール コンテナー (エンベロープ) を表します。

注釈

EmailMergeEnvelope オブジェクトのプロパティは、パブリッシャー ユーザー インターフェイスの [Merge to Email] ダイアログ ボックスで必要な設定とオプションの両方の設定の組み合わせに対応します ([ファイル] メニューの [Emailの送信] をポイントし、[差し込み印刷Email送信] を選択し、[オプション] を選択します)。

MailMerge オブジェクトの Execute メソッドを使用してマージされたメールを送信するには、EmailMergeEnvelope オブジェクトの To プロパティの値を指定する必要があります。または、Publisher からエラーが返されます。

次の Microsoft Visual Basic for Applications (VBA) マクロは、電子メールの差し込み印刷を表す EmailMergeEnvelope オブジェクトのプロパティの一部を割り当て、結果の電子メール メッセージである招待を送信する方法を示しています。 マクロはデータ ソースに接続し、EmailMergeEnvelope オブジェクトの To プロパティと Subject プロパティに値を割り当て、差し込みフィールドと追加のテキストを含むテキスト ボックスを電子メール メッセージに追加します。 次に、MailMerge オブジェクトの Execute メソッドを使用して、差し込み印刷を実行し、電子メールを送信します。

この例で参照されているデータ ソースは、見出しが FirstLastEmail Address の 3 つの列を含む、タブ区切りの単純なテキスト ファイルです。

コードを実行する前に、テキスト ファイルを作成し、1 つ以上のデータ列を追加して、DataSource.txt という名前を付けてディスクに保存します。 PathToFile 変数をパスに置き換えて、ファイルのパスをコードに追加します。

この例のコードを複数回実行すると、コードを実行するたびにデータ ソースに接続することで文書が複数のデータ ソースに接続されるので、エラーが発生します。 複数のデータ ソースへの接続が存在する場合、マスター (結合された) 差し込み印刷データ ソースに追加の列が挿入され、各レコードの特定のデータ ソースが指定されます。 この結果、すべてのデータ ソース列のインデックス番号が効率的に変更され、このコードで使用されるインデックス (MailMergeField1 など) が正しくなくなります。

Public Sub EmailMergeEnvelope_Example() 
 
 Dim pubShape As Publisher.Shape 
 Dim pubMailMerge As Publisher.MailMerge 
 
 'Connect to the data source. 
 Set pubMailMerge = ThisDocument.MailMerge 
 pubMailMerge.OpenDataSource "PathToFile \DataSource.txt" 
 
 'Assign "Email Address" to the To field of the email message. 
 pubMailMerge.EmailMergeEnvelope.To = pubMailMerge.DataSource.DataFields.Item(3) 
 
 'Add text to the Subject field of the email message. 
 pubMailMerge.EmailMergeEnvelope.Subject = "Invitation" 
 
 'Insert two merge fields and some additional text in a text box in the body of the message. 
 Set pubShape = ThisDocument.Pages(1).Shapes.AddTextbox(pbTextOrientationHorizontal, 100, 100, 200, 100) 
 pubShape.TextFrame.TextRange.Text = "Dear " 
 pubShape.TextFrame.TextRange.InsertMailMergeField 1 
 pubShape.TextFrame.TextRange.InsertAfter " " 
 pubShape.TextFrame.TextRange.InsertMailMergeField 2 
 pubShape.TextFrame.TextRange.InsertAfter ": " 
 pubShape.TextFrame.TextRange.InsertAfter "You are invited!" 
 
 'Perform the merge. 
 pubMailMerge.Execute True, pbSendEmail 
 
 'Display a reminder 
 MsgBox "If your email client is not already open, remember to open it and send the email messages that are in the outbox." 
 
End Sub

プロパティ

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。