从txt或bas文件导入源

时间:2019-12-29 09:30:55

标签: vba vbe

我想将VBA宏的源代码存储在.bas或.txt文件中,并在用户运行宏时运行它。我有多个人使用的宏,并且我想在服务器上存储文件以防止他们使用同一宏的旧版本。我在stackoverflow中找到以下行,并将其放在应该导入代码的模块代码中

'Library should be turned on Microsoft Visual Basic for Applications Extensibility 5.3
Option Explicit

Sub main()
Dim VBPrj As VBIDE.VBProject
Dim VBCom As VBIDE.VBComponent
    Set VBPrj = Application.VBE.ActiveVBProject
    Set VBCom = VBPrj.VBComponents("Module1")
    VBCom.CodeModule.AddFromFile ("C:\Users\lietu\OneDrive\Documents\tests\Module1.txt")
End Sub

然后我在正确的位置使用以下代码创建了txt文件

Attribute VB_Name = "Module1"
Sub main()
    MsgBox "Hello World"
End Sub

我做错了什么?

1 个答案:

答案 0 :(得分:0)

无法在文本文件中将代码作为VBA“宏”执行。编程语言/环境/界面根本无法以这种方式工作-没有“ ifs”,“ ands”或“ buts”-没有解决方法。

必须使用与问题内容类似的代码,将文本或bas文件的内容 导入VBA项目。

为了能够使用此代码所依赖的VB可扩展性库,必须禁用宿主Office应用程序中的特定安全设置,从而最好地使这种方法不可靠。出于可以理解的原因,无法使用代码禁用此设置。

实际上,问题中提出的方法将带来巨大的安全风险...

相关问题