代码之家  ›  专栏  ›  技术社区  ›  Kieran Senior

Word打开XML邮件合并

  •  2
  • Kieran Senior  · 技术社区  · 15 年前

    我正在尝试使用Word的XML(来自word2007)手动创建邮件合并。我有以下不起作用的XML:

    <w:mailMerge>
        <w:mainDocumentType w:val="catalog" />
        <w:linkToQuery />
        <w:dataType w:val="native" />
        <w:connectString w:val="Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=TheServer;Data Source=." />
        <w:query w:val="SELECT * FROM  `Table` WHERE `id_field` = 7" />
        <w:dataSource r:id="rId1" />
        <w:activeRecord w:val="0" />
    </w:mailMerge>
    

    我真的不知道从文件我应该做什么。这只是来自数据库表的邮件合并。上面说线路出错了 <w:mainDocumentType w:val="catalog" /> . 我查到了 w:val

    有人有什么想法吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Todd Main    15 年前

    DII 有所有的文件,你也可以在这个网站上查找,如 mainDocumentType 列为 CT_MailMergeDocType . 当我找到它的时候,我得到了它,它告诉我要向上看 ST_MailMergeDocType ,其中列出了类型。

    此外,OpenXML Developer还有一些基本的介绍文章要与WordprocessingML进行邮件合并:

        3
  •  0
  •   Alexander Taylor yunyi hu    14 年前

    在您的sql命令中,您使用的不是常规的单引号('),而是人们使用国际键盘(“vs”)时看到的那种引号。我不知道SQLOLEDB提供程序是如何工作的,但我习惯于在表和cloumn名称周围看到括号,而不是引号。

    使用microsoftword,在测试文档中设置邮件合并方式。然后查看word使用openxmlsdk生成的xml 工具 你可以在这里看到: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5124

    将word生成的xml与代码进行比较,看看哪里出了问题。

    请注意,w:mailMerge可能依赖于外部资源,在这种情况下,您将包含一个数据源引用。