我不想将VBA代码保存在Excel文件中的模块中,而是希望将代码保存在文本文件中,例如module1.vba
。在Excel中,module1.vba
将像普通模块一样被加载或导入并运行。
有可能吗?该怎么做?
在Excel中,在VBA编辑器中,菜单中有选项Insert > File...
确实可以实现我想要的功能,但是我不知道如何使用最少的VBA代码自动执行该操作以加载实际代码另存为文本。
这样做的原因是允许使用基于文本的应用程序(例如git
)进行代码修订控制。
---编辑---
此answer显示了一个很好的替代解决方法。但是我仍然不太乐于复制事物。
答案 0 :(得分:2)
您可以使用简单的单行代码轻松导入VBA文件:
Application.VBE.ActiveVBProject.VBComponents.Import "C:\Path\To\File.bas"
此功能适用于从VBA IDE导出的文件,其中包括诸如模块名称之类的信息以及可以在每个模块的基础上配置的其他属性。
您需要启用对VBA项目对象模型的信任访问权限,此功能才能起作用。您可以在信任中心设置的宏设置下找到它。