VBS这段代码的两处错误怎么解决
发布网友
发布时间:2023-04-11 09:16
我来回答
共3个回答
热心网友
时间:2023-09-22 08:38
第一处,改为
if g="C" Or g="D" Or g="E" Or g="F" Or g="G" then
第二处如果有错,应该是运行时错误,确保第二第三参数不为零和负数
第三,VBS是弱类型语言,在声明变量时不能声明类型,只能用
Dim a
这样声明.
热心网友
时间:2023-09-22 08:38
Dim a, b, c, d, e, f, g
Set fso = CreateObject("scripting.filesystemobject")
Set a = fso.opentextfile("D:\1.txt", 1, True)
Set f = fso.opentextfile("D:\2.txt", 8, True)
Do While a.atendofstream = False
b = a.readline
MsgBox b
c = InStr(1, b, ":\", 0)
MsgBox c
If c > 0 Then
d = Len(b)
MsgBox d
e = Mid(b, c - 1, d - c + 2)
MsgBox e
f.writeline e
End If
Loop
a.Close
f.Close
MsgBox "done!"
IF处报错是因为g没有赋值,mid报错可能是c为0时报错
在 VBS 中只有一个基本数据类型,即 Variant,因此所有变量的数据类型都是 Variant,Dim a as string 这样声明肯定报错。追问mid那里的报错是 无效的过程调用或参数 是不是你说的值的问题?
热心网友
时间:2023-09-22 08:39
你if语句那里,g等于神马神马的,目的是什么?前面也没有给g赋值