根据表达式的值,转到特定行执行。
语法
On expression GoSub destinationlist
On expression GoTo destinationlist
OnGoSub 和 OnGoTo 语句的语法具有以下几个部分:
部分 描述
expression 必要参数。数值表达式,其运算结果应该是一个界于 0 到 255 之间的整数,包含 0 和 255。如果 expression 的计算结果不是
一个整数,则它会先四舍五入为一个整数。
destinationlist 必要参数。行号或行标签的列表,之间要以逗号隔开。
说明
expression 的值会决定转到 destinationlist 中的哪一行。如果 expression 的值小于 1 或大于列表的项目个数,则会产生下面的结果之一
:
如果表达式的值 则
等于 0 控制权会转移到 OnGoSub 或 OnGoTo 之后的语句。
大于串的项目个数 控制权会转移到 OnGoSub 或 OnGoTo 之后的语句。
负数 会发生错误。
大于 255 会发生错误。
可以在同一个列表中混合使用行号和行标签。在 OnGoSub 和 OnGoTo 中也可随意使用任意个行号和行标签。但是,如果使用了太多的行
标签或行号,以至于在一行中放不下,那么就必须在一行后使用>续行符来衔接到下一行。
提示 若要执行多重分支,Select Case 提供了一种结构化与适应性更强的方法。如下代码:dim a as integera=val(inputbox("输入数字```"))select case acase 0 goto l0case 1 goto l1case 2 goto l2case else goto lel0: msgbox "你输入的是0" goto endll1: msgbox "你输入的是1" goto endll2: msgbox "你输入的是2" goto endlle: msgbox "你输入的既不是0,也不是1 也不是2" goto endl endl: 以上代码中 l0 l1 l2 le endl 就是标签,调用的时候就用goto 语句了首先
你得有那个xx
在某一行写上
abc:
(记得冒号,abc可以使任意有效标识)
然后就可以
用
goto
abc
来跳转了
这种跳转是无条件的
而且不会返回
所以
用的时候注意
goto之后的程序会不会出错sub mymain(myline)
select case myline
case line1
msgbox "hello 1"
case Line2
msgbox "hello 2"
end select
end sub
sub abc1
a = 2
If a = 1 then
call mymain("line1")
Else
call mymain("Line2")
End If
End sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)