vbs清除隐藏工作名称和Macro1隐藏工作表

'清除macro1宏工作表

main

sub main
Dim fp, fs, fd, sFolder, sExt, s
fp = Left(wscript.scriptfullname, Len(wscript.scriptfullname) - Len(wscript.scriptname))
Set fs = CreateObject("scripting.filesystemobject")
Set fd = fs.getfolder(fp)
Set Files = fd.Files
s = ""
For Each file In Files
  fsFile = LCase(fs.GetFileName(file))
  fsExt = LCase(fs.GetExtensionName(file))
  if fsExt="xls" or fsExt="xlsx" then
	if xls_macro_clear(file) = 1 then
	  s = s & fsFile & ": 清除 Macro1 宏工作表成功!" & vbLf & vbLf
	end if
  end if
Next
if s = "" then s = "无 Macro1 宏工作表"
MsgBox s
end sub
Function xls_macro_clear(xls)
'On Error Resume Next
dim oExcel, wb, i, macro_flag
Set oExcel=CreateObject("Excel.Application")
oExcel.Application.ScreenUpdating = False
oExcel.Application.DisplayAlerts = False
oExcel.visible = False
set wb = oExcel.Workbooks.Open(xls)
macro_flag = 0
'msgbox "Names:" & wb.Names.count
For Each i In wb.Names
  i.Delete: macro_flag = 1
Next
For Each i In wb.Sheets
  If i.Visible <> True Then
    i.Visible = True: i.Delete: macro_flag = 1
  End If
Next
'msgbox xls & "," & macro_flag
if macro_flag = 1 then wb.Save
wb.Close
oExcel.Application.DisplayAlerts = True
oExcel.Application.ScreenUpdating = True
oExcel.quit
set wb = nothing
set oExcel = nothing
xls_macro_clear = macro_flag
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值