【问题标题】:MS Office Word 2007/2010 - how to view edit an existing built in mail merge SELECT?MS Office Word 2007/2010 - 如何查看编辑现有的内置邮件合并选择?
【发布时间】:2011-02-08 13:18:03
【问题描述】:

我的 Word 文档很少,其中包含邮件合并,我必须更改数据源,但为此我需要从这些文档中提取所有 SELECT 查询以检测正在使用的表和字段。 (我无法访问旧数据源,因为它不再存在)。

我已经搜索了一整天,无法弄清楚如何提取或显示应用于每个文档的 SELECT 查询。当我运行一个文档时,会弹出一个对话框,说 Word 将运行以下查询 SELECT X,Y.... 但由于查询很大,我看不到它们的整个结构,我也无法调整对话框的大小...

有没有办法提取这些选择?

【问题讨论】:

  • ctrl-a ctrl-c 粘贴到某处。

标签: sql ms-word ms-office datasource


【解决方案1】:

如果您使用 unzip 实用程序(如 7-Zip)打开 .docx 文件,则会显示其中的 文件夹/文件 结构。

根文件夹应类似于 docProps、Word、_Rel。查看 Word 文件夹并打开“settings.xml”文件。在此您应该看到查询(连同数据库列映射到文档中的字段)。

我在 Word 2007 映射到客户表中尝试了这个,保存的查询是:

query w:val="SELECT * FROM "Customer" "

编辑:从 settings.xml 中提取(我必须去掉 才能显示出来)

w:设置 xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:sl="http://schemas.openxmlformats.org/schemaLibrary/2006/main" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w10="urn:schemas-microsoft-com:office:word"
w:zoom w:percent="100"/
w:mailMerge
w:mainDocumentType 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;Packet大小=4096;工作站 ID=NEWDELL;对数据使用加密=False;可能时使用列排序规则标记=False"/
w:query w:val="SELECT * FROM "客户" "/
w:dataSource r:id="rId1"/
w:viewMergedData/
w:odso ....etc

【讨论】:

  • 哦,等等,我没有工作。我将我的 doc 文件转换为 docx,并且没有查询 w:val 属性,我什至检查了我在那里找到的所有 xml 文件......奇怪
  • 我刚刚尝试在兼容模式下进行转换,但查询仍然不在 XML 文件中。我真的不明白。那么它在哪里?
  • 哦,很遗憾听到这个消息 - 从 doc 到 docx 的转换可能是一个额外的问题。我在 2007 年进行了新的邮件合并,并将其保存为 .doc 文件。然后重新打开它并以兼容模式保存为 .docx 并且仍然可以在 settings.xml 中看到相同的内容 - 编辑答案以包含提取...
  • 我应该补充一点,我手头没有旧版本的 Word。所以也许我上面的测试工作流程不会重复这个问题。
  • 这很奇怪......我做了完全相同的工作流程......该死的查询根本没有存储,我做了一个 CTRL+F 搜索,然后我阅读了整个设置。 xml 文件......没有选择,没有数据源......什么都没有......我不明白。而且我不明白他们为什么没有考虑添加一种方法来显示 mailmerge 获取数据的方式...有时大型软件具有如此愚蠢的缺陷...
【解决方案2】:

尝试在 Word 中按 Alt + F11 以打开 VBA 编辑器。

您应该至少找到一个模块,我想它正在执行的任何代码都将在其中之一内。

如果不是,可能是宏?

【讨论】:

  • VBA 代码编辑器中绝对没有单一代码。如果我写一个宏,我什至不知道我应该在哪里查找这些查询......它们是使用邮件合并引入的,但即使在邮件 ruban 中,我也找不到与它们相关的任何内容。谢谢
猜你喜欢
  • 2011-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
相关资源
最近更新 更多