Tôi nghĩ điều này sẽ đơn giản, nhưng điều đó chứng tỏ khá khó khăn. Bất kỳ lời khuyên hay ý tưởng nào sẽ được ứng dụng.VBA Cách buộc một chức năng trở lại khi một Nút Biểu mẫu được nhấn
Tôi có một biểu mẫu trong Excel rằng nếu một nút nhất định được nhấn, tôi cần người dùng nhập mật khẩu trước khi mã cho nút đó được chạy.
Tôi chỉ có thể sử dụng một inputbox, nhưng điều đó sẽ cho phép bất cứ ai khác để xem mật khẩu khi nó được gõ vào. Vì vậy, tôi muốn sử dụng một hình thức thứ hai với một textbox và đặt nó là tham số PasswordChar để *
đây là vấn đề. Tôi muốn sử dụng mã như thế này
if checkPassword("Please enter your password") = False then exit sub
checkPassword
là hàm lấy chuỗi làm tham số. Hàm này mở một biểu mẫu và đặt thông báo vào một lable. Người dùng nên nhập mật khẩu và nhấn OK.
phụ btnOK_Click()
nên kiểm tra mật khẩu chính xác và sau đó buộc chức năng mở biểu mẫu trả về True nếu mật khẩu OK hoặc Sai là mật khẩu không chính xác.
Tôi không thể biết cách ép buộc hàm trả về. Tôi đã thử đặt một biến toàn cục thành True hoặc False khi người dùng bấm OK và sau đó dỡ bỏ biểu mẫu. Điều này làm cho hàm trả về, nhưng nó cũng đặt lại tất cả các biến toàn cầu được thiết lập bởi biểu mẫu.
Đây là chức năng của tôi mà các cuộc gọi dưới dạng
Function checkPassword(message As String) As Boolean
frmPassword.Show
frmPassword.passwordMsg.Caption = message
'passwordStatus is a global variable
If passwordStatus = True Then checkPassword = True Else checkPassword = False
End Function
Đây là phụ liên kết với nút hình thức OK:
Private Sub passwordok_Click()
If Me.passwordtext.Text = "password" Then
passwordStatus = True
Else
passwordStatus = False
End If
Unload Me
End Sub
Xin chào Alex, Cảm ơn vì giải pháp này. Tôi đã thử các giải pháp từ Siddharth và nó làm việc tốt (Nhiều nhờ Siddharth một lần nữa), nhưng giải pháp của bạn là gần với những gì tôi ban đầu muốn làm. Tôi đã thử nó và nó hoạt động tuyệt vời, đơn giản hơn nhiều và tải nhỏ hơn. Cảm ơn – PrestonDocks
Tôi đã sử dụng điều này, nó hoạt động awsome, ngoại trừ việc tôi đã phải đặt 'passwordStatus = Me.passwordtext.Text =" password "' sau khi 'unload me' khi unload reset biến đó, điều này có gây ra vấn đề không? – user1759942