Board logo

標題: [發問] 請問如何在excel中設定帳號密碼??(以解決) [打印本頁]

作者: 棋語鳥鳴    時間: 2011-7-8 21:48     標題: 請問如何在excel中設定帳號密碼??(以解決)

本帖最後由 棋語鳥鳴 於 2011-7-11 21:25 編輯

請問:如果我想以Sheet1之B、C欄為帳號密碼的條件,一開啟EXCEL檔時,則出現輸入帳號密碼,只有在Sheet1之B、C欄顯示的20組帳號密碼才能開啟此檔案,請問此巨集要如何設定??
[attach]6950[/attach]


由衷感謝"GBKEE"版主,為本帖子細心的回答,本帖以測試無誤~
作者: GBKEE    時間: 2011-7-9 10:14

回復 1# 棋語鳥鳴
試試看


    [attach]6952[/attach]
作者: 棋語鳥鳴    時間: 2011-7-9 22:47

回復 2# GBKEE
測試OK.....但是在請問一下!如果我想把"Sheet1" 隱藏起來,要如何修改表單密碼中的巨集呢??
作者: GBKEE    時間: 2011-7-10 08:18

回復 3# 棋語鳥鳴
Sheet1.Visible = xlSheetVeryHidden   '完全隱藏 只可用 VBA 取消隱藏
Sheet1.Visible = xlSheetHidden           '隱藏 可在工作表指令->格式->工作表-> 取消隱藏
Sheet1.Visible = xlSheetVisible             '取消隱藏
作者: 棋語鳥鳴    時間: 2011-7-10 21:40

回復 4# GBKEE

這3個我知道!但是卻不知道要加在哪一個鈕的程式碼裡??
另外有個問題,如果用隱藏,那一開始應該要取消隱藏工作表,最後在加上隱藏工作表!這樣他一取消時,不就帳號密碼都被看光了???
還是在前面又要加上application.screenupdating = false,讓它不顯示出來??
作者: GBKEE    時間: 2011-7-11 10:32

回復 5# 棋語鳥鳴
application.screenupdating ->,螢幕更新 (輸入)   不是讓它不顯示出來??

這3個我知道!但是卻不知道要加在哪一個鈕的程式碼裡??
放置密碼的工作表是管理者才有權限修改,本來就不該置於第一個工作表,任何使用者於輸入密嗎後進入檔案立即可見啊!!!
請看新版

[attach]6972[/attach]
作者: 棋語鳥鳴    時間: 2011-7-11 19:00

本帖最後由 棋語鳥鳴 於 2011-7-11 19:05 編輯

回復 6# GBKEE

這次就可以了!不過有個地方怪怪的??
我在帳號那裡輸入管理者的帳號
在密碼輸入別組的密碼例如UUU的"123",這樣也能登入耶??而且也能進入密碼表??不知是哪出了錯誤?導致這樣!!
另外在詢問一下!如何在輸入密碼時讓密碼以"*"號顯示!Thank you ~~
作者: GBKEE    時間: 2011-7-11 19:57

