2013-08-27 78 views
-1

我有一個txt文件,我只需要讀取第一行,但只需要來自第1行的64-70列的值。如何在vbscript中執行此操作?我已經看過幾種方法來做到這一點,但無法得到我正在尋找的東西。請幫忙。使用VBSCRIPT查找特定的列範圍和行使用VBSCRIPT

+1

請提供你看過什麼在一些細節/試過。也可以幫助展示你的文本文件的樣子。 – Matthew

回答

2

對於從行中讀取字符,請使用Mid(source_str, 64, 6)。 - 6是從字符64到70的長度。

至於從文本文件讀取第一行,您需要設置一個循環來讀取每行,直到文件結束,將它們解析爲字符串數組,然後只處理第一個字符串。

或者,由於您只需要第一行,只需運行fsoStream.ReadLine()一次。

所以你的情況:

Set fso = CreateObject("Scripting.FileSystemObject") 
Set file = fso.OpenTextFile("filename.txt") 

'This only reads the first line of the file. 
'To read any others, we would need a loop. 
line = file.ReadLine() 

thisStr = Mid(line,64,6) 
+0

謝謝你的迴應,這個工作完美..我現在需要一個閱讀文件的最後一行..你能提供一個你所指的循環拉最後一行的例子嗎?再次感謝您 – user2722980

+0

對不起,延遲響應。我所指的循環是'While Not EOF(file)line = file.ReadLine()Wend'。如果您在循環中覆蓋'line'變量,或者每次都在while-wend循環中處理它,則應該能夠將最後一行檢測爲循環退出時的剩餘行。在進入循環之前,確保你有'Dim line',所以當循環退出時它不會被釋放。 – depwl9992

+0

當然,這可能會導致問題,因爲您將處理文件流整數。 'Do while file.AtEndOfStream <> True line = file.ReadLine Loop'是Microsoft給出的另一個示例[此處](http://msdn.microsoft.com/zh-cn/library/h7se9d4f%28v=vs.84% 29.aspx)可能會更好一點。 – depwl9992