使用 MsgBox 显示文本文件
Display text file using MsgBox
我有多个文件,名称为:
c123we_1014_A1_45333
c123we_1014_A2_45333
c123we_1014_A3_45333
我需要的是只获取第三个参数并使用消息框显示它。
我所做的是获取第三个参数并将其写入文本文件。
For Each filelog In FileList
LogFile = Split(filelog, "~")(1)
Set otf = fso.OpenTextFile("C:\Data\" & LogFile, 1)
sFile = Split(LogFile, "_")
CurStep = sFile(3)
FileNameStep = LotId & "_" & "Step"
ScriptPath = Mid(ScriptFolder, 1, Len(ScriptFolder) - 8)
If Not fso.FileExists(ScriptFolder & "\" & FileNameStep & ".txt") Then
Set ctf = fso.CreateTextFile(ScriptFolder & "\" & FileNameStep & ".txt", True)
ctf.Close
End If
Set otf = fso.OpenTextFile(ScriptFolder & "\" & FileNameStep & ".txt", 8)
otf.Writeline "Current - " & CurStep
otf.Close
Next
我的文本文件输出如下:
Current - A1
Current - A2
Current - A3
我对如何使用消息框显示文本文件的内容感到困惑。
我也尝试过使用数组而不是将其写入 txt 文件,这比使用 txt 文件更简单。我的代码如下:
For Each filelog In FileList
LogFile = Split(filelog, "~")(1)
Set otf = fso.OpenTextFile("C:\Data\" & LogFile, 1)
l = 0
MsgBox FileList.Count
Do While l < FileList.Count
sFile = Split(LogFile, "_")
CurStep = sFile(4)
array.Add CurStep
l = l + 1
Loop
Next
MsgBox Join(array, vbNewLine)
但是出错了。错误在 MsgBox Join()
行:
Error: Invalid procedure call or argument
将数据写入文本文件后,您可以关闭它,然后按照以下步骤操作:
一个。再次以读取模式打开文件并为其设置一个对象引用:
Set objFile = fso.OpenTextFile(ScriptFolder & "\" & FileNameStep & ".txt",1)
乙。使用readall()方法读取文件内容并存入变量:
tempData = objFile.readAll()
C。关闭文件并使用 'Msgbox'
显示内容
objFile.Close
MsgBox tempData
如果要在文本文件中逐行显示数据,可以使用readline()方法并将步骤B修改为:
While not fso.atEndOfStream
tempData = fso.readline()
Msgbox tempData
Wend
编辑 2:对于问题的第二部分:
您不应使用 "array" 一词作为变量名,因为它是 vbscript 中的关键字。另外,您不能使用 .Add 在数组中添加元素,因为我们在这里讨论的是数组而不是数组列表。
您可以用以下代码替换您的代码:
Dim intCtr: intCtr=-1
Dim tempArr()
For Each filelog in FileList
LogFile = Split(filelog, "~")(1)
Set otf = fso.OpenTextFile("C:\Data\" & LogFile, 1)
l = 0
msgbox FileList.Count
do while l < FileList.Count
intCtr=intCtr+1
sFile = Split(LogFile, "_")
CurStep = sFile(4)
Redim preserve tempArr(intCtr)
tempArr(intCtr)=CurStep
l = l + 1
Loop
next
MsgBox Join(tempArr, vbNewLine)
我有多个文件,名称为:
c123we_1014_A1_45333 c123we_1014_A2_45333 c123we_1014_A3_45333
我需要的是只获取第三个参数并使用消息框显示它。 我所做的是获取第三个参数并将其写入文本文件。
For Each filelog In FileList
LogFile = Split(filelog, "~")(1)
Set otf = fso.OpenTextFile("C:\Data\" & LogFile, 1)
sFile = Split(LogFile, "_")
CurStep = sFile(3)
FileNameStep = LotId & "_" & "Step"
ScriptPath = Mid(ScriptFolder, 1, Len(ScriptFolder) - 8)
If Not fso.FileExists(ScriptFolder & "\" & FileNameStep & ".txt") Then
Set ctf = fso.CreateTextFile(ScriptFolder & "\" & FileNameStep & ".txt", True)
ctf.Close
End If
Set otf = fso.OpenTextFile(ScriptFolder & "\" & FileNameStep & ".txt", 8)
otf.Writeline "Current - " & CurStep
otf.Close
Next
我的文本文件输出如下:
Current - A1 Current - A2 Current - A3
我对如何使用消息框显示文本文件的内容感到困惑。
我也尝试过使用数组而不是将其写入 txt 文件,这比使用 txt 文件更简单。我的代码如下:
For Each filelog In FileList
LogFile = Split(filelog, "~")(1)
Set otf = fso.OpenTextFile("C:\Data\" & LogFile, 1)
l = 0
MsgBox FileList.Count
Do While l < FileList.Count
sFile = Split(LogFile, "_")
CurStep = sFile(4)
array.Add CurStep
l = l + 1
Loop
Next
MsgBox Join(array, vbNewLine)
但是出错了。错误在 MsgBox Join()
行:
Error: Invalid procedure call or argument
将数据写入文本文件后,您可以关闭它,然后按照以下步骤操作:
一个。再次以读取模式打开文件并为其设置一个对象引用:
Set objFile = fso.OpenTextFile(ScriptFolder & "\" & FileNameStep & ".txt",1)
乙。使用readall()方法读取文件内容并存入变量:
tempData = objFile.readAll()
C。关闭文件并使用 'Msgbox'
显示内容objFile.Close
MsgBox tempData
如果要在文本文件中逐行显示数据,可以使用readline()方法并将步骤B修改为:
While not fso.atEndOfStream
tempData = fso.readline()
Msgbox tempData
Wend
编辑 2:对于问题的第二部分:
您不应使用 "array" 一词作为变量名,因为它是 vbscript 中的关键字。另外,您不能使用 .Add 在数组中添加元素,因为我们在这里讨论的是数组而不是数组列表。
您可以用以下代码替换您的代码:
Dim intCtr: intCtr=-1
Dim tempArr()
For Each filelog in FileList
LogFile = Split(filelog, "~")(1)
Set otf = fso.OpenTextFile("C:\Data\" & LogFile, 1)
l = 0
msgbox FileList.Count
do while l < FileList.Count
intCtr=intCtr+1
sFile = Split(LogFile, "_")
CurStep = sFile(4)
Redim preserve tempArr(intCtr)
tempArr(intCtr)=CurStep
l = l + 1
Loop
next
MsgBox Join(tempArr, vbNewLine)