Sql MS Office Word 2007/2010-如何查看和编辑现有内置邮件合并选择?
我有几个word文档中包含邮件合并,我必须更改数据源,但要这样做,我需要从这些文档中提取所有SELECT查询,以便检测正在使用的表和字段。(我无法访问旧数据源,因为它已经不存在了) 我搜索了一整天,不知道如何提取或显示应用于每个文档的SELECT查询。当我运行一个文档时,弹出一个对话框,说Word将运行以下查询选择X,Y。。。。但是由于查询很大,我看不到它们的整个结构,我也无法调整对话框的大小Sql MS Office Word 2007/2010-如何查看和编辑现有内置邮件合并选择?,sql,ms-word,ms-office,datasource,Sql,Ms Word,Ms Office,Datasource,我有几个word文档中包含邮件合并,我必须更改数据源,但要这样做,我需要从这些文档中提取所有SELECT查询,以便检测正在使用的表和字段。(我无法访问旧数据源,因为它已经不存在了) 我搜索了一整天,不知道如何提取或显示应用于每个文档的SELECT查询。当我运行一个文档时,弹出一个对话框,说Word将运行以下查询选择X,Y。。。。但是由于查询很大,我看不到它们的整个结构,我也无法调整对话框的大小 是否有方法提取这些选择?尝试在Word中按Alt+F11打开VBA编辑器 您应该至少找到一个模块,我可
是否有方法提取这些选择?尝试在Word中按
Alt+F11
打开VBA编辑器
您应该至少找到一个模块,我可以想象它正在执行的任何代码都将在其中一个模块中
如果不是,则可能是宏?如果您使用类似7-Zip的解压实用程序打开word.docx文件,这将显示其中的文件夹/文件结构 根文件夹应该类似于docProps、Word、Rel。查看Word文件夹并打开“settings.xml”文件。在这里,您应该可以看到查询(以及到文档中字段的数据库列映射) 我在Word 2007中尝试将此映射到customers表,保存的查询为:
query w:val="SELECT * FROM "Customer" "
Edit:extract from settings.xml(我必须去掉w:zoom w:percent=“100”/
w:mailMerge
w:main文档类型w:val=“formLetters”/
w:linkToQuery/
w:dataType w:val=“native”/
w:connectString w:val=“Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=Chinook;Data Source=NEWDELL\SQLEXPRESS;使用Prepare=1的过程;Auto Translate=True;数据包大小=4096;工作站ID=NEWDELL;对数据使用加密=False;在可能的情况下使用列排序规则标记=False”/
w:query w:val=“从“客户”中选择*/
w:datasourcer:id=“rId1”/
w:viewMergedData/
w:odso……等等
VBA代码编辑器中绝对没有单一代码。如果我写一个宏,我甚至不知道应该在哪里查找这些查询。。。它们是通过邮件合并引入的,但即使在邮件ruban中,我也找不到任何与它们相关的东西。等等,我没工作。。我将我的文档文件转换为docx,并且没有查询w:val属性,我甚至检查了在其中找到的所有xml文件。。。奇怪的是,我刚刚尝试在兼容模式打开的情况下进行转换,但查询仍然不在XML文件中。。我真的不明白。。那么它在哪里呢?哦,很遗憾听到这个消息-从doc到docx的转换可能是一个额外的问题。我在2007年进行了一次新的邮件合并,并将其保存为.doc文件。然后重新打开此文件并以兼容模式另存为.docx,在settings.xml中仍然可以看到相同的内容-编辑答案以包含摘录…我应该补充一点,我手头没有旧版本的Word。。所以也许我上面的测试工作流程不会重复这个问题。这很奇怪。。。我做了完全相同的工作流程。。。这个该死的查询根本没有被存储,我做了一个CTRL+F搜索,然后我读了整个settings.xml文件。。。没有选择,没有数据源。。。什么都没有。。我不明白。我不明白他们为什么不考虑添加一种方式来显示mailmerge获取数据的方式。。。有时大型软件会有如此愚蠢的缺陷…ctrl-a ctrl-c粘贴到某个地方。