Set FSO = CreateObject("Scripting.FileSystemObject")
Set Note = FSO.OpenTextFile("C:\VB Script Trying\textdata.txt", 1)
Do Until Note.AtEndOfStream
'Textline = Note.Readline()
WScript.Echo(VarType(Split(Note.Readline, " ")(1))) 'Dynamically Checked
Loop
上面的代码很简单,我从一个文件中读取并且必须在文本文件中显示每个单词/数字的数据类型。
这个内容:
( Hai 1.2 1000 a b c )
代码只运行“Hai”,它不会显示下一个单词或数字。
答案 0 :(得分:2)
您的Split返回一个数组。您在此处选择基于零的数组的SECOND元素Split(Note.Readline, " ")(1)
并获取它的vartype。您实际上是在数组中获取1.2
的VarType ...所以不是每个元素,而不是第Hai
项Split(Note.Readline, " ")(0)
要获取每个元素的vartype,然后迭代你的数组:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Note = FSO.OpenTextFile("C:\VB Script Trying\textdata.txt", 1)
Do Until Note.AtEndOfStream
'Textline = Note.Readline()
For Each elem in Split(Note.Readline, " ")
WScript.Echo(elem & ": " & VarType(elem))
Next elem
Loop
这里的问题是输入了一个数组,因为你没有声明这个数组,而是用Split()
函数来表示它,它可能只决定每个elem
的vartype是一个字符串,但我没有测试过,也许它会吐出预期的类型。