如何在Visual Studio中使用邮件合并分步向导?

时间:2018-09-03 16:58:04

标签: c# visual-studio ms-word

我已经有一个包含模板和数据库的Word文档,所有字段都在那里,我只想按“ ID1”进行过滤以创建字母并将其保存在.pdf

我正在过滤它们,因为我需要不同名称的不同部分的.pdf文件,所以我想自动执行多个过滤器“从ID1 = x到ID1 = y”并为每个部分保存.pdf文件

我正在使用Visual Studio C#

这是我的代码,我在其中打开单词模板:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
using System.Threading.Tasks;
using Microsoft.Office.Interop.Word;

namespace MailMerge
{
    class Program 
    {
        static void Main(string[] args) 
        {
            var application = new Microsoft.Office.Interop.Word.Application();
            var document = new Microsoft.Office.Interop.Word.Document();

            document = application.Documents.Add(Template: @"C:/docPath.docx");
            application.Visible = true;

            Console.Write("Press Enter");
            Console.ReadLine();

            document.Close();
        }
    }
}

enter image description here

Mail merge step by step wizard IMAGE

1 个答案:

答案 0 :(得分:0)

您不会按照建议的方式进行操作;而是将筛选器作为MailMerge.OpenDataSource方法的SQLStatement参数的一部分提供。如果您使用所有必需的参数手动配置mailmerge主文档,则以下Word宏将告诉您需要将哪些内容合并到代码中:

Sub MMTest()
With ActiveDocument.MailMerge
  If .MainDocumentType <> wdNotAMergeDocument Then
    MsgBox "Mail Merge Data Source Name:" & vbCr & .DataSource.Name
    MsgBox "Mail Merge Connect String:" & vbCr & .DataSource.ConnectString
    MsgBox "Mail Merge Query String:" & vbCr & .DataSource.QueryString
  Else
    MsgBox "Not A Merge Document"
  End If
End With
End Sub