请问这段VBS代码那错了????
dim a,b,c,msga,msgbmsga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
a=int(a)
b=int(b)
c=a*b
if a="" or b="" then
msgbox("a或b值不能为空")
else
msgbox(c)
endif 最后的end if没有空格
如果我直接不输入按确定,代码还是报错。 不输入值报STRING NULL,高手看看 endif 变成end if即可(end和if加空格) dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
x=inputbox(msga)
msgb="请输入数值b"
y=inputbox(msgb)
if a="" or b="" then
msgbox("a或b值不能为空")
else
a=Cint(x)
b=Cint(y)
c=a*b
msgbox(c)
end if
刚才没看详细,这样就没问题了 CInt 函数可把表达式转换为整数(Integer)类型。
注释:值必须是介于 -32768 与 32767 之间的数字。
注释:CInt 不同于 Fix 和 Int 函数删除数值的小数部分,而是采用四舍五入的方式。 当小数部分正好等于 0.5 时, CInt 总是将其四舍五入成最接近该数的偶数。例如, 0.5 四舍五入为 0, 以及 1.5 四舍五入为 2. 谢谢了
没理解为什么多 X Y值 回复 6# vvvv_vvvv
没看明白你什么意思,现在关键是有没有解决你的问题,有个结论性的东西,方便其他人看帖的时候有个结论 程序主要是判断 a*b的值
错误判断为 A B值不为空或字符 回复 9# vvvv_vvvv
崩溃中,现在需要知道,这样能不能满足你的需求,还报错吗,结论性的东西 测了一下,还是不对,不好意思 dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
if a="" or b="" then
msgbox("a或b值不能为空或字符")
else
a=int(a)
b=int(b)
c=a*b/2
msgbox(c)
end if 请问字符怎么判断啊,是不是有表达式 dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
x=inputbox(msga)
msgb="请输入数值b"
y=inputbox(msgb)
if x="" or y="" then
msgbox("a或b值不能为空")
else
a=Cint(x)
b=Cint(y)
c=a*b
msgbox(c)
end if
现在呢,再看一下 我不是太熟悉VBS的语法,只是通过经验调试了一下 这样对字符没有控制 如果输入 ABCD 或中文就会报错 dim a,b,c,msga,msgb
Do
m=1
msga="请输入数值a"
a=inputbox(msga)
If IsNumeric(a) Then
a = CDbl(a)
If a<0 Then
m = MsgBox("输入数值大于0!",5)
End If
Else
m = MsgBox("输入数值大于0!",5)
End If
If m = 2 Or m = 0 Then
WScript.Quit
End If
Loop While m=4
Do
m = 1
msgb="请输入数值b"
b=inputbox(msgb)
If IsNumeric(b) Then
b = CDbl(b)
If b<0 Then
m = MsgBox("输入数值大于0!",5)
End If
Else
m = MsgBox("输入数值大于0!",5)
End If
If m = 2 Or m = 0 Then
WScript.Quit
End If
Loop While m=4
Randomize
c=a*b/2
msgbox(c) dim a,b,c,msga,msgb
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
a=int(a)
b=int(b)
c=a*b ----------------------------------------程序走到这就要算a*b的值了,你不输入肯定会报错的
if a="" or b="" then
msgbox("a或b值不能为空")
else
msgbox(c)
endif dim a,b,c,msga,msgb
....
a=Cint(a)
b=Cint(b) dim a,b,c,msga,msgb,y
y=0
do while y=0
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
if IsNumeric(a) and IsNumeric(b) then
a=int(a)
b=int(b)
c=a*b
msgbox(c)
y=1
else
msgbox("a或b值输入非数字型字符,请重新输入")
end if
loop
不知这个结果是不是你想要的
页:
[1]
2