Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将N个数据项从excel导出到word_Excel_Vba_Ms Word_Word Field - Fatal编程技术网

将N个数据项从excel导出到word

将N个数据项从excel导出到word,excel,vba,ms-word,word-field,Excel,Vba,Ms Word,Word Field,我想知道是否可以从Microsoft Excel创建数据输入集,并将其直接导出到Microsoft Word中 例如,如果我正在制作一个电话簿,在Excel中列出此人的名字、姓氏、地址和电话号码,这将自动将数据导出到Word 我不希望在Word中有一定数量的条目,也不希望复制和粘贴,而是希望在向Excel添加更多条目时,将数据从Excel推送到Word中。我自己也不是一名编码专家,但我在YouTube上观看了多个视频,我正在寻找指导。这是一个旧命令,默认情况下不再在Word UI中公开: 插入数

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

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


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

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

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

  • Get Data
    与选择数据源时在邮件合并中看到的内容相同。这将使用任何有效的连接方法(现在是ODBC或OLE DB,后者是默认的)绑定到数据源。在您的例子中,是Excel工作表。如果已为数据指定了范围名称,则该名称也可供选择

  • 数据选项
    您可以设置查询选项(过滤/排序输入内容)。还可以设置“表格自动格式”以选择预定义(或用户定义)的表格样式

  • 在可选择记录的位置插入数据
    。这很重要:激活复选框
    将数据作为字段插入
    。这将使数据具有动态性

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

  • {DATABASE\d“C:\Users\[User name]\Documents\SampleChart.xlsx” \c“Provider=Microsoft.ACE.OLEDB.12.0;用户ID=Admin;数据 Source=C:\Users\Cindy Meister\Documents\SampleChart.xlsx;模式=读取;扩展 属性=\“HDR=YES;IMEX=1;\”Jet OLEDB:系统数据库=\“\”Jet OLEDB:注册表路径=\“\”Jet OLEDB:引擎类型=37;Jet OLEDB:数据库 锁定模式=0;Jet OLEDB:全局部分批量操作=2;Jet OLEDB:全局 批量事务=1;Jet OLEDB:新数据库密码=\“\”Jet OLEDB:创建系统数据库=False;Jet OLEDB:加密 Database=False;Jet-OLEDB:不复制Compact=False上的区域设置;Jet OLEDB:Compact无副本修复=错误;Jet OLEDB:SFP=错误;Jet OLEDB:支持复杂数据=False;Jet OLEDB:绕过用户信息 Validation=False“\s”从
    ChartInfo
    “\h}中选择*

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

    ActiveDocument.Bookmarks("Database").Range.Fields.Update 
    

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

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

  • Get Data
    与选择数据源时在邮件合并中看到的内容相同。这将使用任何有效的连接方法(现在是ODBC或OLE DB,后者是默认的)绑定到数据源。在您的例子中,是Excel工作表。如果已为数据指定了范围名称,则该名称也可供选择

  • 数据选项
    您可以设置查询选项(过滤/排序输入内容)。还可以设置“表格自动格式”以选择预定义(或用户定义)的表格样式

  • 在可选择记录的位置插入数据
    。这很重要:激活复选框
    将数据作为字段插入
    。这将使数据具有动态性

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

  • {DATABASE\d“C:\Users\[User name]\Documents\SampleChart.xlsx” \c“Provider=Microsoft.ACE.OLEDB.12.0;用户ID=Admin;数据 Source=C:\Users\Cindy Meister\Documents\SampleChart.xlsx;模式=读取;扩展 属性=\“HDR=YES;IMEX=1;\”Jet OLEDB:系统数据库=\“\”Jet OLEDB:注册表路径=\“\”Jet OLEDB:引擎类型=37;Jet OLEDB:数据库 锁定模式=0;Jet OLEDB:全局部分批量操作=2;Jet OLEDB:全局 批量事务=1;Jet OLEDB:新数据库密码=\“\”Jet OLEDB:创建系统数据库=False;Jet OLEDB:加密 Database=False;Jet-OLEDB:不复制Compact=False上的区域设置;Jet OLEDB:Compact无副本修复=错误;Jet OLEDB:SFP=错误;Jet OLEDB:支持复杂数据=False;Jet OLEDB:绕过用户信息 Validation=False“\s”从
    ChartInfo
    “\h}中选择*

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

    ActiveDocument.Bookmarks("Database").Range.Fields.Update 
    

    在我看来,您可能可以使用Word中的链接字段来完成此操作,您可以通过复制(在Excel中)然后粘贴特殊>粘贴链接(在Word中)以合适的粘贴格式创建链接字段。如果在复制和粘贴之前命名Excel范围,Word中的范围将自动扩展/收缩,以与Excel范围中发生的情况相匹配。无需任何代码。

    在我看来,您可能可以使用Word中的链接字段来完成此操作,您可以通过复制(在Excel中)非常简单地创建链接字段