Я пытаюсь прочитать текстовый файл с 1147 строками. Код ниже - только строки 1050-1147. Моя цель - прочитать весь файл и вытащить конкретные значения, расположенные на разных строках, для использования в скрипте. Примером может служить значение 2 из строки, содержащей «BlockList: 2». Я включил фрагмент формата текстового файла, поскольку он отформатирован иначе, чем любой пример, с которым я столкнулся (строки 1116-1128); Значения, которые я пытаюсь получить, имеют отступ, аналогичный показанной первой строке (не уверен, что это важно).VBA текстовый файл для чтения/поиска
fixation.OffsetTime: 426611
*** LogFrame End ***
Level: 2
*** LogFrame Start ***
Procedure: TestProc
BlockList: 2
BlockList.Cycle: 1
BlockList.Sample: 2
Running: BlockList
*** LogFrame End ***
Уровень: 1 * Начало * логико-структурная схема Эксперимент: ChoiceofLotteries_fMRI_I
код до сих пор:
Sub OpenTextFileTest()
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Dim fs, f, contents, var1
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.OpenTextFile("C:\NameOfFile.txt", 1)
contents = f.ReadAll
f.Close
Debug.Print contents
End Sub
Кто-нибудь есть какие-либо предложения, как это сделать?
Hi Сиддхарта, спасибо за быстрый ответ. Я запустил скрипт и ничего не отобразил в ближайшем окне на строку Debug.Print Split (strData (i), ":") (1). Я включил строку Debug.Print MyData после строки Get # 1, MyData, и кажется, что она все еще только чтение строк 1050-1147. Другая проблема тоже пришла в голову. Имя BlockList будет заголовком, если это файл excel, а значения под заголовками изменяются в текстовом файле. Я пытаюсь выяснить, как получить, скажем, значение blocklist value, blocklist value two и т. Д. – matt
Действительно ли данные разделены линией? Есть ли вероятность увидеть txt-файл? –
Также перед этой строкой 'Debug.Print Split (strData (i),": ") (1)' put this line 'Debug.Print strData (i)' Вы получаете что-нибудь? –