VBA

excel强制启用VBA

Posted by 浮生 on 04-01,2020

事实上VBA的启用依赖于运行的容器,VBA本身没有强制启用的功能。但是我们可以用另外一种方法来实现 强制启用的功能:如果不启用那么,显示一个页面,提示启用;如果启用就隐藏提示,显示正文。
大概代码如下:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim sh AsWorksheet
    ForEach sht In Worksheets
        If sht.Name<>”Welcome”Then
           Sheets(sht.Name).Visible= False
        End If
    Next
    Sheets(“Welcome”).Visible= True
    Sheets(“Welcome”).Select
    ThisWorkbook.Save
End Sub
Private Sub Workbook_Open()
    Dim sht AsWorksheet
    ForEach sht In Worksheets
        If sht.Name<>”Welcome” Then
            sht.Visible = xlSheetVisible
        End If
    Next
    Worksheets(“Welcome”).Visible= xlSheetVeryHidden
    ThisWorkbook.Save
End Sub

代码很好理解:关闭之前,隐藏所有sheet,只显示Welcome;打开文件隐藏Welcome,显示正文。