【发布时间】:2017-06-16 05:25:11
【问题描述】:
我有一个保存在 arraylist.txt 文件中的列表
-blank-
A1
A2
A3
A4
然后我需要读取文本文件,将其拆分,如果文本文件的值包含一个数组。
Const ForReading = 1
Dim arrServiceList
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("D:\TestStatus\arraylist.txt", ForReading)
Do Until objTextFile.AtEndOfStream
strNextLine = objTextFile.Readline
arrServiceList = Split(strNextLine , "")
Wscript.Echo "Server name: " & arrServiceList(0)
For i = 1 To UBound(arrServiceList)
WScript.Echo "Service: " & arrServiceList(i)
Next
Loop
这就是我读取和拆分文件内容的方法。但是当我尝试时:
msgbox arrServiceList(0)
它提示 A4。它应该是-空白-吗?然后当我尝试:
msgbox arrServiceList(1)
错误:
错误:下标超出范围。
请帮忙。
【问题讨论】:
-
作为您的代码,您必须看到该错误...您有一个用于从文件中读取...当读取一行时,请尝试访问
arrServiceList...arrServiceList没有项目或者只有 1 个项目,您尝试访问arrServiceList(1)然后看到该错误 -
尝试编写 2 个单独的
for...1 用于从文件中读取和一个用于循环arrServiceList -
在您的 split 语句中,您使用了一个空字符串作为分隔符 ("")。为什么?也许您应该发布您的文本文件的确切内容,以便我们为您提供帮助。