5

我想用 VBA 创建一个代码模块。当我已经有一个代码模块时,我知道我可以使用以下方法设置它:

Set cdmdl = wbk.VBProject.VBComponents(codeModuleName).CodeModule

但是如果代码模块不存在,我该如何创建呢?

我尝试了几行,例如:

Set cdmdl = new.wbk.VBProject.VBComponents(codeModuleName).CodeModule
Set cdmdl = create.wbk.VBProject.VBComponents(codeModuleName).CodeModule

但他们没有奏效。我也用谷歌搜索过,但这似乎不是一个热门话题。

4

1 回答 1

6

这对我有用:

Public Function CreateModule(xlwb As Workbook) As VBComponent
    Dim module As VBComponent
    Set module = xlwb.VBProject.VBComponents.Add(vbext_ct_StdModule)
    module.Name = "MyModule"
    module.CodeModule.AddFromString "public sub test()" & vbNewLine & _
                                    "    'dosomething" & vbNewLine & _
                                    "end sub"
    Set CreateModule = module
End Function

AddFromFile如果您有一个已导出的 .bas 文件并且想要加载到工作簿中,您也可以这样做。

于 2013-08-29T00:30:19.610 回答