0

我想知道是否可以从 Microsoft Excel 创建数据输入集并将其直接导出到 Microsoft Word 中?

例如,如果我正在制作一个电话簿,在 Excel 中列出该人的名字、姓氏、地址和电话号码,这会自动将数据导出到 Word。

我不希望在 Word 中有一定数量的条目并复制和粘贴,而是当我向 Excel 添加更多条目时,数据会从 Excel 推送到 Word。我自己不是编码专家,但我在 YouTube 上观看了多个视频,我正在寻求指导。

4

2 回答 2

1

这是一个旧命令,默认情况下不再在 Word UI 中公开: InsertDatabase. 您可以在“所有命令”下的“文件/选项/自定义功能区”或“快速访问工具栏”中找到它。

Database这会通过一组对话框插入一个名为 的字段。

  1. Get Data与选择数据源时在邮件合并中看到的相同。这使用任何有效的连接方法(现在,ODBC 或 OLE DB - 后者是默认的)来绑定到数据源。在您的情况下,一个 Excel 工作表。如果您已为数据分配了范围名称,则该名称也可供选择。

  2. Data options您可以设置查询选项(过滤/排序进来的内容)。您还可以设置表格自动格式以选择预定义(或用户定义)的表格样式。

  3. Insert Data可以选择记录的位置。这很重要:激活复选框Insert Data as field。这将使数据动态化。

  4. OK插入数据/字段。结果将如下所示,您可以通过按 Alt+F9 从字段结果切换到字段代码来查看(和编辑)它。这是连接信息。

{ DATABASE \d "C:\Users\[用户名]\Documents\SampleChart.xlsx" \c "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\Cindy Meister\ Documents\SampleChart.xlsx;Mode=Read;Extended Properties=\"HDR=YES;IMEX=1;\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB :Engine Type=37;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:不要在 Compact=False 上复制区域设置;Jet OLEDB:Compact without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:支持复杂数据= False;Jet OLEDB:绕过 UserInfo Validation=False" \s "SELECT * FROM ChartInfo"\H }

每当 Excel 中的任何内容发生更改时,此字段都不会自动更新,您必须通过单击它并按 F9 来强制更新。或者您可以使用宏来执行此操作。最简单的是,如果您不想简单地更新文档正文中的所有字段,可以为表格添加书签,并在每一端加上一个段落并使用

ActiveDocument.Bookmarks("Database").Range.Fields.Update 
于 2018-06-25T05:16:13.490 回答
1

在我看来,您可能可以使用不比 Word 中的 LINK 字段更复杂的东西来执行此操作,您可以通过复制(在 Excel 中)然后选择性粘贴>粘贴链接(在 Word 中)以合适的粘贴格式简单地创建它。如果您在复制和粘贴之前命名 Excel 范围,Word 中的范围将自动扩展/收缩以匹配 Excel 范围发生的情况。无需代码。

于 2018-06-25T05:57:54.683 回答