我想知道是否有人知道如何使用 Excel 文件作为数据源进行邮件合并,以填写 Word 模板上的字段?如果可以的话,我希望使用 Word 的互操作...但是在查找代码时遇到了一些困难。有人对此有任何语法吗?先感谢您。
5303 次
3 回答
3
学习如何在 MS Word 中自动执行特定操作的一个非常有用的方法是在启用“记录宏”的情况下手动执行操作。
一旦有了 VBA 宏,就很容易将其转换为使用互操作的 VB.NET 或 C#。我倾向于首先在 Word 中手动调整 VBA,以便在使用互操作层转换为 .NET 语言之前先对其进行测试。
我对mailmerge不太了解,但这是我录制宏时生成的一些VBA:
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
"c:\Arrays.xlsx", ConfirmConversions:=False, _
ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=wdOpenFormatAuto, _
Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=c:\Arrays.xlsx;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Loc" _
, SQLStatement:="SELECT * FROM `Sheet1$`", SQLStatement1:="", SubType:= _
wdMergeSubTypeAccess
我没有在这里包含完整的代码,但希望这能给你一些想法。
于 2009-05-19T21:28:06.103 回答
0
Word(至少在 2007 版本中,这就是我所看到的)可以开箱即用地做到这一点。只需选择 Excel 文件作为数据源。你想在你的代码中做什么?
于 2009-05-19T21:21:56.147 回答
0
我使用这个第 3 方控件。您可以将 xls 文件读入数据表,然后告诉控件合并它。
于 2009-05-19T21:27:27.430 回答