回復 7# 棋語鳥鳴
是怪怪的,修正密碼表單如下.
  1. Option Explicit
  2. Dim P As Integer, 密碼區 As Range
  3. Private Sub UserForm_Initialize()
  4.     Set 密碼區 = Sheet1.Range("A2", Sheet1.[C2].End(xlDown))
  5.     TextBox2.PasswordChar = "*"   '(僅英文輸入模式)  入密碼時讓密碼以"*"號顯示
  6. End Sub
  7. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  8.     If CloseMode = 0 Then Cancel = 1                  '停止用表單( X ) 關閉表單
  9. End Sub
  10. Private Sub CommandButton1_Click()
  11.     Dim R(2 To 3) As Range
  12.     Dim WshShell As Object, BtnCode As Integer
  13.     Set WshShell = CreateObject("WScript.Shell")
  14.     Set R(2) = 密碼區.Columns(2).Find(TextBox1.Text, LookAt:=xlWhole, MatchCase:=True) '尋找帳號
  15.     Set R(3) = 密碼區.Columns(3).Find(TextBox2, LookAt:=xlWhole, MatchCase:=True)      '尋找密碼
  16.     If Not R(2) Is Nothing And Not R(3) Is Nothing Then   '找到帳號與密碼
  17.         If R(2).Row = R(3).Row Then '帳號與密碼同一列
  18.             BtnCode = WshShell.popup("登入者 :" & 密碼區(R(2).Row, 1), 3, "登入訊息")
  19.             ThisWorkbook.權限 = 密碼區(R(2).Row, 1)
  20.             Unload Me
  21.         End If
  22.     End If
  23.     P = P + 1
  24.     If P > 2 Then
  25.         CommandButton1.Caption = "登入失敗了"
  26.         Unload Me
  27.         BtnCode = WshShell.popup("檔案需關閉" & Chr(10) & Chr(10) & "登入:帳號,密碼.. 錯誤", 3, "登入失敗")
  28.             'ThisWorkbook.Close False    '***  測試期間暫且不  關閉檔案 **
  29.     Else
  30.         CommandButton1.Caption = "登入次數 剩 " & 3 - P & " 次"
  31.     End If
  32. End Sub
複製代碼

作者: brabus    時間: 2011-7-19 12:14

我們有可能用passwore:=a1
而a1用b1或c1的儲存格的值都可以解密碼嗎
作者: freeffly    時間: 2012-2-22 16:45

回復 4# GBKEE


    那各xlsheetveryhidden真是厲害的方式
   從一般excel介面看不出來有被隱藏的工作表
   不過我原本使用隱藏跟顯現的方式是用false 跟 true
    效果一樣不知道有沒有差別
作者: hugh0620    時間: 2012-2-22 17:21

這個是我之前完成的檔案
除輸入帳密才能進入外~
還額外提供依使用者的權限~ 可看到不同的活頁~
提供給你參考~
http://forum.twbts.com/viewthread.php?tid=2543&highlight=
作者: GBKEE    時間: 2012-2-22 17:40

回復 10# freeffly
             工作表的值    參數                        參數 (數值)
Sheet1.Visible = xlSheetHidden                0     :        普通隱藏    工作表 指令: 格式->工作表 -> 可以 取消隱藏
Sheet1.Visible = xlSheetVisible                -1    :        工作表顯現
Sheet1.Visible = xlSheetVeryHidden       2     :         深度隱藏      工作表 指令 ->   不可以 取消隱藏  僅可用VBA 取消

Sheet1.Visible =  False                                0     :          普通隱藏    工作表 指令: 格式->工作表 -> 可以 取消隱藏
Sheet1.Visible = True                                 -1    :          工作表顯現
Sheet1.Visible = 2                                        2    :           深度隱藏      工作表 指令 ->   不可以 取消隱藏  僅可用VBA 取消

Sheets(1).Visible =  0
Sheets(1).Visible =  -1     
Sheets(1).Visible =  2
作者: arksu    時間: 2012-5-2 16:56

剛好最近需要類似功能, 找到這邊
真是大感謝~
作者: boyao    時間: 2012-7-6 13:45

回復 8# GBKEE


請問...下面這段
ThisWorkbook.權限 = 密碼區(R(2).Row, 1)
"權限"是怎麼設定ㄉㄚ

有人可以跟我說嗎? 感謝!!
作者: GBKEE    時間: 2012-7-6 14:36

回復 14# boyao
ThisWorkbook.權限 = 密碼區(R(2).Row, 1) 可以傳回 進入活頁簿是 管理者 或是 使用者 如此可加以限制使用範圍.
如同你現在是小學生 6# 的檔案你尚無權限可下載一般
作者: dhwu6008    時間: 2015-4-27 14:51

請問大大, 如果要同時設多組帳號密碼及權限該怎麼做?謝謝!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)