我想知道是否可以从 Microsoft Excel 创建数据输入集并将其直接导出到 Microsoft Word 中?
例如,如果我正在制作一个电话簿,在 Excel 中列出该人的名字、姓氏、地址和电话号码,这会自动将数据导出到 Word。
我不希望在 Word 中有一定数量的条目并复制和粘贴,而是当我向 Excel 添加更多条目时,数据会从 Excel 推送到 Word。我自己不是编码专家,但我在 YouTube 上观看了多个视频,我正在寻求指导。
我想知道是否可以从 Microsoft Excel 创建数据输入集并将其直接导出到 Microsoft Word 中?
例如,如果我正在制作一个电话簿,在 Excel 中列出该人的名字、姓氏、地址和电话号码,这会自动将数据导出到 Word。
我不希望在 Word 中有一定数量的条目并复制和粘贴,而是当我向 Excel 添加更多条目时,数据会从 Excel 推送到 Word。我自己不是编码专家,但我在 YouTube 上观看了多个视频,我正在寻求指导。
这是一个旧命令,默认情况下不再在 Word UI 中公开:
InsertDatabase
. 您可以在“所有命令”下的“文件/选项/自定义功能区”或“快速访问工具栏”中找到它。
Database
这会通过一组对话框插入一个名为 的字段。
Get Data
与选择数据源时在邮件合并中看到的相同。这使用任何有效的连接方法(现在,ODBC 或 OLE DB - 后者是默认的)来绑定到数据源。在您的情况下,一个 Excel 工作表。如果您已为数据分配了范围名称,则该名称也可供选择。
Data options
您可以设置查询选项(过滤/排序进来的内容)。您还可以设置表格自动格式以选择预定义(或用户定义)的表格样式。
Insert Data
可以选择记录的位置。这很重要:激活复选框Insert Data as field
。这将使数据动态化。
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
在我看来,您可能可以使用不比 Word 中的 LINK 字段更复杂的东西来执行此操作,您可以通过复制(在 Excel 中)然后选择性粘贴>粘贴链接(在 Word 中)以合适的粘贴格式简单地创建它。如果您在复制和粘贴之前命名 Excel 范围,Word 中的范围将自动扩展/收缩以匹配 Excel 范围发生的情况。无需代码。