由布拉德·琼斯(Brad Jones)于2017年8月25日更新。
在一周的工作中,可能有很多次您发现自己将Microsoft Excel中的信息复制并粘贴到Word中,或者反之亦然。
这是人们经常根据电子表格中累积和更新的数据生成书面报告的方式。从创建专业外观的图表到设置项目管理跟踪器,Excel是一个很棒的程序,但是在编写报告时,Word是一个更好的工具。
在本文中,我们打算深入了解VBA后台脚本,该脚本使您可以对存储在Excel文件中的数据和要生成报告的Word文档之间的连接进行实际编程。
集成Microsoft Excel数据非常容易一旦知道如何添加正确的引用以及如何布置VBA后台代码的语法,就可以将它们插入Microsoft Word。
设置电子表格
在此示例中,我将我将从一个非常简单的Excel电子表格开始。实际上,Excel文件可以包含多个包含大量数据的电子表格-没关系。
只要您知道在电子表格中可以找到数据的位置,就可以访问并使用VBA进行抓取。
这是我的示例电子表格的外观。这是一整年都计算出的费用总额的列表。
设置Word文档
假设您有一位经理希望看到格式正确的报告可以描述费用,将项目分组在一起并以更美观的布局显示信息。
您可以通过将文本框和标签等对象合并到Word文档中来实现此目的。使用Word时,只需单击 Developer 菜单选项卡,然后在 Controls 部分中选择“ Design Mode" 。使用旧版工具下拉图标在文档中插入各种不同的元素。
使用此菜单插入标签。
将标签放置在文档中所需的位置(这并不总是一件容易的事),就可以对数据Feed进行编程了。但是首先,您需要命名标签,以便VBA可以识别它。右键点击标签,然后进入属性。找到(名称)字段,并对其进行命名。
现在,从相同的添加命令按钮旧版工具下拉列表,然后双击它以打开VBA编辑器。以后使代码工作时,可以对其进行修改,以使代码在 Document Open()事件上运行。您将在编辑器窗口的对象下拉框中看到这一点。
使用VBA
要开始将Word连接到Excel,您需要确保可以在VBA中引用后者。
点击工具,然后点击参考。向下滚动列表,直到看到 Microsoft Excel 16.0对象库并选择它。
完成此操作后,剩下的事情就是写一个荒谬的简单问题VBA脚本可从Excel电子表格中提取数据,并使用数据自动更新标签标题。
下面是代码:
看看它是如何工作的? “ exWb" Excel应用程序对象在您提供的路径上打开Microsoft Excel文件,它将直接进入特定的工作表和单元格编号,提取数据,并将其放入我命名的标签的Caption属性中总费用。您只需在脚本中编辑文件路径和标签名称即可。
要测试您的命令按钮,请保存您的文档,记住要指定要使用启用了Word宏的文档,以便您的代码正常工作。
这是运行中的VBA宏。
在Word中处理标签的困难之处在于有时很难对齐它
一种克服方法,实际上是将一些文本与VBA代码本身中的数据合并在一起。正如您在此处看到的那样,当我创建标签本身时,我已经将静态文本放到了标题中。
现在,您要做的就是在用标签更新标签时包括该文本。 VBA脚本,只需将Microsoft Excel文件中的数据附加到该文本的末尾。
这就是这种代码的样子。
您可以使用字符串串联放置“&"符号将静态文本与从Excel工作表中提取的数据连接起来。这是更新后的Word文档中的最终结果:
进一步研究
如果您想测试自己的能力,为什么不进一步自动化报告呢?您只需在 Document.Open()上运行数据更新脚本,就可以从Microsoft Word文档中删除难看的灰色命令按钮,整个过程将在幕后进行。
这意味着在许多情况下,您可以一次创建初始文档,然后再也不必再次创建它。只需打开它,所有标签就会使用更新的Microsoft Excel文件中的数据自动为您更新。只需点击打印,然后将报告提交给您的经理。 30分钟的工作变成了1分钟的打印输出!
您能想到使用VBA进行此数据集成技术的其他有趣用途吗?在下面的评论部分中分享您自己的想法和想法。
图片来源:Punyaphat Larpsomboon通过Shutterstock.com
标签: 数字文档 Microsoft Excel Microsoft Word Visual Basic编程