返回列表 上一主題 發帖

[發問] .READLine的用法

回復 1# acdx
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer, objFile As Object, A As Variant, E As Variant
  4.     Set objFile = CreateObject("Scripting.FileSystemObject")
  5.     Set objFile = objFile.OpenTextFile("D:\Test.txt", 1)
  6.     A = objFile.READALL
  7.     A = Replace(A, vbCr, "")     '消除復位字元
  8.     A = Split(A, "ECMA-74 +")(0) '取得"ECMA-74 +"之前的串
  9.     A = Replace(A, vbLf & vbLf, vbLf)  '消除空白列
  10.     A = Split(A, vbLf)
  11.     For i = 0 To UBound(A) - 1
  12.         MsgBox A(i)
  13.     Next
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 4# acdx
讀取最後一行的值
是檔案的最底部的那一行嗎?

還是那一行的可能是"ECMA-74 +"也可能是"ABCD" ,不是檔案的最底部的那一行?
這字串有固定是那些字串嗎?
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 6# acdx
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim i As Integer, objFile As Object, A As Variant
  4.     Set objFile = CreateObject("Scripting.FileSystemObject")
  5.     Set objFile = objFile.OpenTextFile("D:\Test.txt", 1) '開啟文字檔
  6.     A = objFile.READALL      '讀取文字檔全部字串
  7.     Do While InStr(A, vbCrLf) Or InStr(A, vbLf & vbLf)
  8.         A = Replace(A, vbCrLf, vbLf)      '消除復位字元
  9.         A = Replace(A, vbLf & vbLf, vbLf) '消除空白列
  10.     Loop
  11.     If Mid(A, Len(A)) = vbLf Then A = Mid(A, 1, Len(A) - 1) '清除最後字元是換行字元。
  12.     A = Split(A, vbLf)  '檔案中有資料的行,置入陣列
  13.     MsgBox A(UBound(A)) '檔案的最後有資料的那一行
  14. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 做好事不能少我一人,做壞事不能多我一人。
返回列表 上一主題