返回列表 上一主題 發帖

[發問] 請問如何在excel中設定帳號密碼??(以解決)

[發問] 請問如何在excel中設定帳號密碼??(以解決)

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

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


由衷感謝"GBKEE"版主,為本帖子細心的回答,本帖以測試無誤~

回復 1# 棋語鳥鳴
試試看


    帳密設定..rar (11.04 KB)

TOP

回復 2# GBKEE
測試OK.....但是在請問一下!如果我想把"Sheet1" 隱藏起來,要如何修改表單密碼中的巨集呢??

TOP

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

TOP

回復 4# GBKEE

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

TOP

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

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

帳密設定..rar (18.72 KB)

TOP

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

回復 6# GBKEE

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

TOP

回復 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
複製代碼

TOP

我們有可能用passwore:=a1
而a1用b1或c1的儲存格的值都可以解密碼嗎
jeason

TOP

回復 4# GBKEE


    那各xlsheetveryhidden真是厲害的方式
   從一般excel介面看不出來有被隱藏的工作表
   不過我原本使用隱藏跟顯現的方式是用false 跟 true
    效果一樣不知道有沒有差別
字典兩各字 還真難理解

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題