我正在尝试使用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
的可能值。我找不到任何体面的文件。
有人有什么想法吗?
答案 0 :(得分:2)
DII包含所有文档,您也可以在此网站上查找,例如mainDocumentType
列为CT_MailMergeDocType
。搜索到后,我会收到,然后告诉我查找ST_MailMergeDocType
,其中列出了类型。
此外,OpenXML Developer通过WordprocessingML向MailMerge提供了一些基本的介绍文章:
答案 1 :(得分:1)
这可以提供一些帮助吗?
答案 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可能依赖于外部资源,在这种情况下,您包含数据源引用。