Cargo actual:Index > Cómo leer una línea de texto delimitado por tabuladores en VBA

Cómo leer una línea de texto delimitado por tabuladores en VBA

Actualizado:04-22Fuente: consolidación de la red
Advertisement

Cómo leer una línea de texto delimitado por tabuladores en VBA


Ser capaz de leer una línea de texto delimitado por tabuladores con Visual Basic para aplicaciones y analizar cada una de las palabras puede hacer que su aplicación VBA más dinámico. A menudo, los programadores necesitan leer archivos delimitados por tabuladores y mostrar el contenido de esos archivos. En VBA, utilice el método "OpenTextFile" para abrir un archivo de texto que contiene los datos delimitados por tabuladores. Buscar en cada línea de pestañas utilizando el "vbTab" constante VBA. Este proceso es útil cuando se necesita encontrar rápidamente pestañas en una cadena en lugar de leer cada carácter de la cadena.

Cosas que necesitará

Microsoft Excel

Instrucciones

Haga clic en el botón Inicio de Windows y escriba "Bloc de notas" en el cuadro de texto "Buscar programas y archivos". Pulse la tecla "Enter" para iniciar el Bloc de notas. Escriba "Esto", presione "Tab", escribe "es," presione "Tab" tipo "a", presione "Tab", escribe "ficha", presione "Tab", escribe "delimitado", presione "Tab" y escriba ", sentencia." Pulse la tecla "Ctrl" y "S" para guardar el archivo en "C: \ MyTextFile.txt."

Inicie Microsoft Excel, haga clic en la pestaña "desarrolladores" y haga clic en "Visual Basic" para abrir la ventana Editor de VB. Haga clic en el menú "Insertar" y haga clic en "módulos" para añadir 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".

Escriba lo siguiente para crear un nuevo procedimiento de substitución:

Private Sub readTabDelimited ()

Agregue el código siguiente para declarar sus variables:

Dim oFSo Como Nuevo FileSystemObject

OFS Dim

Dim sText As String

Dim tmpArray (10) As String

Pos Dim As Integer

Dim Xcntr As Integer

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

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

Do Until oFS.AtEndOfStream

sText = oFS.ReadLine

Lazo

Encuentra cada ficha en la frase delimitado por tabuladores y añadir cada palabra a la matriz de la secuencia:

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

Do While (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

Muestra cada palabra a través de la ventana inmediata de la matriz de la secuencia:

Xcntr = 0

Do While (tmpArray (Xcntr) <> "")

Debug.Print tmpArray(Xcntr)

Xcntr = Xcntr + 1

Lazo

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