ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何删除活动工作簿中的所有宏代码?

如何删除活动工作簿中的所有宏代码?

作者:绿色风 分类: 时间:2022-08-17 浏览:150
楼主
willin2000
Q:如何删除活动工作簿中的所有宏代码?
A:使用一下代码:
  1. Sub MacroDel()
  2.     Dim vbcCom, Vbc
  3.     Set vbcCom = ActiveWorkbook.VBProject.VBComponents
  4.     For Each Vbc In vbcCom
  5.         If Vbc.Name Like "Sheet*" Or Vbc.Name Like "This*" Then
  6.             Vbc.CodeModule.DeleteLines 1, Vbc.CodeModule.CountOfLines
  7.         Else
  8.             vbcCom.Remove (Vbc)
  9.         End If
  10.     Next Vbc
  11.     ThisWorkbook.Save
  12. End Sub
2楼
gvntw
补充一下:
如果宏运行后出现下面的对话框

 
请先按下面方法操作:
Excel 选项—信任中心—信任中心设置—勾选“信任对 VBA 工程对象模型的访问”,然后再运行宏。

 
3楼
yaoxuhuijsz
学习
4楼
水星钓鱼
学习下
  1. If Vbc.Name Like "Sheet*" Or Vbc.Name Like "This*" Then
这句代码假如工程中的各组件的codename不是默认的就无效了。
可以改为
  1. Sub xyf()
  2.     Dim obj As VBComponent, oVBC
  3.     Set oVBC = ActiveWorkbook.VBProject.VBComponents
  4.     For Each obj In oVBC
  5.         With obj.CodeModule
  6.             .DeleteLines 1, .CountOfLines
  7.         End With
  8.     Next
  9. End Sub
5楼
paul001
怎么恢复这个操作呢

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap