EXCEL强制启用宏的实现
如果,EXCEL禁用了宏,那么,我们制作的很多功能就不能实现了。为此,必须要求启用宏。
首先,当然是在工作薄里添加一个名为“启用宏”的工作表,写上些内容,提示如何启用宏。
其次,在模块里添加如下代码
Sub AskUserEnabledMacros()
Dim wkslnfoSheet As Worksheet
Dim objSheet As Object
On Error Resume Next
Set wkslnfoSheet = ThisWorkbook.Worksheets("启用宏")
If wkslnfoSheet Is Nothing Then '<启用宏>工作表并判断其是否存在
MsgBox"不能找到<启用宏>工作表", vbCritical
Exit Sub
End If
Application.ScreenUpdating = False '关闭屏幕更新
For Each objSheet In ThisWorkbook.Sheets '隐藏其他工作表
objSheet.Visible =xlSheetVisible
Next objSheet
wkslnfoSheet.Visible = xlSheetVeryHidden '显示启用宏工作表
ThisWorkbook.Saved = True
Application.ScreenUpdating = True
End Sub
Sub RunOnClose()
Dim wksInfoSheet AsWorksheet
Dim objSheet AsObject
On Error ResumeNext
Set wksInfoSheet =ThisWorkbook.Worksheets("启用宏") '<启用宏>工作表并判断其是否存在
If wksInfoSheet IsNothing Then
MsgBox "不能够找到<启用宏>工作表", vbCritical
Exit Sub
End If
Application.ScreenUpdating = False '关闭屏幕更新
wksInfoSheet.Visible =xlSheetVisible
For Each objSheet InThisWorkbook.Sheets '隐藏其他工作表
If Not objSheet Is wksInfoSheet Then
objSheet.Visible = xlSheetVeryHidden
End If
Next objSheet
Application.ScreenUpdating = True '屏幕更新
ThisWorkbook.Save '保存工作簿
End Sub
-------------------------------------------------------------------------
华丽的分割
然后再,thisWorkBok对象的Open事件里引用AskUserEnabledMacros方法
beforColse事件里引用RunOnClose方法
完美收官。
赞 (0)