VBA EXCEL中删除存在的宏

通过VBA编写宏,在Excel中批量删除指定文件夹内所有工作簿的程序部分。首先引用Microsoft Visual Basic for Applications Extensibility 5.3,然后设置FileSystemObject打开文件夹,遍历文件,逐个打开工作簿,删除每个工作簿的所有VB组件代码,并保存关闭,最后显示提示消息。确保宏安全性设置为信任VBA项目的访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. '批量删除EXCEL文件里的程序部分
  2. '引用:Microsoft Visual Basic for Applications Extensibility 5.3
  3. '宏安全性里勾选"信任对于"Visual Basic项目"的访问(V)"
  4. Private Sub CommandButton1_Click()
  5.     On Error Resume Next
  6.     Set fso = CreateObject("Scripting.FileSystemObject")
  7.     fname = ActiveWorkbook.Path & "/xls" 
  8.     Set fd = fso.getfolder(fname)
  9.     Set fls = fd.Files
  10.     For Each fl In fls
  11.         Set wb = Workbooks.Open(fname & "/" & fl.Name)
  12.     
  13.         With Application.VBE.ActiveVBProject
  14.             For i = .VBComponents.Count To 1 Step -1
  15.                 LCount = .VBComponents(i).CodeModule.CountOfLines
  16.                 .VBComponents(i).CodeModule.DeleteLines 1, LCount
  17.                 .VBComponents.Remove .VBComponents(i)
  18.             Next i
  19.         End With
  20.     wb.Save
  21.     wb.Close
  22.     Next
  23.     
  24.     MsgBox "DONE!"
  25. End Sub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值