gpt4 book ai didi

VBA输入框不会关闭

转载 作者:行者123 更新时间:2023-12-02 23:52:48 26 4
gpt4 key购买 nike

我目前有一个如下所示的代码,用于输入密码以启动代码。我是一个 VBA 菜鸟,所以请对我宽容点。

问题:出现输入框提示时,如果密码正确就可以正常工作。如果不正确,您将有更多机会再次输入密码,但假设您不知道密码并想关闭窗口,则不能。 “x”选项和取消选项只会导致输入框提示刷新而不是关闭窗口。如何将窗口设置为关闭?

以下是书面形式的代码:

    Sub Pword()

Dim Ans As Boolean
Const Pword As String = "black2"

Ans = False

Do While Ans = False
If InputBox("Please enter password to continue.", "Enter Password") = Pword Then
Ans = True
End If
Loop

Sheets("Workshop").Range("B15:B20") = ""
Sheets("Workshop").Range("B24:B29") = ""
Sheets("Workshop").Range("B33:B35") = ""
Sheets("Workshop").Range("E5:E11") = ""
Sheets("Workshop").Range("E15:E26") = ""
Sheets("Workshop").Range("H5:H17") = ""

MsgBox "All data has been cleared."


End Sub

最佳答案

如果您需要将空字符串视为有效的输入值,则检查 InputBox 是否实际上被取消的唯一方法不是将其结果与vbNullString""(两者均为 True)。

因此,您可以使用(未​​记录的)StrPtr 函数来确定 InputBox 调用是否返回合法的空字符串,或者是否已使用以下命令主动取消 [X]或[取消]按钮:

Dim result As String
result = InputBox(...)
If StrPtr(result) = 0 Then
' inputbox was cancelled
Exit Sub
Else
' todo: validate result
End If

将其与其他答案结合起来以获得可靠的“重试”机制。

关于VBA输入框不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47272238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com