At være i stand til at læse en linje af tabulatorsepareret tekst ved hjælp af Visual Basic for Applications , og parsing hvert af ordene kan gøre din VBA ansøgning mere dynamisk. Ofte programmører har brug for at læse tabulatorafgrænsede filer, og vise indholdet af disse filer. I VBA bruge " OpenTextfile "-metoden til at åbne en tekstfil, der indeholder tabulatorafgrænsede data. Søg hver linje for faner ved hjælp af " vbTab " VBA konstant. Denne proces er nyttig, når du har brug for hurtigt at finde faner i en streng i stedet for at læse hvert tegn i strengen. Ting du skal
Microsoft Excel
Vis Flere Instruktioner
1
Klik på Windows Start- knappen og skriv " Notesblok " i " Søg efter programmer og filer" tekstfeltet. Tryk på " Enter " for at starte Notesblok. Skriv " Dette " tryk " Tab, " type " er," tryk på " Tab, " type " a ", tryk på " Tab, " type "fanen, " tryk " Tab, " type " afgrænset , " tryk " Tab" og type " sætning. " Tryk på " Ctrl " og "S " for at gemme filen i "C: . \\ MyTextFile.txt "
2
Launch Microsoft Excel , skal du klikke på "Udvikler " fanen og klik på " Visual Basic " for at starte VB Editor vinduet. Klik på " Indsæt" menuen og klikke på " Modul " for at tilføje en ny kode modul. Klik på menuen "Funktioner" og klik på " Referencer". Afkryds feltet ved siden af " Microsoft Scripting Runtime " og klik
3
Skriv følgende for at oprette en ny sub procedure "OK". : Hej
Private Sub readTabDelimited ()
4
Føj følgende kode til at erklære dine variabler : Hej
Dim oFSO As New FileSystemObject
Dim OFS
Dim sText As String < br >
Dim tmpArray (10) As String
Dim pos As Integer
Dim Xcntr As Integer
5
åbne og læse tekst-fil blev oprettet i Trin 1 : Hej
Set OFS = oFSO.OpenTextFile ( "C: \\ myTextFile.txt " )
Gør Indtil oFS.AtEndOfStream
sText = oFS.ReadLine
< p> Loop
6
Find hver fane i tabulatorsepareret sætning og tilføje hver ord til String matrix : Hej
pos = InStr (1, sText , vbTab , vbTextCompare ) < br >
Do While (POS < > 0)
tmpArray ( Xcntr ) = Venstre ( sText , pos - 1)
sText = Right ( sText , Len ( sText ) - POS)
pos = InStr (1, sText , vbTab , vbTextCompare )
Xcntr = Xcntr + 1
p Hvis ( pos = 0) Så
tmpArray ( Xcntr ) = sText
End If
Loop
7
Display hvert ord gennem Immediate vinduet fra String matrix : Hej
Xcntr = 0
Do While ( tmpArray ( Xcntr ) < > "")
Debug.Print tmpArray ( Xcntr )
Xcntr = Xcntr + 1
< p> Loop
8
afslutte proceduren ved at skrive " End Sub " som sidste linje VBA-kode. Tryk på " Ctrl" og "G " for at vise " Immediate " vinduet , og tryk på " F5 " for at køre proceduren.