【问题标题】:How to Reuse Code with VBA如何使用 VBA 重用代码
【发布时间】:2014-04-09 00:46:08
【问题描述】:

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

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

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

【问题讨论】:

    标签: vba ms-office


    【解决方案1】:

    以下内容侧重于 Excel,但我很确定这同样适用于任何 Office 产品。

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

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

    插件包含实用程序功能,例如功能:

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

    一些缺点:

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

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

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

    【讨论】:

    • 完美。因为我忘记设置参考而被卡住了一点,但是一旦我重读了你的帖子并做到了,它就一切正常了。谢谢:)
    • 这里解决了您的一个缺点(更新):excelguru.ca/…。希望这对将来来这里的人有所帮助。
    猜你喜欢
    • 2016-07-05
    • 2020-10-09
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多