Läsa text från textfil till textbox


I detta tips demonstreras en teknik för att läsa text från en textfil till en textbox i ett formulär. Tekniken bygger på s k sekventiella access och där varje rad i textfilen läses in separat. Tekniken lämpar sig väl för ändamål av detta slag.

Följande egenskaper hos Textbox-kontrollen ska tilldelas följande värden:

MultiLine: True

WordWrap: True
 

Om ett felmeddelande erhålls vid kopiering till VBA-modul så läs mer här»
 

 

(© 2002 - 2003 All rights Colo - Used by permission)

Option Explicit

 Private Sub cmbOK_Click()

   '© 2003 Alla rättigheter XL-Dennis

   Dim stTemp As String, stText As String

   Dim lnFileNum As Long, i As Long

   Dim vafileName As Variant

 

   'Tillåter användaren att välja enhet, folder och filnamn.

   vafileName = Application.GetOpenFilename(FileFilter:="Text Files (*.txt), *.txt", _
   Title:="Läsa in data till en textbox från en textfil")

 

   'Ifall användaren klickar på Avbryt-knappen.

   If vafileName = False Then Exit Sub

 

   'Hämtar det första oanvända tillgängliga filnummer

   'FreeFile är av datatypen Integer varför konvertering sker.

   lnFileNum = CLng(FreeFile)

 

   'Öppnar filen för läsning.

   Open vafileName For Input As #lnFileNum

 

   i = 0

   While Not EOF(lnFileNum)

      'Radvis inläsning av text från textfilen.

      Line Input #lnFileNum, stTemp

      If i = 0 Then

         'Tar bort överflödiga tecken.

         stText = Replace(stTemp, """", "")

      Else

         'vbNewLine delar upp texten i variabeln stText.

         stText = stText & vbNewLine & Replace(stTemp, """", "")

      End If

      i = i + 1

   Wend

 

   'Stänger textfilen.

   Close #lnFileNum

 

   'Tilldelar text till formulärets textbox.

   With Me.TextBox1

      .Text = stText

      .SetFocus

   End With

 End Sub