В VBA, как я могу прочитать строку в текстовом файле и проверить наличие определенных значений?У меня есть текстовый файл, который выглядит примерно так:
a b c d e f g [this line is not in the code]
1[tab]2[tab]3[tab]4[tab]5[tab]6[tab]7
8[tab]9[tab]10[tab]11[tab]12[tab]13[tab]14
…
Числа представляют значения, связанные с различными параметрами, которые разделены вкладками.Каждая строка соответствует новому набору данных.Таким образом, в приведенном выше примере 1 и 8 - это один и тот же параметр (в данном случае «а») для двух разных экспериментов.Я хочу, чтобы мой код читал каждую строку и печатал всю строку в новый текстовый документ, если b, c, d и f равны определенным значениям.У меня есть остальная часть кода, если кто-то может дать мне совет по этому поводу.
Private Sub SingleRun_button_Click()
myFile = Application.GetOpenFilename()
Delimiter = vbTab
Dim intDialogResult As Integer, _
strPath, strLine, arrString() As String, _
i, j, intCurrColumn, D, B, DischMod, T As Integer, _
fso, ofile As Object
D = Me.D_CB.Value
B = Me.B_CB.Value
DischMod = Me.DischMod_CB.Value
T = Me.T_CB.Value
Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
Call Application.FileDialog(msoFileDialogOpen).Filters.Clear
Call Application.FileDialog(msoFileDialogOpen).Filters.Add("Text Files", "*.txt")
intDialogResult = Application.FileDialog(msoFileDialogOpen).Show
strPath = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
Set fso = CreateObject("scripting.filesystemobject")
Set ofile = fs.createtextfile(strPath)
Close #1
Open strPath For Input As #1
i = 1
While EOF(1) = False
Line Input #1, strLine
arrString = Split(strLine, vbTab)
intCurrColumn = 1
For j = LBound(arrString) To UBound(arrString)
If arrString(j) <> vbTab Then
'Code as described below
End If
Next
i = i + 1
Wend
Close #1
Unload Me
End Sub