excel学习库

excel表格_excel函数公式大全_execl从入门到精通

EXCEL工作簿如果禁用宏,将无法工作

大家好,我很早以前开始学习利用VBA,至今已有20多年了。开发过大小不同的VBA程序程序已经数不清了。我的平台,以传递我多年实际经验为宗旨,授人以渔,交给大家真正的VBA知识。如果大家对VBA感兴趣,认为VBA可以给自己的实际工作带来切实的帮助,最好系统学习我的教程,成为我的学员,汲取我的经验。由于本人年龄大了,而且学员众多,目前只能做到满足对学员答疑,辅导,对非学员朋友只能看我自己的时间是否允许,还望非学员朋友见谅。 今日推出常用“积木”过程案例分享第322期,内容是:如何做到如果禁用VBA将无法继续工作。VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我的对VBA的定义,我推出的专辑就是我多年实际利用VBA的经验记录,都来源于我多年的实践经验。目前我已经将所有代码修正为适合64位和32位两种系统,大家要把这些代码块作为一块块的积木对待,平时要多积累,建立自己的“积木库”,用时拿来可以修正、组合。这就是我的“积木编程”的思想。这些讲解就是我推出的“积木”方案,希望大家加以利用。最近代码多是出自我的第一套教程”VBA代码解决方案”。这些是非常实用的问题解决方案。========================= ① ========================= Private sh As Worksheet Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets("空白").Visible = True For Each sh In ThisWorkbook.Sheets If sh.Name <> "空白" Then sh.Visible = xlSheetVeryHidden End If Next ActiveWorkbook.Save End Sub Private Sub Workbook_Open() For Each sh In ThisWorkbook.Sheets If sh.Name <> "空白" Then sh.Visible = xlSheetVisible End If Next Sheets("空白").Visible = xlSheetVeryHidden End Sub=========================②======================== 代码解读: 1) 第2行到第10行代码是工作簿的BeforeClose事件过程,在工作簿关闭前隐藏除“空白”表以外的所有的工作表。 2) 第3行代码将“空白”表的Visible属性设置为True,使其可见。 3) 第4行到第8行代码使用For Each...Next语句遍历工作簿中所有的工作表,将除“空白”表以外的所有工作表的Visible属性设置为xlSheetVeryHidden,使之隐藏。 Visible属性设置为xlSheetVeryHidden后工作表不能通过“格式”→“工作表”→“取消隐藏”菜单来显示隐藏的工作表。 4) 第9行代码使用Save方法保存代码所在工作簿的更改,在关闭工作簿时不显示消息框。 5) 第10行到第18行代码是工作簿的Open事件过程,在打开工作簿时将除“空白”表以外的所有工作表的Visible属性设置为xlSheetVisible,取消隐藏。如果打开工作簿时禁用宏,则工作簿中除了“空白”表以外,其他的工作表还处于深度隐藏的状态,这样就达到强制用户启用宏的效果,当然这还需要VBA工程保护的配合。各套教程的介绍: 第1套:VBA代码解决方案 第2套:VBA数据库解决方案 第3套:VBA数组与字典解决方案 第4套:VBA代码解决方案之视频 第5套:VBA中类的解读和利用 第6套:VBA信息获取与处理 上述教程的学习顺序:1→3→2→6→5或者4→3→2→6→5。 分享成果,随喜正能量

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接