我创建了一个简单的密码生成器电子表格,当打开时会在文本输入框中提示用户输入一个5位数的数字,然后在一系列公式/命令中使用该数字来创建密码。然后,此密码将显示在输出消息框中。电子表格从锁定状态开始,解锁自身,提示输入数字,显示密码然后再次锁定工作表。完成此操作后,密码生成器宏不能再次使用。我目前的宏观如下:
Private Sub Auto_Open()
Dim InputNo As String
ActiveSheet.Unprotect ("password")
Range("R1").Value = InputBox("Please input your Number")
If Range("R1") > 0 Then
MsgBox "Your password is: " & Range("R2").Value
End If
ActiveSheet.Protect ("password")
End Sub
我需要的是输入数字的文本输入框,一旦显示密码就重新出现,这样可以多次使用该文件,而不必关闭它并重新打开它。有人可以帮忙吗?
答案 0 :(得分:0)
这是一个非常简单的方法。这里的问题是我不确定您使用的是“生成器”,但每次重新进入时数据都会丢失。这将循环您想要的许多密码,并为他们提供退出选项。 (如果密码无效,也退出。)
Sub Passwords()
Dim PWNum As Long
PWNum = 10 'Set to however many passwords you want to "calculate"
ActiveSheet.Unprotect ("password")
For i = 1 To PWNum
Range("R1").Value = InputBox("Please input your Number, enter 0 to exit")
If Range("R1") = 0 Or Len(Range("R1").Value) <> 5 Then 'Exits Sub if they enter 0 or not 5 digits
MsgBox "Invalid Password."
Exit Sub
ElseIf Range("R1") > 0 Then
MsgBox "Your password is: " & Range("R2").Value
End If
Next i
ActiveSheet.Protect ("password")
End Sub