以下是引用老刀在2003-7-26 22:16:00的发言: 恐怕不行!如取消宏,系统就把所有的vba隔绝了,所以vba代码起不到丝毫的作用。 application的visible可以达到第4点的效果。
我看了一下不知哪位前辈的大作(下载后研究了一下,呵呵……和一楼的一样,也不知到谁是原作了,对不起),觉得这样也不错:
第一段
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim sh As Worksheet Sheet1.Visible = True For Each sh In Me.Worksheets If UCase(sh.Name) <> "SHEET1" Then sh.Visible = xlSheetVeryHidden Next sh Me.Save End Sub
第二段 Private Sub Workbook_Open() Dim sh As Worksheet For Each sh In Me.Worksheets If UCase(sh.Name) <> "SHEET1" Then sh.Visible = xlSheetHidden Next sh Sheet1.Visible = True End Sub
文件先将重要表隐藏起来(取消隐藏工作表也不能运行),在打开文件时,如不执行宏,就打不开重要的工作表,执行宏后,这将重要的工作表显示出来,这样的方法也不错。 |