Vbscript 是否可以使用msgbox调用用户定义子过程?

Vbscript 是否可以使用msgbox调用用户定义子过程?,vbscript,msgbox,Vbscript,Msgbox,例如代码: show_box() Function show_box() result = MsgBox ("Please follow steps in document"vbCrLf & vbCrLf _ & "Click OK to call sum procedure" & vbCrLf & vbCrLf _ & "Click No to call substraction pr

例如代码:

show_box()
Function show_box()
result = MsgBox ("Please follow steps in document"vbCrLf & vbCrLf _ 
                 & "Click OK to call sum procedure" & vbCrLf & vbCrLf _
                 & "Click No to call substraction procedure"& vbCrLf & vbCrLf _
                 & "Click cancel to print hello")
Select Case result
       case 1
            msgbox(sum(1,2))
       case 7
           msgbox(substraction(4,2))            
       Case 2
           msgbox("Hello")
       End Select
END Function


sub sum(a,b)
  sum = a+b
  msgbox(sum)
end sub

sub substraction(a,b)
  substraction = a - b  
  msgbox(substraction)
end sub
结果应该是:当我点击OK时,然后调用sum(a,b)过程,依此类推。我尝试了很多次使用不同的方法,但都没能解决这个问题。
非常感谢您的帮助

试试类似的方法:

函数和(a,b)
总和=a+b
端函数
函数减法(a,b)
减法=a-b
端函数
子显示框()
模糊结果
结果=MsgBox(“请遵循文档中的步骤”&vbCrLf&vbCrLf\u
&“单击是调用求和过程”&vbCrLf&vbCrLf_
&“单击“否”调用减法过程”&vbCrLf&vbCrLf_
&“单击“取消”打印hello”,
VBYESNONCEL(取消)
选择案例结果
案例vbYes
MsgBox(CStr(总和(1,2)))
案例vbNo
MsgBox(CStr(减法(4,2)))
案例vbCancel
MsgBox(“你好”)
结束选择
端接头
显示_框()

非常感谢您及时提供解决方案。但是,单击“确定”按钮时仍然存在一些问题“按钮。如果单击“确定”,则不会显示任何内容。但当我单击“否”和“取消”时,它工作正常。如果我写的是过程而不是函数,会发生什么@单击“确定”按钮时,类似
MsgBox
的RemySounds不会返回
vbOK
。您是否尝试调试代码以验证这一点?这是一个“是/否”对话框,而不是“确定”对话框,因此永远不会返回
vbok
。@markgood catch
MsgBox()
没有“确定/否/取消”对话框,这就是为什么我将“确定”更改为“是”,但忘记将
vbOK
更改为
vbYes
以匹配。我现在已经修好了。非常感谢@Mark。如果我想使用子过程而不是函数,会发生什么。。。我试过了,但发现了类型不匹配错误。你有什么解决办法吗?