心里的期待 2024-05-25 05:31 采纳率: 0%
浏览 82

Excel vba 用InputBox弹窗,输入框怎么屏蔽,用*号代替

Excel vba 用InputBox弹窗,输入框怎么屏蔽,用*号代替,网上找了好多示例,都不行,不想用控件,求指导指导~

img

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2024-05-25 05:31
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    在Excel VBA中,标准的InputBox函数并不支持密码隐藏功能,即它不能直接显示输入内容为星号(*)。但是,你可以通过一些技巧来实现这个功能。以下是一个简单的示例,它使用了一个自定义的函数来模拟带有密码隐藏的InputBox

    Function PasswordInputBox(prompt As String) As String
        Dim s As String
        Dim i As Integer
        
        ' 显示标准的InputBox让用户输入密码
        s = InputBox(prompt, "Password Input")
        
        ' 检查是否输入了内容
        If s = "" Then
            PasswordInputBox = ""
            Exit Function
        End If
        
        ' 创建一个与输入内容长度相同的星号字符串
        For i = 1 To Len(s)
            PasswordInputBox = PasswordInputBox & "*"
        Next i
    End Function
    
    Sub TestPasswordInput()
        Dim s As String
        s = PasswordInputBox("Please enter your password:")
        MsgBox "You entered: " & s
    End Sub
    

    此代码定义了一个名为PasswordInputBox的函数,它首先提示用户输入密码,然后创建一个与输入内容长度相同的星号字符串作为返回值。在TestPasswordInput子程序中,我们调用了这个函数并显示了用户输入的内容(以星号显示)。

    请注意,这个方法并没有真正隐藏密码,它只是显示了一个与输入长度相同的星号字符串。实际的密码仍然存储在变量s中,并且可以在VBA代码中被访问。如果你需要进一步保护密码,你可能需要考虑其他方法,例如使用Windows API函数或第三方库。

    由于这是一个编程问题,通常不需要引用外部链接,因此我没有引用任何链接。如果你需要进一步的帮助或有其他问题,请随时提问。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月25日