【发布时间】:2015-09-20 18:59:50
【问题描述】:
我目前在 Excel 中使用 VBA。我有一个非常大的 excel 数据库,许多不同的人都在使用它。因此,我们在电子表格底部输入数据。我在 excel 文件中创建了一个按钮,用于自动将文件与 Word 合并,以创建供用户打印的表单。但是,由于我们最新的数据位于 excel 的底部,因此您必须在 word 中执行一些额外的步骤才能选择该数据(即完成合并 --> 编辑单个文档 --> 选择文档范围从8000 至 8000)。所以,我正在寻找一个 VBA 代码来添加到我当前的按钮中,它将自动选择最后一组数据并将其合并到 word 中。有谁知道如何做到这一点?我们不断添加数据点,因此它不能是设定的行号。
我正在使用的当前代码:
Sub RunMailMerge()
Dim wdOutputName, wdInputName As String
wdOutputName = ThisWorkbook.Path & "\WHAT database CURRENT " & Format(Date, "d mmm yyyy")
wdInputName = ThisWorkbook.Path & "\Recreated Quote Form.docx"
' open the mail merge layout file
Dim wdDoc As Object
Set wdDoc = GetObject(wdInputName, "Word.Document")
wdDoc.Application.Visible = True
With wdocSource.mailmerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.First Record = wdDefaultFirstRecord
End With
.Execute Pause:=False
End With
' show and save output file
wdDoc.Application.Visible = True
wdDoc.Application.ActiveDocument.SaveAs wdOutputName
' cleanup
wdDoc.Close SaveChanges:=False
Set wdDoc = Nothing
结束子
附言
此代码有效,但它说有一个弹出窗口说明 wdocSource.mailmerge 存在问题((运行时错误 424 需要对象))任何人都可以帮我解决这个问题吗?请记住,我擅长计算机,但对 VBA 很陌生!
【问题讨论】:
-
获取最后一行你可能会看到this