作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想用 VBA 创建一个代码模块。当我已经有了一个代码模块时,我知道我可以使用以下方法设置它:
Set cdmdl = wbk.VBProject.VBComponents(codeModuleName).CodeModule
但是如果代码模块不存在,我该如何创建它?
我尝试过以下几行:
Set cdmdl = new.wbk.VBProject.VBComponents(codeModuleName).CodeModule
Set cdmdl = create.wbk.VBProject.VBComponents(codeModuleName).CodeModule
但他们没有发挥作用。我也用 Google 搜索过,但这似乎不是一个热门话题。
最佳答案
这对我有用:
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
如果您有已导出的 .bas 文件并且想要加载到工作簿中,也可以AddFromFile
。
关于excel - 如何在 VBA 中创建代码模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18499361/
我是一名优秀的程序员,十分优秀!