VBA宏无法正常工作
问题描述:
我有一个包含员工数据和Word模板的Excel文件。我将邮件合并并创建了一个宏,它向我询问员工姓名,并根据姓名从Excel文件中将该员工的员工详细信息提取到Word文件。VBA宏无法正常工作
如果记录来自Excel工作表的顶部到底部,宏能够检索记录。但是,任何高于当前检索记录的记录都不会被抓取。这真是一个麻烦。能否请你帮忙?
下面是我的代码:
Sub getdata()
Dim numRecord As Integer
Dim myName As String
myName = InputBox("Enter Name:")
Set dsMain = ActiveDocument.MailMerge.DataSource
If dsMain.FindRecord(FindText:=myName, Field:="Name") = True Then
numRecord = dsMain.ActiveRecord
End If
End Sub
答
下面是从MailMergeDataSource.FindRecord方法documentation直接引用:
“的FindRecord方法并向前搜索仅因此,如果活动记录不是数据源中的第一条记录,而且您正在搜索的记录位于活动记录之前,FindRecord方法将不返回任何结果。为确保搜索整个数据源,请将ActiveRecord属性设置为wdFirstRecord。“
此,根据MailMergeDataSource.ActiveRecord物业documentation将是这样的:
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = wdFirstRecord
End With
太谢谢你了。它为我工作!非常感谢。 – bishwarup990
不用担心。请接受作为答案,如果它的工作。如果有什么遗漏,让我们知道,我自己或其他人可能会提供更多的细节。 – QHarr