取消或隐藏vba中的输入框

时间:2016-12-05 11:33:33

标签: excel-vba vba excel

我有一个代码,要求使用InputBox在1-3之间输入,然后根据给出的输入运行代码。我遇到的问题是我不再需要InputBox,因为我打算做的工作只使用一个输入,即3.我试图移除输入框并只插入3然后然后代码什么都不做。然后我尝试在框中插入一个默认值,但它仍然出现,需要我点击输入,这是我想避免的。请问我应该怎么解决这个问题。

我的代码

Function GetTypeFile() As Integer

    Dim strInput As String, strMsg As String
    Dim Default

    choice = 0
    While (choice < 1 Or choice > 3)
        Default = "3"

        strMsg = "Type in the kind of entities to create (1 for points, 2 for points and splines, 3 for points, splines and loft):"
        strInput = InputBox(Prompt:=strMsg, _
                    Title:="User Info", Default:=3, XPos:=2000, YPos:=2000)

        'Validation of the choice
        choice = CInt(strInput)
        If (choice < 1 Or choice > 3) Then
            MsgBox "Invalid value: must be 1, 2 or 3"
        End If
    Wend
    GetTypeFile = choice

End Function

2 个答案:

答案 0 :(得分:1)

您的函数将值返回到调用的位置,因此您可以使用:

Function GetTypeFile() As Integer
    GetTypeFile = 3
End Function  

或只是使用数字3替换对该函数的任何调用。

所以而不是像:

Sub Test()
    ThisWorkbook.SaveAs "MyFileName", GetTypeFile
End Sub

你有:

Sub Test()
    ThisWorkbook.SaveAs "MyFileName", 3
End 

答案 1 :(得分:0)

谢谢大家的回复。我只是通过将依赖于inputbox中的值的变量设置为3而不是TypeDocument=GetTypeFile直接设置为TypeDocument=3来理解要做什么。我认为这是你们一直试图说的话。再次感谢你。