我想遍历 MS-Word 邮件合并数据源的所有行并将相关数据提取到 XML 中。
我目前正在使用此代码:
Imports Microsoft.Office.Interop
Do
objXW.WriteStartElement("Recipient")
Dim objDataFields As Word.MailMergeDataFields = DataSource.DataFields
For Each FieldIndex As Integer In mdictMergeFields.Keys
strValue = objDataFields.Item(FieldIndex).Value
If Not String.IsNullOrEmpty(strValue) Then
strName = mdictMergeFields(FieldIndex)
objXW.WriteElementString(strName, strValue)
End If
Next
objXW.WriteEndElement()
If DataSource.ActiveRecord = LastRecord Then
Exit Do
Else
DataSource.ActiveRecord = Word.WdMailMergeActiveRecord.wdNextDataSourceRecord
End If
Loop
事实证明它有点迟钝(每行大约 1 秒)。有什么方法可以更快地做到这一点?
我的幻想是找到一个类似的函数MailMergeDataSource.ToDatatable
,然后检查数据表。