Visual Basic - cortar en trozos una cadena de texto

Life is soft - evento anual de software empresarial
 
Vista:

cortar en trozos una cadena de texto

Publicado por xabi (2 intervenciones) el 14/01/2006 00:37:30
Buenas, tengo un problema con un programa y haber si me podéis ayudar. Tengo un archivo "csv" pero es un documento excel. Los archivos de texto son "csv", es decir, valores separados por comas. Basicamente, cada linea de texto contiene una linea de datos, con varios valores separados por comas: la estructura de la linea: 0E45F9BB-408F-4E2B-AE72-7EAAB75D4555},"2006-01-12","00:00:15","190339215","0","1","272","1566","ATM0.1-aal5 layer on DONOSTIA (192.168.13.1)","DONOSTIA","192.168.13.1","DONOSTIA".

Como véis, cada linea contiene 12 valores separados por comas. Es decir, cada linea tienes que leerla como una cadena de texto y a partir de ahí, ir cortandola en trozos (cada trozo lo identificas porque te encuentras una coma) y meter cada valor en un campo de la base de datos. Mediante código vb, cómo sería la función para cortarlas en trozos y pasarme a la siguiente linea?.

Si me podéis ayudar os lo agradecería. Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:cortar en trozos una cadena de texto

Publicado por Cecilia Colalongo (3116 intervenciones) el 14/01/2006 10:05:30
Puedes leer el archivo, pasarlo a un String y luego manipularlo por filas y Columnas, por ejemplo:

Archivo = FileToString("MiArchivo.csv")
Lineas = Split(Archivo,vbCrLf)

Luego Lineas es un vector que contiene cada fila del archivo, luego si es delimitado por comas puedes hacer:

For i=LBound(Lineas) To UBound(Lineas)
Columnas = Split(Lineas(i),",")
For j=LBound(Columnas) To UBound(Columnas)
Debug.Print Columnas(j)
Next j
Next i

Luego Columnas es un vector que contiene cada campo que delimita cada coma.

La función para pasar un archivo a un String es:

Public Function FileToString(FileName As String) As String
On Error GoTo ErrorHandler

Dim hlngFile As Long, strFile As String

hlngFile = FreeFile

Open FileName For Binary Access Read As hlngFile

FileToString = vbNullString

strFile = String(FileLen(FileName), " ")

Get hlngFile, , strFile

Close hlngFile

FileToString = strFile

Exit Function

ErrorHandler:
FileToString = Empty
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cortar en trozos una cadena de texto

Publicado por xabi (2 intervenciones) el 14/01/2006 13:24:13
Gracias cecilia. Otra pregunta, cómo sería para guardar en variables la información que he trozeado. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar