私のシナリオは、メールのマージ中にプロンプトが表示されたら自動的に[はい]を選択するExcelVBAで説明されているシナリオと似ています、ただし、マージするデータを含むAccessデータベースからVBAを実行しており、クエリは複雑でODBCで表示されないため、(これは関連している可能性があります)マージはDDEデータ接続を使用しています。コンピューターの知識があまりない人が使用するAccessランタイムアプリケーションからWordメールのマージを実行しようとしているので、不要なダイアログと混同しないようにしたいと思います。前の質問への回答は、クエリを開くことを許可するプロンプトを防ぐことで実際に機能し、他のすべては正常に行われますが、プロシージャがヒットすると、Mergeは「データソースなし」エラーを返します。行を実行します。クエリプロンプトは実際に抑制されているようですが、クエリは開かれていません。
' open the mail merge layout file
objWord.Visible = True ' for now
lngAlerts = objWord.DisplayAlerts
objWord.DisplayAlerts = False
objWord.Documents.Add strInFileName
objWord.DisplayAlerts = lngAlerts
With objWord.ActiveDocument.MailMerge
.MainDocumentType = 0 ' wdFormLetters
.Destination = 0 ' wdSendToNewDocument
.SuppressBlankLines = True
.Execute Pause:=False
End With
誰かがこれに光を当てることができますか?