【发布时间】:2020-01-06 19:46:11
【问题描述】:
我知道之前有人问过这个问题,我尝试更新另一个线程但不被允许。
我有一个电子表格,其中包含用于 MS 邮件合并的数据。我有一个全部设置为运行的 Word 邮件合并文档。字段已经设置好了。当我打开 word doc 时,我收到一个提示,上面写着“打开此文档将运行以下 SQL 命令”等等。我想要做的是让 Excel 电子表格在我单击时在没有任何用户干预的情况下运行邮件合并按钮。我从这个论坛上的示例中汇总了以下代码,但无法正常工作。当运行 Word 打开时,我得到相同的提示。我如何让它发挥作用?
Public Sub RunMailMerge(MMFileName As String)
Dim wdDoc As Object
' open the mail merge layout file
Set wdDoc = GetObject(MMFileName, "Word.document")
wdDoc.Application.Visible = True
With wdDoc.MailMerge
.MainDocumentType = wdFormLetters
.Destination = wdSendToPrinter
.SuppressBlankLines = True
.Execute Pause:=False
End With
' cleanup
wdDoc.Close SaveChanges:=False
Set wdDoc = Nothing
End Sub
我看到的所有示例都使用后期绑定。使用词对象的早期绑定不是更好吗?
谢谢 唐
【问题讨论】:
-
视情况而定 - 如果您不确定用户拥有什么版本,或者您需要它与每个版本一起使用,后期绑定非常有用。
-
后期绑定不能使用字常量。在对象浏览器中查找值并使用该值。或者在引用对话框中提前绑定到 Word。
-
关于版本的好点。常量这个词正在起作用。更大的问题是如何让 MM 工作?它会启动,但随后会弹出一个对话框等待答案。我根本不想要用户交互。用户单击一个按钮并打印邮件合并文档。