0
내 목표는 시트를 암호로 보호하는 것입니다."탭 선택 기능"을 숨길 수 있습니까?
사용자가 통합 문서를 열면 하나만 제외하고 모든 시트가 숨겨집니다 (매우 숨김). 사용자가 암호를 입력하면 모든 시트가 표시됩니다. VBA 코드를 사용하여 시트를 숨기고 표시하는 방법은 무엇입니까? 탭 선택 기능을 숨길 수 있습니까?
내 목표는 시트를 암호로 보호하는 것입니다."탭 선택 기능"을 숨길 수 있습니까?
사용자가 통합 문서를 열면 하나만 제외하고 모든 시트가 숨겨집니다 (매우 숨김). 사용자가 암호를 입력하면 모든 시트가 표시됩니다. VBA 코드를 사용하여 시트를 숨기고 표시하는 방법은 무엇입니까? 탭 선택 기능을 숨길 수 있습니까?
하기 전에, 내가 Excel 파일이 안전하지 않은 방법을 지적하자 얻는 방법을
이이제 통합 문서 열기 이벤트에 포함해야하는 코드에 대해 경고했습니다. 모든 것을 숨기고 (책을 닫을 때 시트가 표시되는 시나리오를 방지하기 위해) 암호를 묻습니다.
Public Sub UnlockSheets()
' 1 - hide every sheet, except the desired one
Dim aWorksheet As Worksheet
For Each aWorksheet In ActiveWorkbook.Worksheets
If aWorksheet.Name <> "desired sheet name" Then
aWorksheet.Visible = xlVeryHidden
Next
' 2 - ask for the password
Dim userPassword As String
userPassword = InputBox("Please enter your password")
If userPassword = "my_password" Then
RevealSheets
Else
MsgBox "Wrong password!", vbCritical
Application.DisplayAlerts = False
ActiveWorkbook.Close False
End If
End Sub
Public Sub RevealSheets()
'3 - Hide all the sheets
Dim aWorksheet As Worksheet
For Each aWorksheet In ActiveWorkbook.Worksheets
aWorksheet.Visible = xlSheetVisible
Next
End Sub
또 다른 문제는 사용자가 Shift 키를 누른 상태에서 모든 매크로를 중지 할 수 있다는 것입니다. 말할 필요도없이 ... 너무 안전하지 않습니다. 그렇다면 Excel 파일은 믿을 수없는 안전성으로 알려져 있지 않습니다.