http://club.excelhome.net/thread-191823-1-1.html
在excel-vba可实现
一、增加模块 
1.增加一个模块,命名为“我的模块” 
2.增加一个类模块,命名为“我的类” 
3.增加一个窗体,命名为“我的窗体” 
二、删除模块 
1.删除“模块1”
2.删除窗体“UserForm1”
3.删除类模块“类1”
4.删除所有的窗体 
这实现上述功能的条件是在VBA-Excel中其引用为→Microsoft Visual Basic for Applications Extensibility 5.3以Microsoft Visual Basic for Applications Extensibility 5.3的引用为依据,
请问这个引用项主要是干什么(网上找的全是英文,翻译+理解比较困难)再请问,这个引用项在VB和autocad-vba中同样有,就是不成立。
例如在AUTOCAD-VBA中
Debug.Print Application.VBE.VBProjects.Count程序通过
而这段语句就不通过?
Set vbc = ThisDrawing.Application.VBE.VBProject.VBComponents.Add(vbext_ct_StdModule)这段语句改为在excel-vba运行语句就通过
Set vbc = ThisWorkbook.VBProject.VBComponents("UserForm1")

解决方案 »

  1.   

    Microsoft Visual Basic for Applications Extensibility即VBA 扩展类型库
    ,用于操作相关应用程序,如word、excel、acess等,它里面封闭一些操作函数和方法,
    详细资料查看VBA帮助。
      

  2.   

    谢谢回复,基本明白了工作原理?word、excel、acess→office系列VBA能够实现
    一、增加模块  
    1.增加一个模块,命名为“我的模块”  
    2.增加一个类模块,命名为“我的类”  
    3.增加一个窗体,命名为“我的窗体”  
    二、删除模块  
    1.删除“模块1”
    2.删除窗体“UserForm1”
    3.删除类模块“类1”
    4.删除所有的窗体  
    而Autocad-VBA不是完全等价office-VBA,无VBProject.VBComponents.Add扩展函数。
    因此,这段语句就不成立→
    Set vbc = ThisDrawing.Application.VBE.VBProject.VBComponents.Add(vbext_ct_StdModule)