次の方法で共有


Application.MailMergeBeforeMerge イベント (Publisher)

差し込み印刷のレコードが差し込まれる前に差し込み印刷が実行されたときに発生します。

構文

MailMergeBeforeMerge (DocStartRecordEndRecordCancel)

expressionApplication オブジェクトを 表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Doc 必須 Document 差し込み印刷のメイン文書を指定します。
StartRecord 必須 長整数型 (Long) 差し込み印刷に含めるデータ ファイル内の先頭レコードを指定します。
EndRecord 必須 長整数型 (Long) 差し込み印刷に含めるデータ ソースの最後のレコードです。
Cancel 必須 ブール型 (Boolean) True を設定すると、差し込み印刷を開始する前に処理を停止します。

注釈

Application オブジェクト イベントにアクセスするには、コード モジュールの [全般宣言] セクションで Application オブジェクト変数を宣言し、その変数をイベントにアクセスする Application オブジェクトと等しく設定します。

Microsoft Publisher Application オブジェクトでイベントを使用する方法については、「 Application オブジェクト でのイベントの使用」を参照してください。

次の使用例は、差し込み印刷を開始する前にメッセージを表示して、差し込み印刷を続行するかどうかの確認をユーザーに求めます。 ユーザーが [いいえ] を選択した場合、マージ プロセスは取り消されます。

Private Sub MailMergeApp_MailMergeBeforeMerge(ByVal Doc As Document, _ 
 ByVal StartRecord As Long, ByVal EndRecord As Long, _ 
 Cancel As Boolean) 
 
 Dim intVBAnswer As Integer 
 
 Set Doc = ActiveDocument 
 
 'Request whether the user wants to continue with the merge 
 intVBAnswer = MsgBox("Mail Merge for " & Doc.Name & _ 
 " is now starting. Do you want to continue?", _ 
 vbYesNo, "Event!") 
 
 'If user's response to question is No, then cancel merge process 
 'and deliver a message to the user stating the merge is canceled 
 If intVBAnswer = vbNo Then 
 Cancel = True 
 MsgBox "You have canceled mail merge for " & _ 
 Doc.Name & "." 
 End If 
 
End Sub

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

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