2010-05-20 15 views

Odpowiedz

11

Pełny poradnik i przykładowy kod można znaleźć here

Open Filename$ For Input As #FileHandle 

    Do While Not EOF(FileHandle)  ' Loop until end of file 
    Line Input #FileHandle, TextLine$ ' Read line into variable 
    ' Your code here 
    Loop 

    Close #FileHandle 
+0

Dzięki David, Andy –

15

Oto jak odczytać cały plik tekstowy na ciąg znaków - od VB6 manual.

Function FileToString(strFilename As String) As String 
    iFile = FreeFile 
    Open strFilename For Input As #iFile 
    FileToString = StrConv(InputB(LOF(iFile), iFile), vbUnicode) 
    Close #iFile 
End Function 
+0

dotarłem do „Zmienna nie zadeklarował "dla #iFile. Korzystanie z funkcji Dim iFile As Integer generuje błędy. Jaki to powinien być rodzaj? – user2173353

+1

Ha! Musiałem zainicjować to tak: iFile = FreeFile. OK. Dzięki! – user2173353

+0

Czytam zdekompresowany plik pdf i otrzymuję komunikat "Wprowadź ostatni koniec pliku" na linii InputB – Shodan

3

Jestem trochę późno do gry tutaj, ale FileSystemObject, który jest częścią Microsoft Scripting Runtime (Scrrun.dll) może być bardzo przydatna dla.

Public Function ReadTextFileAsString(IN_sFilePath As String) As String 
    Dim myFSO As Scripting.FileSystemObject 
    Dim myTextStream As Scripting.TextStream 
    Dim myString As String 

    'Create a new FileSystemObject 
    Set myFSO = New Scripting.FileSystemObject 

    'Make sure file exists: 
    If myFSO.FileExists(IN_sFilePath) Then 
     Set myTextStream = myFSO.OpenTextFile(IN_sFilePath, ForReading) 
     myString = myTextStream.ReadAll() 
     Call myTextStream.Close 
    End If 
    'Assign Return Value 
    ReadTextFileAsString = myString 

    'Make sure to clean up when done. 
    Set myTextStream = Nothing 
    Set myFSO = Nothing 
End Function 

Dostępnych jest wiele innych metod uzyskiwania danych ze strumienia tekstu. Możesz również czytać określoną liczbę znaków naraz lub linię po linii. Będziesz musiał dodać środowisko wykonawcze Microsoft Scripting do swoich odniesień do projektu, ale jest to bardzo przydatne.

1

Upewnij się, że plik istnieje:

If myFSO.FileExists(IN_sFilePath) Then 
    Set myTextStream = myFSO.OpenTextFile(IN_sFilePath, ForReading) 
    myString = myTextStream.ReadAll() 
    Call myTextStream.Close 
End If 
'Assign Return Value 
ReadTextFileAsString = myString 
0

jeśli istnieje tylko zwykły tekst w pliku czym można przeczytać w całości do 1 zmiennej łańcuchowej z następującego kodu:

Private Sub ReadFile(strFile As String) 
    Dim intFile As Integer 
    Dim strData As String 
    intFile = FreeFile 
    Open strFile For Input As #intFile 
    strData = Input(LOF(intFile), #intFile) 
    Close #intFile 
End Sub 

ciąg o zmiennej długości może zawierać do około 2 miliardów (2^31) znaków

0

Oto kod dla tego

Function ReadFileToText(filePath) 

    Dim objFile, objText, text 

    Set objFile = CreateObject("Scripting.FileSystemObject") 
    Set objText = objFile.OpenTextFile(filePath) 

    text = objText.ReadAll 
    objText.Close 

    Set objText = Nothing 
    Set objFile = Nothing 

    ReadFileToText = text 

End Function 

Więcej szczegółów można sprawdzić http://smartreferences.blogspot.in

-1

i skieruje Cię inny sposób odczytywać i importować zawartość do okna formularza

public sub readfile 
Dim rtc As TextBox = New TextBox 
     rtc.Multiline = True 
     rtc.ScrollBars = ScrollBars.Both 
     rtc.Width = 400 
     rtc.Height = 200 
     Me.Controls.Add(rtc) 
     rtc.WordWrap = True 
     Dim FILE_NAME As String = "C:\Users\vcidex92\Desktop\suji\me.html" 

     If System.IO.File.Exists(FILE_NAME) = True Then 

      Dim objReader As New System.IO.StreamReader(FILE_NAME) 
      rtc.Text = objReader.ReadToEnd 
      objReader.Close() 
     Else 

      MsgBox("File Does Not Exist") 
     End If 
    end sub 
+0

To jest VB.Net, a pytanie jest oznaczone jako VB6. – MarkJ

Powiązane problemy