RE:como guardar datos en txt or xls desde VB
Publicado por
diego (1 intervención) el 16/06/2006 21:53:57
Bueno, es un poco complicado pero si se puede.
Para empezar debes crear el archivo, si no lo tienes creado se puede hacer también desde código. este es un pequeño ejemplo:
para utilizar archivos de texto externos, debes usar la clase CeateObject. Tiene un uso un poco particular. Por ejemplo digamos que tenemos un botón para crear el archivo.
El archivo se llama testfile.txt y lo vamos a guardar en c:, sería algo así:
Private Sub Command3_Click()
'con esta línea direccionas la función para usar archivos
Set fs = CreateObject("Scripting.FileSystemObject")
'con esta línea creas el archivo y lo pasas a una "variable" (que realmente
'es un objeto) llamado f. Si conoces algo de programación orientada a
'objetos, digamos que f es la clase y fs el objeto.
Set f = fs.CreateTextFile("c:\testfile.txt", True)
'con esta línea cierras el archivo
f.Close
End Sub
para leer las líneas del archivo se puede
Private Sub Command1_Click()
'genera el método de la clase createobject para manejo de archivos.
Set fs = CreateObject("Scripting.FileSystemObject")
'el archivo quedará como "fs" para llamarlo en tu programa
Set f = fs.OpenTextFile("c:\testfile.txt")
'cierra el archivo.
f.Close
End Sub
Las líneas del archivo las capturas con f.ReadAll. Esto lo puedes meter en una variable. Si quieres puedes ver en el help cuales funciones te permiten hacer capturas distintas.
Ojo, si el archivo está vacío te puede generar un error, como hice este ejemplo
antes del almuerzo no podía demorarme escribiendo jejejeje. ;)
ahora lo interesante. Digamos que tienes un TextBox donde escribirás una línea
del archivo. cada vez que presiones el botón, el tomará el valor del text, lo escribirá en la última línea del archivo.
Private Sub Command2_Click()
'variable donde guardas eltexto de la línea
Dim pajarito As String
'aplicas la clase para manejo de archivos
Set fs = CreateObject("Scripting.FileSystemObject")
'igualas la variable al valor del text
pajarito = Text1.Text
'capturas el archivo
Set f = fs.GetFile("c:\testfile.txt")
'metes el archivo para lectura-escritura en fw
Set fw = f.OpenAsTextStream(8, -2) ' los parámetros de esta función(8,-2)
'se pueden cambiar, no tengo en este momento los datos exactos pero los
'puedes ver en la ayuda
'escribes en la línea del archivo
fw.WriteLine (pajarito)
'cierras el archivo
fw.Close
si quieres el código fuente o necesitas más aclaraciones me escribes al correo
Exitos