如何使用VBA重用代码

时间:2012-03-13 21:28:13

标签: vba ms-office

在VBA中工作时避免重复代码的最佳方法是什么?

我已经习惯了以下语言,我可以添加一个import语句并访问所有类的公共属性和函数,因此我可以创建一个包含一些常用函数的实用程序类,并且可以在任何项目中访问它选择将其导入。每当我想要更新其中一个功能时,只需一次编辑即可使其在所有项目中运行。

有没有什么好方法可以在VBA中复制此功能?

1 个答案:

答案 0 :(得分:13)

以下内容主要关注Excel,但我很确定这同样适用于任何Office产品。

简单的方法是将可重用代码保存为插件(* .xla用于Excel 2003,* .xlam用于Excel 2007+)。然后,您将该插件添加到Excel,您打开的所有电子表格都可以访问您的插件中的自定义功能。如果您将特定的VBA代码添加到电子表格中,您可以添加对您的插件的引用,您的VBA代码将可以访问您的插件的所有公共子,函数和类。

在我的组织中,我们使用3个自制插件 - 它们存储在C:\ Program Files \ OrganisationName中。每个人都可以访问它们。在进行更新时,我们只需要将新版本复制到每个人的硬盘驱动器并重新启动Excel,他们就拥有了新版本。

addins包含实用程序函数,例如函数:

  • 从数据中读取数据/将数据写入电子表格/文件/数据库。
  • 通常的数据操作,例如从列表中删除重复项
  • 高级统计功能

一些缺点:

  • 如果您打开了多个Excel实例,则只有一个可以更新插件,其他实例处于只读模式
  • 如果Excel崩溃,自动恢复模式通常不会保存您对插件所做的更改(新版本上的TBC) - 有一些工具可以自动保存

另一种方法是在VB或C#中开发xlls或COM库,但这是我没有尝试过的。

如果您需要更详细的程序,网上有很多教程。