例如,我们可以使用下面的 VBA 代码来读取 txt 文件中第 13 行第 5 列的值:
Sub Readtxt()
Dim filePath As String
Dim lineNumber As Integer
Dim columnIndex As Integer
' 设置要读取的文本文件路径
filePath = "C:\path\to\your\file.txt"
' 打开文本文件并逐行读取内容
Open filePath For Input As #1
lineNumber = 0
Do Until EOF(1)
Line Input #1, textLine
If lineNumber = 13 Then
'用 for 循环将其他分隔符替换成空格
DelimiterNew = " "
For Each DelimiterOld In Array(";", " ", "<==", ":", vbCr)
textLine = Replace(textLine, DelimiterOld, DelimiterNew) '将不同分隔符替换成空格
textLine = Replace(textLine, " ", DelimiterNew) '将两个空格替换成一个空格
Next DelimiterOld
' 将每行按制表符分割为字段数组
'fieldsArray = Split(textLine, vbTab)
' 将每行按空格分割为字段数组
fieldsArray = Split(textLine, " ")
' 获取指定位置的值(这里是第 5 列)
value = fieldsArray(4)
' 输出结果到 Immediate Window (Ctrl + G)
Debug.Print value '在视图-立即窗口中显示变量值
Exit Do
End If
lineNumber = lineNumber + 1
Loop
Close #1
End Sub
注意事项:
需要将 filePath 变量修改为你自己的 txt 文件路径。