【发布时间】:2014-04-09 00:46:08
【问题描述】:
在 VBA 中工作时避免重复代码的最佳方法是什么?
我已经习惯了可以添加导入语句并访问所有类的公共属性和函数的语言,因此我可以创建一个具有一些常用函数的实用程序类,并可以在我的任何项目中访问它选择导入到。每当我想更新其中一项功能时,只需进行一次编辑即可使其在所有项目中运行。
有没有什么好的方法可以在 VBA 中复制此功能?
【问题讨论】:
在 VBA 中工作时避免重复代码的最佳方法是什么?
我已经习惯了可以添加导入语句并访问所有类的公共属性和函数的语言,因此我可以创建一个具有一些常用函数的实用程序类,并可以在我的任何项目中访问它选择导入到。每当我想更新其中一项功能时,只需进行一次编辑即可使其在所有项目中运行。
有没有什么好的方法可以在 VBA 中复制此功能?
【问题讨论】:
以下内容侧重于 Excel,但我很确定这同样适用于任何 Office 产品。
简单的方法是将可重用代码保存为插件(*.xla 用于 Excel 2003,*.xlam 用于 Excel 2007+)。然后,您将插件添加到 Excel,您打开的所有电子表格都可以访问插件中的自定义功能。如果您将特定的 VBA 代码添加到电子表格,您可以添加对插件的引用,您的 VBA 代码将可以访问插件的所有公共子、函数和类。
在我的组织中,我们使用 3 个自制插件 - 它们存储在 C:\Program Files\OrganisationName 中。每个人都可以访问它们。当有更新时,我们只需要将新版本复制到每个人的硬盘并重新启动 Excel,他们就有了新版本。
插件包含实用程序功能,例如功能:
一些缺点:
另一种方法是在 VB 或 C# 中开发 xlls 或 COM 库,但这是我没有尝试过的。
如果你需要更详细的过程,网上有很多教程。
【讨论】: