当前位置: 代码迷 >> Office >> 在启用宏之前,excel表格处于非编辑状态,代码如何写
  详细解决方案

在启用宏之前,excel表格处于非编辑状态,代码如何写

热度:485   发布时间:2016-05-05 05:46:21.0
在启用宏之前,excel表格处于非编辑状态,代码怎么写
求教VBA高手!在启用宏之前,excel表格不能编辑,启用宏之后,可编辑,代码该怎么写
------解决方案--------------------
通过vba设置 保护工作表 取消保护工作表 

Sub Macro1()
'
' Macro1 Macro
'

'
    Sheets("Main").Select
    ActiveSheet.Protect Password:="aaa", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub


Sub Macro2()
'
' Macro2 Macro
'

'
    Sheets("Main").Select
    ActiveSheet.Unprotect Password:="aaa"
End Sub

------解决方案--------------------
在启用宏状态下 Workbook_Open 事件里 设置取消保护工作表
在启用宏状态下 Workbook_BeforeSave 设置 保护工作表
这样未启用宏的状态下打开的全部都是 已经被保护的工作表
------解决方案--------------------

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

For Each wks In ThisWorkbook.Sheets

wks.Protect Password:="aaa", DrawingObjects:=True, Contents:=True, Scenarios:=True

Next

End Sub

Private Sub Workbook_Open()

For Each wks In ThisWorkbook.Sheets

wks.Unprotect Password:="aaa"

Next

End Sub

  相关解决方案