0

我创建了一个简单的密码生成器电子表格,打开时会在文本输入框中提示用户输入 5 位数字,然后在一系列公式/命令中使用该数字来创建密码。然后,此密码将显示在输出消息框中。电子表格以锁定状态开始,自行解锁,提示输入数字,显示密码,然后再次锁定工作表。完成此操作后,密码生成器宏将无法再次使用。我当前的宏如下:

私有子 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")

结束子

我需要的是输入数字的文本输入框在显示密码后重新出现,以便可以多次使用此文件而无需关闭并重新打开它。有人可以帮忙吗?

4

1 回答 1

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
于 2013-09-27T13:49:02.973 回答