Die Möglichkeit, eine Zeile durch Tabulatoren getrennter Text lesen mit Visual Basic für Applikationen und Parsen jedes der Wörter können Sie Ihre VBA-Anwendung dynamischer. Oft Programmierer müssen durch Tabulatoren getrennte Dateien zu lesen und den Inhalt dieser Dateien . In VBA , verwenden Sie den " OpenTextFile " Methode, um eine Textdatei, die Tabulatoren getrennte Daten enthält öffnen. Suche für jede Zeile Registerkarten mit dem " vbTab " VBA konstant. Dieses Verfahren ist nützlich, wenn Sie schnell Registerkarten in einem String statt Lesen jedes Zeichen in der Zeichenfolge müssen . Things You
Microsoft Excel
brauchen anzeigen Weitere Anweisungen
1
Klicken Sie auf die Windows-Schaltfläche Start und geben Sie " Notepad" in den " Programme und Dateien suchen " Textfeld . Drücken Sie "Enter " , um den Editor zu starten. Geben Sie " Das", drücken Sie " Tab ," Typ " ist ," press " Tab ", geben Sie "a", drücken Sie " Tab ", Typ " Registerkarte " Presse " Tab ", Typ " begrenzt ", drücken Sie "Tab" und Typ " Satz . " Drücken Sie "Strg" und "S" , um die Datei zu speichern in "C: . \\ MyTextFile.txt "
2
Starten Sie Microsoft Excel , klicken Sie auf die Registerkarte "Entwicklertools" und klicken Sie auf " Visual Basic " zu starten die VB -Editor-Fenster . Klicken Sie auf das Menü "Einfügen" und klicken Sie auf "Module" , um einen neuen Code-Modul hinzufügen. Klicken Sie auf das Menü "Extras" und dann auf " Referenzen . " Aktivieren Sie das Kontrollkästchen neben " Microsoft Scripting Runtime " und klicken
3
Geben Sie den folgenden , um eine neue Sub-Prozedur erstellen " OK. ":
Private Sub readTabDelimited ()
4
Fügen Sie den folgenden Code auf Ihre Variablen deklarieren: Dim
oFSO As New FileSystemObject
Dim oFS
Dim sText As String
Dim tmpArray (10 ) As String Dim
pos As Integer Dim
Xcntr As Integer
5
Öffnen und lesen Sie die Textdatei in Schritt erstellt 1:
Set oFS = oFSO.OpenTextFile ( "C: \\ MyTextFile.txt " )
Do Until oFS.AtEndOfStream
sText = oFS.ReadLine
< p > Schleife
6
finden Sie die Registerkarten im tabulatorgetrennten Satz und fügen Sie jedes Wort auf die String-Array :
pos = InStr (1, sText , vbTab , vbTextCompare )
Do While (pos <> 0)
tmpArray ( Xcntr ) = Left ( sText , pos - 1) german
sText = Right ( sText , Len ( sText ) - pos)
pos = InStr (1, sText , vbTab , vbTextCompare )
Xcntr = Xcntr + 1
( pos = 0) Then
tmpArray ( Xcntr ) = sText
End If
Schleife
7
Anzeige jedes Wort durch das Direkt-Fenster aus dem String-Array :
Xcntr = 0
Do While ( tmpArray ( Xcntr ) <> "" )
Debug.Print tmpArray ( Xcntr )
Xcntr = Xcntr + 1
< p > Schleife
8
Ende des Verfahrens durch Eingabe von " End Sub ", wie die letzte Zeile des VBA-Code . Drücken Sie "Strg" und "G ", um die "Sofort" -Fenster anzuzeigen , und drücken Sie "F5" um die Prozedur auszuführen .