Как использовать FileSystemObject в VBA

Итак, я новичок в VB, и я просто пытаюсь создать что-то, что откроет файл .txt, затем прочитает первую строку и выведет ее. Я поместил свой код ниже, но когда я его запускаю, я получаю сообщение об ошибке

Переменная объекта или переменная блока не задана

из-за линии

objTXT=objFSO.OpenTextFile("C:\...",ForReading)

Любая помощь, я чувствую, что мне не хватает чего-то очень простого.

Private Sub Text_Reader()

    Dim objFSO As FileSystemObject
    Dim objTXT As TextStream
    Dim str$

    Set objFSO = New FileSystemObject

    objTXT = objFSO.OpenTextFile("C:\...", ForReading)
    str = objTXT.ReadLine
    MsgBox (str)

End Sub

person Tabitha    schedule 22.07.2015    source источник
comment
Вам просто не хватает ключевого слова Set перед objTXT = ... Ссылка MSDN на OpenTextFile и дополнительная информация здесь, на SO   -  person    schedule 22.07.2015


Ответы (2)


Проблема не в использовании Set для открытия. Попробуйте следующее:

Set objTXT = objFSO.OpenTextFile("C:\...", ForReading)
person R.Katnaan    schedule 22.07.2015

Вам не нужно FileSystemObject для чтения текстового файла. Вы можете сделать это так (без каких-либо внешних библиотек):

Public Sub readTextFile(filepath As String)
    Dim intFile As Integer
    Dim text As String
    '------------------------------------------------------------------------------------------------------

    intFile = VBA.FreeFile()

    Open filepath For Input As #intFile
    Line Input #intFile, text
    Close intFile

    Call MsgBox(text)

End Sub
person mielk    schedule 22.07.2015
comment
Это альтернатива, но на самом деле она не отвечает на заданный вопрос. - person ; 22.07.2015