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
、データテーブルを調べることです。