ubiquitour.com

Como leer una línea de texto delimitado por tabuladores en VBA

Poder leer una línea de texto delimitado por tabuladores mediante Visual Basic para aplicaciones y análisis de cada una de las palabras puede dinamizar la aplicación de VBA. A menudo los programadores necesitan leer archivos de delimitado por tabulaciones y mostrar el contenido de los archivos. En VBA, utilice el método de "OpenTextfile" para abrir un archivo de texto que contiene datos delimitados por tabuladores. Busca en cada línea en las pestañas utilizando la constante VBA "vbTab". Este proceso es útil cuando usted necesita encontrar rápidamente las pestañas en una cadena en lugar de leer cada carácter de la cadena.

Instrucciones

1 Haga clic en el botón Inicio de Windows y escriba "Notepad" en el cuadro "Buscar programas y archivos". Pulse «Enter» para iniciar Bloc de notas. Tipo "Este," prensa "De la lengüeta," tipo "es", "Tab", tipo "A", presione "Tab", tipo "ficha" Presione "Tab," tipo "delimitado", presione "Tab" y tipo "oración." Presione la "tecla Ctrl" y "S" para guardar el archivo en "C:\myTextFile.txt."

2 Inicie Microsoft Excel, haga clic en la ficha "Programador" y haga clic en "Visual Basic" para lanzar la ventana del Editor de VB. Haga clic en el menú "Insertar" y haga clic en "Módulo" para agregar un nuevo módulo de código. Haga clic en el menú "Herramientas" y haga clic en "Referencias." Marque la casilla junto a "Microsoft Scripting Runtime" y haga clic en "Aceptar".

3 Escriba lo siguiente para crear un nuevo procedimiento sub:

Private Sub readTabDelimited()

4 Agregue el código siguiente para declarar las variables:

Dim oFSO como nuevo FileSystemObject

Dim oFS

Dim sText As String

Dim tmpArray(10) As String

Dim pos como entero

Dim Xcntr como entero

5 Abrir y leer el archivo de texto creado en el paso 1:

Establecer oFS = oFSO.OpenTextFile("C:\myTextFile.txt")

Hasta oFS.AtEndOfStream

sText = oFS.ReadLine

Lazo

6 Encontrar cada ficha en la oración delimitada de la ficha y añadir a cada palabra a la matriz de cadenas:

pos = InStr (1, sText, vbTab, vbTextCompare)

Hacer mientras (pos <> 0)

tmpArray(Xcntr) = Left(sText, pos - 1)

sText = Right(sText, Len(sText) - pos)

pos = InStr(1, sText, vbTab, vbTextCompare)

Xcntr = Xcntr + 1

If (pos = 0) Then

tmpArray(Xcntr) = sText

End If

Lazo

7 Mostrar cada palabra a través de la ventana inmediato de la matriz de cadenas:

Xcntr = 0

Hacer mientras (tmpArray(Xcntr) <> "")

Debug.Print tmpArray(Xcntr)

Xcntr = Xcntr + 1

Lazo

8 Final el procedimiento escribiendo "End Sub" como la última línea de código VBA. Presione la "tecla Ctrl" y "G" para mostrar la ventana "Inmediato" y presione "F5" para ejecutar el procedimiento.