要實現只有管理者權限才能開啟工作表索引標籤的功能,需要進一步的控制和安全設定。以下是一個示例程式碼,演示如何檢查使用者權限並要求密碼:
Sub ToggleWorkbookTabs()
' 檢查使用者權限
If Not CheckAdminAccess() Then
' 若非管理者權限,要求密碼
Dim password As String
password = InputBox("請輸入管理者密碼:")
' 驗證密碼
If password = "your_password" Then
' 開啟工作表索引標籤
ActiveWindow.DisplayWorkbookTabs = True
Else
MsgBox "無效的密碼,無法開啟工作表索引標籤。"
End If
Else
' 若為管理者權限,開啟工作表索引標籤
ActiveWindow.DisplayWorkbookTabs = True
End If
End Sub
Function CheckAdminAccess() As Boolean
' 檢查使用者是否具有管理者權限
' 在此可以根據需要自行實作檢查邏輯
' 若使用Windows認證,可以使用以下程式碼
' Return My.User.IsInRole("Administrators")
' 若使用自訂的使用者權限系統,則需根據系統設計進行相應的檢查
' 假設此處直接回傳False,表示非管理者權限
Return False
End Function
以下是一個示例程式碼,演示如何設置工作表保護和解鎖
Sub ProtectWorksheet()
Dim password As String
password = InputBox("請輸入工作表密碼:")
' 設置工作表保護
ActiveSheet.Protect Password:=password, UserInterfaceOnly:=True
' 隱藏工作表索引標籤
ActiveWindow.DisplayWorkbookTabs = False
End Sub
Sub UnprotectWorksheet()
Dim password As String
password = InputBox("請輸入工作表密碼:")
' 解鎖工作表
ActiveSheet.Unprotect Password:=password
' 顯示工作表索引標籤
ActiveWindow.DisplayWorkbookTabs = True
End Sub
在上述示例中,ProtectWorksheet子程序用於保護工作表並隱藏工作表索引標籤,而UnprotectWorksheet子程序用於解鎖工作表並顯示工作表索引標籤。使用這些子程序,你可以在需要時為工作表設置密碼保護並控制工作表的顯示。
想問, 這個 your_password 只要開這個 vba 就可以看到, 對嗎?
your_password 是你可以自定義的
我是剛入VB的初學者,
EXCEL檔VB程式若設定管理者權限密碼後,
從EXCEL選項中也無法勾選 『顯示工作表索引標籤』
以避免其他人員自行開啟工作表索引標籤 (只有管理者解除密碼才可)
剛用示例程式碼1, 出現編譯錯誤;語法錯誤
游標停在 Return False....
還請rain_yu大師指導!
前面問題可能敘述說明或表達時不是很明確 ,
茲截圖說明如下提供 給大師您參考 ~
直接貼上當然錯誤阿,註解只是方便你知道要寫甚麼而已,
你還是要將程式補上,如果你不懂你應該開始上網查寫法。
我已經把流程和註解給你了。
你至少要寫到一定程度,如果還是錯誤再來提出問題。
按照你得新邏輯,我大概整理了一下邏輯:
"
excel工作表頁籤,除首頁外預設全部隱藏,
首頁上要有按鈕 當點選按鈕時,跳出對話框詢問是否顯示工作表頁籤,選是後 需輸入密碼"1234" ,正確時顯示頁籤。
"
你再按照這方式寫看看有沒有符合需求。
Private Sub CommandButton1_Click()
Dim password As String
password = InputBox("請輸入密碼", "輸入密碼")
If password = "1234" Then
Sheets.Visible = True
Else
MsgBox "密碼不正確!"
End If
End Sub
這樣,當你點擊首頁上的按鈕並輸入正確的密碼時,隱藏的工作表頁籤將顯示出來。請確保在保存文件時啟用了宏,以便 VBA 代碼可以正常運行。