我希望系统对我的用户尽可能自动化。现在,我有在用户单击按钮时运行的代码。该代码获取数据的目的是通过邮件合并将其应用于 Word 文档。
一切都按预期工作,除了总是弹出一条消息说
打开此文档将运行以下 SQL 命令:
选择 * FROM 'TAGS$'
数据库中的数据将被放置在文档中。你想继续吗?
我需要尽可能简单地保持这一点,而不会冒着用户选择“否”的风险,因为他们感到困惑。VBA 如何自动继续并接受数据放置,就像他们选择“是”一样?
我尝试仅使用以下代码来阻止警报,希望它会默认为“是”并继续,但它不起作用。
Application.DisplayAlerts = False
这就是我所拥有的
Sub RunMailMerge()
Application.ScreenUpdating = False
Dim wdOutputName, wdInputName As String
wdOutputName = ThisWorkbook.Path & "\nametags - " _
& Format(Date, "d mmm yyyy")
wdInputName = ThisWorkbook.Path & "\nametags.docx"
' open the mail merge layout file
Dim wdDoc As Object
Set wdDoc = GetObject(wdInputName, "Word.document")
wdDoc.Application.Visible = True
With wdDoc.MailMerge
.MainDocumentType = wdFormLetters
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.Execute Pause:=False
End With
'Application.ScreenUpdating = True
'show and save output file
wdDoc.Application.Visible = True
wdDoc.Application.ActiveDocument.SaveAs wdOutputName
' cleanup
wdDoc.Close SaveChanges:=False
'activedoc.Close
Set wdDoc = Nothing
End Sub