GUARDAR EN ARCHIVO DESDE TEXTBOX()
quiero guardar en archivo el texto incluido dentro de una serie de textbox.
he utilizado un commonddialog y me crea el archivo pero no me guarda ninguna informacion dentro.
el codigo es el siguiente:
Private Sub Command2_Click()
CommonDialog2.Filter = "Archivos de Texto (*.txt)|*.txt" ' ABRE VENTANA PARA los datos (SOLO LECTURA)
CommonDialog2.FilterIndex = 1
CommonDialog2.ShowSave
If CommonDialog2.FileName = "" Then
Exit Sub 'SI NO HAY datos NO CARGA NADA
Else ' cargamos el archivo
ruta = CommonDialog2.FileName
Set fso = CreateObject("Scripting.FileSystemObject")
Set ofich = fso.createtextfile(ruta) 'abre el fichero seleccionado para su lectura
For fila = 0 To n - 1
ofich.writeline = Text2(fila).Text
ofich.writeline = Text3(fila).Text
Next
End If
ofich.Close ' cerramos el objeto
End Sub
¿que hago mal? porque no me graba nada... ademas, si el archivo ya existe y lo quiero sobre escribir me da error.
Gracias
Salu2
he utilizado un commonddialog y me crea el archivo pero no me guarda ninguna informacion dentro.
el codigo es el siguiente:
Private Sub Command2_Click()
CommonDialog2.Filter = "Archivos de Texto (*.txt)|*.txt" ' ABRE VENTANA PARA los datos (SOLO LECTURA)
CommonDialog2.FilterIndex = 1
CommonDialog2.ShowSave
If CommonDialog2.FileName = "" Then
Exit Sub 'SI NO HAY datos NO CARGA NADA
Else ' cargamos el archivo
ruta = CommonDialog2.FileName
Set fso = CreateObject("Scripting.FileSystemObject")
Set ofich = fso.createtextfile(ruta) 'abre el fichero seleccionado para su lectura
For fila = 0 To n - 1
ofich.writeline = Text2(fila).Text
ofich.writeline = Text3(fila).Text
Next
End If
ofich.Close ' cerramos el objeto
End Sub
¿que hago mal? porque no me graba nada... ademas, si el archivo ya existe y lo quiero sobre escribir me da error.
Gracias
Salu2
hola maya,
antes del For fila = 0 To n - 1 deberias poner el valor de n
n = .....................
Un saludo
antes del For fila = 0 To n - 1 deberias poner el valor de n
n = .....................
Un saludo
ya he puesto el valor de n, ademas he hecho algunos cambios como por ejemplo meter algunos flags, pero sigue sin funcionarme porque al llegar al bucle for...next me dice que esta fuera de rango o intervalo. a que puede ser debido??
el codigo es el siguiente:
Private Sub Command2_Click()
CommonDialog2.Filter = "Archivos de Texto (*.txt)|*.txt" ' ABRE VENTANA PARA los datos (SOLO LECTURA)
CommonDialog2.FilterIndex = 1
CommonDialog2.CancelError = False
CommonDialog2.Flags = cdlOFNHideReadOnly + cdlOverwritePrompt + cdlNoValidate
CommonDialog2.ShowSave
ruta = CommonDialog2.FileName
Set fso = CreateObject("Scripting.FileSystemObject")
Set ofich = fso.createtextfile(ruta) 'abre el fichero seleccionado para su lectura
contador = 0
n = Text1.Text
For fila = 0 To 2 * n - 2 Step 2
puntos(fila) = CDbl(Text2(contador).Text)
puntos(fila + 1) = CDbl(Text3(contador).Text)
contador = contador + 1
Next
ofich.writeline = puntos()
ofich.Close ' cerramos el objeto
End Sub
ademas en el flag cdlOverwritePrompt no me funciona porque me dice que la variable no esta definida...
gracias
salu2
el codigo es el siguiente:
Private Sub Command2_Click()
CommonDialog2.Filter = "Archivos de Texto (*.txt)|*.txt" ' ABRE VENTANA PARA los datos (SOLO LECTURA)
CommonDialog2.FilterIndex = 1
CommonDialog2.CancelError = False
CommonDialog2.Flags = cdlOFNHideReadOnly + cdlOverwritePrompt + cdlNoValidate
CommonDialog2.ShowSave
ruta = CommonDialog2.FileName
Set fso = CreateObject("Scripting.FileSystemObject")
Set ofich = fso.createtextfile(ruta) 'abre el fichero seleccionado para su lectura
contador = 0
n = Text1.Text
For fila = 0 To 2 * n - 2 Step 2
puntos(fila) = CDbl(Text2(contador).Text)
puntos(fila + 1) = CDbl(Text3(contador).Text)
contador = contador + 1
Next
ofich.writeline = puntos()
ofich.Close ' cerramos el objeto
End Sub
ademas en el flag cdlOverwritePrompt no me funciona porque me dice que la variable no esta definida...
gracias
salu2
hola maya, perdona por la respuesta tan breve de antes, las prisas no me dejan ver las cosas claras, jeje.
Mira, lo he probado y funciona bien con este código que es mucho más parecido al primero que al segundo que has puesto:
Private Sub Command2_Click()
CommonDialog2.Filter = "Archivos de Texto (*.txt)|*.txt" ' ABRE VENTANA PARA los datos (SOLO LECTURA)
CommonDialog2.FilterIndex = 1
CommonDialog2.ShowSave
If CommonDialog2.FileName = "" Then
Exit Sub 'SI NO HAY datos NO CARGA NADA
Else ' cargamos el archivo
ruta = CommonDialog2.FileName
Set fso = CreateObject("Scripting.FileSystemObject")
Dim ofich
Set ofich = fso.CreateTextFile(ruta, True) 'abre el fichero seleccionado para su lectura
n = Text1.Text
For fila = 0 To n - 1
ofich.WriteLine (Text2(fila).Text)
ofich.WriteLine (Text3(fila).Text)
Next
End If
ofich.Close ' cerramos el objeto
End Sub
Fijate en el error que cometias con el uso de la funcion WriteLine.
Un saludo
Mira, lo he probado y funciona bien con este código que es mucho más parecido al primero que al segundo que has puesto:
Private Sub Command2_Click()
CommonDialog2.Filter = "Archivos de Texto (*.txt)|*.txt" ' ABRE VENTANA PARA los datos (SOLO LECTURA)
CommonDialog2.FilterIndex = 1
CommonDialog2.ShowSave
If CommonDialog2.FileName = "" Then
Exit Sub 'SI NO HAY datos NO CARGA NADA
Else ' cargamos el archivo
ruta = CommonDialog2.FileName
Set fso = CreateObject("Scripting.FileSystemObject")
Dim ofich
Set ofich = fso.CreateTextFile(ruta, True) 'abre el fichero seleccionado para su lectura
n = Text1.Text
For fila = 0 To n - 1
ofich.WriteLine (Text2(fila).Text)
ofich.WriteLine (Text3(fila).Text)
Next
End If
ofich.Close ' cerramos el objeto
End Sub
Fijate en el error que cometias con el uso de la funcion WriteLine.
Un saludo
