在InputBox上自动输入答案

时间:2017-11-09 08:10:46

标签: vba excel-vba excel

您好如何在Excel上运行一个宏,自动在AutoCad上的输入框中插入并“输入”答案,而无需亲自手动执行。我如何修改下面的代码:

Sub DWG ()
Pump: ans = InputBox("1 = STD Piping" & vbCrLf & _
           "2 = Omit Pump" & vbCrLf & _
           "3 = SBPP", "Pump Piping")

Select Case ans

Case "1":
: Set layerObj = ThisDrawing.Layers.Add("PUMP_PIPING_" & Size)
            layerObj.LayerOn = True
Case "2":

: Set layerObj = ThisDrawing.Layers.Add("OMIT_PUMP_" & Size)
            layerObj.LayerOn = True
Case "3":

: Set layerObj = ThisDrawing.Layers.Add("STBP_" & Size)
            layerObj.LayerOn = True


Case Else: MsgBox "Wrong Input Dude.", vbCritical, MSG: Exit Sub

End Select

1 个答案:

答案 0 :(得分:0)

你不能以一种简单的方式自动“输入”一个输入框 - 即使有可能,我认为你不应该 - 你的代码将成为一场噩梦。

您可以将“make”选项作为可选参数传递给您的例程,并仅在省略参数时显示InputBox:

Sub DWG(Optional answer As String = "")

    If answer = "" Then
       answer = InputBox("1 = STD Piping" & vbCrLf & _
           "2 = Omit Pump" & vbCrLf & _
           "3 = SBPP", "Pump Piping")
    End If
    select case answer
        ....
end sub

然而,这不会让您无法通过所有代码。