Visual Basic - como guardar datos en txt or xls desde VB

Life is soft - evento anual de software empresarial
 
Vista:

como guardar datos en txt or xls desde VB

Publicado por Roberto (16 intervenciones) el 16/06/2006 18:45:18
Hola ,

me gustaria saber si es posible y como hacer lo siguiente :

Una vez introducidos y guardados mis datos de entrada a sus correspondientes variable y arrays, como poder guardarlos en un archivo txt or xls para volver a utilizarlos cuando yo quiera sin tener que introducirlos otra vez manualmente.

saludos

Gracias
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: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
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:como guardar datos en txt or xls desde VB

Publicado por Jorge (231 intervenciones) el 16/06/2006 22:18:16
Para seguir y amplir la idea chequea este codigo
Private Sub GuardarArchivo(Ruta As String, Nombre_Extencion As String)
Dim F, A
Set F = CreateObject("Scripting.FileSystemObject")
Set A = F.CreateTextFile(Ruta & "\" & Nombre_Extencion, True)
A.WriteLine "Esto escribe una cadena y un final de línea en la secuencia"
A.Write "Esto escribe una cadena en la secuencia. "
A.Write "Pero permite escribir luego en la misma linea."
A.WriteBlankLines (3) 'Deja 3 o n lineas en blanco
For i = 1 To 5
A.Write i
Next
A.Close 'cierra el archivo
Set F = Nothing 'Destruye los objectos
Set A = Nothing 'Destruye los objectos
End Sub

Private Sub LeerArchivo1(Ruta As String, Nombre_Extencion As String)
'Para leer un archivo qie tienen varias lineas, el textbox se le definen las propiedades
' MultiLine = True; ScrollBars = 1 ó 2 ó 3
Dim F, A
Set F = CreateObject("Scripting.FileSystemObject")
Set A = F.OpenTextFile(Ruta & "\" & Nombre_Extencion, 1)
'Para leerlo tenemos dos formas
'La primera leerlo de un solo.
Text1.Text = A.ReadAll
A.Close
Set F = Nothing 'Destruye los objetos
Set A = Nothing 'Destruye los objetos
End Sub

Private Sub LeerArchivo2(Ruta As String, Nombre_Extencion As String)
Dim F, A
Set F = CreateObject("Scripting.FileSystemObject")
Set A = F.OpenTextFile(Ruta & "\" & Nombre_Extencion, 1)
'----------La segunda leerlo por partes
'a) si lo queremos leer todo linea a linea
While A.AtEndOfStream = False ' hasta que no se termine el archivo sigue leyendo
Text1.Text = Text1.Text & vbNewLine & A.ReadLine
Wend
A.Close
Set F = Nothing 'Destruye los objetos
Set A = Nothing 'Destruye los objetos
End Sub

Private Sub LeerArchivo3(Ruta As String, Nombre_Extencion As String)
Dim F, A
Set F = CreateObject("Scripting.FileSystemObject")
Set A = F.OpenTextFile(Ruta & "\" & Nombre_Extencion, 1)
'b) Si lo queremos Leer por partes
Text1.Text = A.Read(8) 'Lee los primeros 8 caracteres
A.Skip (9) 'Brinca 9 espacios
Text1.Text = Text1 & A.Read(10)
A.SkipLine 'Se brinca una linea
Text1.Text = Text1.Text & vbNewLine & A.ReadLine
A.Close
Set F = Nothing 'Destruye los objetos
Set A = Nothing 'Destruye los objetos
End Sub

Suerte
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