Att kunna läsa en rad av tab- avgränsad text med Visual Basic for Applications och analysera varje ord kan göra din VBA ansökan mer dynamisk . Ofta programmerare behöver läsa tabbavgränsade filer och visa innehållet i dessa filer . I VBA , använd " OpenTextfile " metod för att öppna en textfil som innehåller tabbavgränsade data. Sök varje rad för flikar som använder " vbTab " VBA konstant . Denna process är användbart när du snabbt behöver hitta flikar i en sträng istället för att läsa varje tecken i strängen . Saker du behöver
Microsoft Excel
Visa fler instruktioner
1
Klicka på Windows Start -knappen och skriv " Anteckningar " i " Sök program och filer " textrutan. Tryck " Enter " för att starta Anteckningar . Skriv " Detta , " tryck " Tab , " typ " är , " tryck " Tab , " typ " a ", tryck på " Tab " typ ", fliken " press " Tab , " typ " avgränsad , " tryck " Tab " och typ " mening . " Tryck på " Ctrl " och " S " för att spara filen i " C : . \\ MyTextFile.txt "
2
Launch Microsoft Excel , klicka på " Utvecklare " fliken och klicka på " Visual Basic " för att starta VB Editor fönstret . Klicka på " Infoga " -menyn och klicka på " modul " för att lägga till en ny kod modul . Klicka på " Verktyg " -menyn och klicka på " Referenser . " Markera rutan bredvid " Microsoft Scripting Runtime " och klicka
3
Skriv följande för att skapa en ny sub förfarande " OK . " :
Private Sub readTabDelimited ( )
4
Lägg till följande kod för att deklarera dina variabler :
Dim oFSO som New FileSystemObject
Dim OFS
Dim sText As String
Dim tmpArray ( 10 ) As String
Dim pos As Integer
Dim Xcntr As Integer
5
Öppna och läs textfilen skapade i steg 1 :
Set OFS = oFSO.OpenTextFile ( " C : \\ myTextFile.txt " ) katalog
göra tills oFS.AtEndOfStream
sText = oFS.ReadLine
Loop
6
Hitta varje flik i fliken avgränsade mening och lägga varje ord i String array :
pos = InStr ( 1 , sText , vbTab , vbTextCompare )
Do While ( pos < > 0 ) katalog
tmpArray ( Xcntr ) = Vänster ( sText , pos - 1 ) katalog
sText = Höger ( sText , Len ( sText ) - pos ) katalog
pos = InStr 1 ( , sText , vbTab , vbTextCompare ) katalog
Xcntr = Xcntr + 1
p Om ( pos = 0 ) Then
tmpArray ( Xcntr ) = sText
End If
Loop
7
Visa varje ord genom direktfönstret från String array :
Xcntr = 0
Do While ( tmpArray ( Xcntr ) < > " " ) katalog
Debug.Print tmpArray ( Xcntr ) katalog
Xcntr = Xcntr + 1
Loop
8
Avsluta proceduren genom att skriva " End Sub " som den sista raden i VBA-kod . Tryck på " Ctrl " och " G " för att visa " Omedelbar " fönstret och tryck på " F5 " för att köra proceduren .