2010-05-20 7 views

Répondre

11

Un tutoriel complet et un exemple de code se trouve 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

Merci David, Andy –

15

Voici comment lire un fichier texte entier dans une chaîne - de la 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

Je suis une « variable non déclarée "pour #iFichier. Utilisation de Dim iFile As Integer génère des erreurs. Quel type devrait-il être? – user2173353

+1

Ha! J'avais besoin de l'initialiser comme ça: iFile = FreeFile. D'ACCORD. Merci! – user2173353

+0

Je suis en train de lire un fichier pdf décompressé et d'obtenir l'erreur "Entrée passé fin de fichier" sur la ligne InputB – Shodan

3

Je suis un peu en retard dans le jeu, mais la FileSystemObject qui fait partie de Microsoft Scripting Runtime (de scrrun.dll) peut être très utile pour cela.

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 

Il existe un certain nombre d'autres méthodes disponibles pour obtenir des données du flux de texte. Vous pouvez également lire un certain nombre de caractères à la fois, ou ligne par ligne. Vous devrez ajouter Microsoft Scripting Runtime dans vos références de projet, mais c'est vraiment très utile.

1

Assurez-vous que votre fichier existe:

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

s'il y a juste le texte brut dans le fichier, vous pouvez le lire dans l'ensemble en 1 variable de chaîne avec le code suivant:

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 

une chaîne de longueur variable peut contenir jusqu'à environ 2 milliards (2^31) caractères

0

Voici le code pour cela

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 

Plus de détails vous pouvez vérifier http://smartreferences.blogspot.in

-1

je vous renvoie une autre méthode pour lire et importer le contenu de la fenêtre de votre formulaire

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

C'est VB.Net et la question est étiquetée VB6. – MarkJ

Questions connexes