detecting a proteced workbook

  • Thread starter Thread starter Fan924
  • Start date Start date
F

Fan924

I can hide a single Worksheet.

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Worksheets(1).Visible = False
' Worksheets(1).Visible = True
End Sub

I want to hide a single Worksheet, but only when the Workbook is
protected. How do I detect a protected workbook?
 
Hi,

Try this

With ActiveWorkbook
IsProtected = .ProtectStructure Or .ProtectWindows
End With

Mike
 
Worksheets(4).Visible = False
If ActiveWorkbook.ProtectStructure = False Then
Worksheets(4).Visible = True
End If

But it doesn't work. After the workbook is protected, you are blocked
from changing the sheet visiility.
 
Hi,

You asked how to detect if a workbook is protected and the answer I gave you
does that. You must un-protect to hide the sheet then r-protect

Sub Sonic()
With ActiveWorkbook
isprotected = .ProtectStructure Or .ProtectWindows
End With
If isprotected Then
ActiveWorkbook.Unprotect
Sheets("Sheet1").Visible = False
ActiveWorkbook.Protect
Exit Sub
End If
End Sub

Mike
 
Perhaps your looking for something like this

Sub Sonic()
With ActiveWorkbook
isprotected = .ProtectStructure Or .ProtectWindows
End With
If isprotected Then
ActiveWorkbook.Unprotect
Sheets("Sheet1").Visible = False
ActiveWorkbook.Protect Structure:=True
Else
Sheets("Sheet1").Visible = True
End If
End Sub

Mike
 
Back
Top