• Viernes 15 de Noviembre de 2024, 08:20

Autor Tema:  Guardar Archivos  (Leído 1518 veces)

karen81

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Guardar Archivos
« en: Miércoles 21 de Diciembre de 2005, 05:03 »
0
;) hola, me ha surgido una duda de como guardar archivos en visual basic, ya hice una rutina de como abrir los archivos y todo bien  :comp: , por lo que  pense que guardar se hacia de manera similar, lo que hice fue:
en text3.text esta lo que quiero guardar en un archivo de texto  lo guardo en la variable archivos y hago lo siguiente

Código: Text
  1. archivos = Text3.Text
  2.  
  3. On Error GoTo nada
  4. 'Presenta el cuadro de dialogo guardar
  5. CommonDialog1.FileName = ""
  6. CommonDialog1.DialogTitle = "guardar archivo como"
  7. CommonDialog1.Filter = "Archivos de texto (*.txt) |*.txt|"
  8. CommonDialog1.InitDir = archivos
  9. CommonDialog1.FileName = ""
  10. CommonDialog1.ShowSave
  11. nada:
  12. Exit Sub
  13. End Sub
  14.  
me aparece el cuadro de dialogo, le pongo el nombre, le doy guardar pero no pasa nada  :huh: ¿en que me he equivocado? o ¿que me hace falta? :unsure:


cualquier ayuda sera bienvenida

gracias  :hola:
No basta tener buen ingenio; lo principal es aplicarlo bien.

Shiquilla

  • Miembro MUY activo
  • ***
  • Mensajes: 188
  • Nacionalidad: es
    • Ver Perfil
    • http://www.songesoft.com
Re: Guardar Archivos
« Respuesta #1 en: Miércoles 21 de Diciembre de 2005, 11:40 »
0
Te falta la instrucción para guardar el fichero, el commondialog lo único que hace es devolverte la ruta. Quedaría algo así:

Código: Text
  1. Dim lsFichero As String
  2. Dim lsTexto As String
  3.     lsTexto = Text3.Text
  4.     CommonDialog1.CancelError = False
  5.     CommonDialog1.DialogTitle = "guardar archivo como"
  6.     CommonDialog1.Filter = "Archivos de texto (*.txt) |*.txt|"
  7.     CommonDialog1.InitDir = lsTexto
  8.     CommonDialog1.FileName = ""
  9.     CommonDialog1.ShowSave
  10.     
  11.     lsFichero = CommonDialog1.FileName
  12.     If Trim(lsFichero) <> "" Then
  13.         Open lsFichero For Output As #1
  14.             Print #1, lsTexto
  15.         Close #1
  16.         MsgBox "Fichero guardado"
  17.     End If
  18.  

Saludos,
« §hÿqµïllæ »

karen81

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Re: Guardar Archivos
« Respuesta #2 en: Jueves 22 de Diciembre de 2005, 00:20 »
0
:huh: shiquilla probe con el codigo que me pusiste pero cuando llega a la parte
Código: Text
  1.  Open lsFichero For Output As #1
  2.  
me aparece un error que dice:

Error "55" en tiempo de ejecucion:

El archivo ya esta abierto

 :( , no se porque pues no entiendo que hace esa parte.

cualquier ayuda sera bienvenida


Gracias :hola:
No basta tener buen ingenio; lo principal es aplicarlo bien.

karen81

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Re: Guardar Archivos
« Respuesta #3 en: Jueves 22 de Diciembre de 2005, 00:56 »
0
:P Hola me puse a buscar y encontre el problema estaba cuando se pone #1, encontre una recomendacion en internet que decia que si no se sabe qué número de archivo está libre, se debe usar FreeFile, de la siguiente manera

Código: Text
  1. Dim lsFichero As String
  2. Dim lsTexto As String
  3. Dim num As Variant
  4.  
  5.    lsTexto = Text3.Text
  6.    CommonDialog1.CancelError = False
  7.    CommonDialog1.DialogTitle = "guardar archivo como"
  8.    CommonDialog1.Filter = "Archivos de texto (*.txt) |*.txt|"
  9.    CommonDialog1.InitDir = lsTexto
  10.    CommonDialog1.FileName = ""
  11.    CommonDialog1.ShowSave
  12.    
  13.    lsFichero = CommonDialog1.FileName
  14.    'ojo con esto
  15.    num = FreeFile
  16.    If Trim(lsFichero) <> "" Then
  17.        Open lsFichero For Output As #num
  18.            Print #num, lsTexto
  19.        Close #num
  20.        MsgBox "Fichero guardado"
  21.    End If
  22.  
Gracias Shiquilla, ya era solo un detalle  :comp:
No basta tener buen ingenio; lo principal es aplicarlo bien.