|
看了教程,基本都是将删除工作表的功能指向一个新的自编子过程来实现的,我在2013中怎么也无法正常实现这个功能,示例中的这些代码总是没法正常保护工作表不被删除。
教程示例见附件。
我实现这个功能用了下面两种方法:
1:
Private Sub Worksheet_BeforeDelete()
MsgBox "禁止删除本工作表,本excel文件将立即将退出!"
Application.DisplayAlerts = False
ActiveWorkbook.Close True
End Sub
就是在删除工作表的动作进行以前,强制保存并退出文件。缺点:会导致后面的删除工作表操作出错,不过只要点下确定就行了。
2:
Private Sub Worksheet_BeforeDelete()
Sheets("工龄").Copy after:=Sheets("工龄")
Sheets("工龄").Name = "dlsaflajl6535随便写个乱码字符串"
ActiveSheet.Name = "工龄"
MsgBox "禁止删除这个工作表!(codename已经变更)"
End Sub
缺点:这个工作表Sheets("工龄")的codename会变。
|
|