Word Open XML Mail Merge

时间:2010-08-24 11:10:37

标签: ms-word openxml

我正在尝试使用Word的XML(来自Word 2007)手动创建邮件合并。我有以下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 个答案:

答案 0 :(得分:2)

DII包含所有文档,您也可以在此网站上查找,例如mainDocumentType列为CT_MailMergeDocType。搜索到后,我会收到,然后告诉我查找ST_MailMergeDocType,其中列出了类型。

此外,OpenXML Developer通过WordprocessingML向MailMerge提供了一些基本的介绍文章:

答案 1 :(得分:1)

这可以提供一些帮助吗?

Mail Merging With Word and Linq-to-Xml in VB

答案 2 :(得分:0)

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

使用microsoft word,在测试文档中设置邮件合并,只需要你想要它。然后查看使用Open XML SDK Tool 生成的单词的xml,您可以在此处获取: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5124

将该单词生成的xml与您的代码进行比较,以查看您可能出错的位置。

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