0
我希望Excel在保存前要求我輸入密碼。如果密碼正確,則保存;如果沒有顯示警報並且不保存。BeforeSave事件提示密碼詢問用戶表單兩次
這是我寫的代碼,它調用一個用戶窗體來獲取密碼,該密碼是一個文本框和兩個按鈕,分別是「確定」和「取消」。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Password As String
Dim InputPass As String
Password = "MyPass"
UserForm1.TextBox1.Value = ""
UserForm1.Show
InputPass = UserForm1.TextBox1.Value
If InputPass = Password Then
ActiveWorkbook.Save
Else
MsgBox ("Wrong password!")
Cancel = True
End If
End Sub
問題是,當我輸入正確的密碼時,它會再次提示用戶窗體。我不想再次獲取用戶表單。
謝謝。
我還會提到它不一定是當前正在保存的「ActiveWorkbook」,「ThisWorkbook」是事件代碼中最安全的引用。 –
這個workbook.save會觸發一個保存循環嗎?然後,確實只是刪除它應該可以解決問題。 – Luuklag
是的,我現在在答案中提到。助教。 –