[英]Mail merge in C# with n copies
我只想创建一个C#程序,它将读取一个单词模板并使用邮件合并功能创建n个副本。要替换的数据是名称和地址,模板中的其余内容应该保持不变。 谁能告诉我该怎么做?
您可以使用Aspose.Word处理Word Object模型,而不必在应该运行程序的位置安装Office(以使用interop),我正在使用Aspose.Word生成Word文档。
链接到Aspose: http : //www.aspose.com/categories/file-format-components/aspose.words-for-.net-and-java/default.aspx
它的工作相当不错:)
我不确定您是要运行邮件合并还是要复制模板。 我不能用c#帮助您,但是VBA的这一片段可能会给您一些想法。
strDir = CurrentProject.Path
strMailmergeDataFilename = strDir & Format(Now, "yymmdd_hhnnss") & ".txt"
' Create CSV from database for use with mailmerge '
' This is a separate function that simply exports the sql '
' ExportSQLToCSV SQL, strMailmergeDataFilename '
'Open merge template '
Set objWordDoc = GetObject(strDir & MergeDocumentFilename, "Word.Document")
objWordDoc.Application.Visible = True
'Format:=0 ''0 = wdOpenFormatAuto'
'Add the data source '
objWordDoc.MailMerge.OpenDataSource _
Name:=strMailmergeDataFilename, ConfirmConversions:=False, _
ReadOnly:=False, LinkToSource:=True, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", WritePasswordDocument:="", _
WritePasswordTemplate:="", Revert:=False, Format:=0, _
Connection:="", SQLStatement:="", SQLStatement1:=""
'Type some text at a bookmark, you could use .range property '
Selection.Goto What:=wdGoToBookmark, Name:="signaturetext"
Selection.TypeText Text:="You are here"
'Run mailmerge '
objWordDoc.MailMerge.Destination = 0 '0 = wdSendToNewDocument'
objWordDoc.MailMerge.Execute
objWordDoc.Application.ActiveDocument.PrintPreview
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.