打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA代码库11:强制用户启用宏(续)

excelperfect

在《VBA代码库10:强制用户启用宏》中,讲解了一段用户在打开工作簿时必须启用宏才能使用工作簿功能的代码。本文给出另一段同样可以实现强制用户启用宏的代码。

如果用户没有启用宏,那么当打开工作簿时,一个特定的工作表将提示用户启用宏,而工作簿中的其他工作表则被隐藏。

代码如下:

Private Sub Workbook_Open()

    With Application

        '禁用ESC键

        .EnableCancelKey = xlDisabled

        .ScreenUpdating = False

        Call UnhideSheets

        .ScreenUpdating = True

        '重新启用ESC键

        .EnableCancelKey = xlInterrupt

    End With

End Sub

Private Sub UnhideSheets()

    Dim Sheet As Object

    For Each Sheet In Sheets

        If Not Sheet.Name = '提示' Then

            Sheet.Visible = xlSheetVisible

        End If

    Next

    Sheets('提示').Visible = xlSheetVeryHidden

   'Application.Goto Worksheets(1).[A1], True '< 可选的

    Set Sheet = Nothing

    ActiveWorkbook.Saved = True

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    With Application

        .EnableCancelKey = xlDisabled

        .ScreenUpdating = False

        Call HideSheets

        .ScreenUpdating = True

        .EnableCancelKey = xlInterrupt

    End With

End Sub

Private Sub HideSheets()

    Dim Sheet As Object '< 包括工作表和图表工作表

    With Sheets('提示')

         '工作表的隐藏构成了一种变化,这种变化产生了

         '自动的'保存?'提示,所以如果工作簿已经

         '在此之前被保存,那么下一行和前几行

         '与下面的.[A100]有关,绕过“保存?”对话...

        If ThisWorkbook.Saved = True Then.[A100] = 'Saved'

        .Visible = xlSheetVisible

        For Each Sheet In Sheets

            If Not Sheet.Name = '提示' Then

                Sheet.Visible =xlSheetVeryHidden

            End If

        Next

        If .[A100] = 'Saved' Then

            .[A100].ClearContents

            ThisWorkbook.Save

        End If

        Set Sheet = Nothing

    End With

End Sub

注:本文的代码整理自vbaexpress.com。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel_VBA从关闭的工作簿中取值多种实现方法(代码)
多表合并,你要的全在这里了,收藏好了!
Excel | VBA——合并工作簿与合并工作表
Excel如何快速合并多个工作簿至一个工作簿中?
教程 | VBA实现“聚光灯”功能的方法
【新手必备】VBA练手专题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服