Guardar hoja de libro como *.CSV

08/01/2006 - 23:52 por Javichu | Informe spam
Hola amigos, de nuevo recurre o vuestra conocimiento para salir de u
atasco.
Como puedo hacer, mediante código al cuál lo aplicaré a un boton, qu
una Hoja de un libro (ej. HojaX) se guarde en una ubicación determinad
del pc (o en la misma carpeta que contiene el libro en la que s
encuentra) pero con formato de separación por comas, (*.csv).
Ej.
1. Un libro tiene 3 hojas y una se llama HojaX.
2. Ésa hoja (HojaX) hay que guardarla con un nombre determinado en un
celda de ésa misma hoja (o de otra cualquiera) con formato *.CSV
Como si esa hoja fuera un libro nuevo.
3. Se puede guardar en la misma carpeta dónde está el libro que l
contiene, o en cualquier otra ubicación.

Ése código haré que se ejecute al hacer click en un botón a volunta
del usuario.

Gracias por vuestra atención y por vuestro tiempo. Un saludo

Javich
Javichu's Profile: http://www.msusenet.com/member.php?useridB9
View this thread: http://www.msusenet.com/t-187366539

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
10/01/2006 - 04:06 | Informe spam
hola, Javichu !

... que una Hoja de un libro (ej. HojaX) se guarde en una ubicación determinada del pc
(o en la misma carpeta que contiene el libro en la que se encuentra) pero con formato de separación por comas, (*.csv).
1. Un libro tiene 3 hojas y una se llama HojaX.
2. ... hay que guardarla con un nombre determinado en una celda de esa misma hoja (o de otra cualquiera) con formato *.CSV
Como si esa hoja fuera un libro nuevo.
3. Se puede guardar en la misma carpeta dónde está el libro que la contiene, o en cualquier otra ubicacion.
Ese codigo hare que se ejecute al hacer click en un boton a voluntad del usuario...



suponiendo que ya te 'decidiste' por el nombre y ubicacion del archivo
y no hay 'errores' en la cadena de construccion de 'NombreArchivo' [p.e. en alguna 'variable' con ese nombre]
[y que -este- 'NO existe' en el directorio donde se va a guardar]
prueba con algo +/- como lo siguiente...
Worksheets("HojaX").Copy
ActiveWorkbook.SaveAs _
FileName:=NombreArchivo, _
FileFormat:=xlCSV
ActiveWorkbook.Close, False

-> con respecto del 'formato' [FileFormat:=...]
revisa en la ayuda de vba el formato que [realmente] 'necesitas' .TXT, o .CSV, o -???-
[p.e. xlCSVMSDOS, xlTextMSDOS, xlTextPrinter, xlTextWindows, etc.]

saludos,
hector.
Respuesta Responder a este mensaje
#2 Javichu
30/01/2006 - 23:41 | Informe spam
Hola Hector Miguel!
Ante todo, muchas gracias por vuestra colaboración, sin la cuál esto n
sería posible.
El código que me has dado funciona perfectamente pero creo que tení
unos conocimientos que ahora me doy cuenta de no los poseo...:(
Vamos a ver, parece ser que "la variable para definir el nombre" no l
tengo tan clara como pensaba y me gustaría incluir las siguiente
acciones:
- El nombre me gustaría que fuese el contenido de la celda L2 de l
hoja "Hoja de Diseño". (yo no consigo acertar con el código :confused
)
- Como puedo indicar la dirección dónde lo quiero guardar. (p.e. en e
Desktop)
- Como puedo gurdarlo con una password.
- Por último, como puedo, cuando cierra el archivo creado, que no m
pregunte si deseo guardar los cambios.

Muchissssimas gracias por tu tiempo y tu colaboración. Recibe u
cordial saludo

Javich
Javichu's Profile: http://www.msusenet.com/member.php?useridB9
View this thread: http://www.msusenet.com/t-187366539
Respuesta Responder a este mensaje
#3 Héctor Miguel
31/01/2006 - 06:16 | Informe spam
hola, Javichu !

... "la variable para definir el nombre" no la tengo tan clara como pensaba y me gustaria incluir las siguientes acciones:
- El nombre... que fuese el contenido de la celda L2 de la hoja "Hoja de Diseño"... no consigo acertar con el codigo
- Como puedo indicar la direccion donde lo quiero guardar. (p.e. en el Desktop)
- Como puedo gurdarlo con una password.
- Por ultimo, como puedo, cuando cierra el archivo creado, que no me pregunte si deseo guardar los cambios.



siguiendo con el ejemplo anterior...
1) para que el nuevo libro 'tome' el nombre de 'X' hoja en el libro con la macro -> haz una referencia al 'ThisWorkbook'
2) para indicar la direccion/carpeta... el 'ejemplo' -preciso- del Desktop... 'hay que averiguarlo' [y depende de la version y el usuario] :-(
3) para guardarlo con password... [me temo que] si el formato es diferente de XLS... [no creo que 'funcione' un password] :-((
4) para que no te pregunte si deseas guardar los cambios [los pregunta cuando el formato es distinto de XLS] ;)
-> va el mismo ejemplo 'complementado' ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
en un modulo de codigo 'normal' en el libro 'original' ==Sub Guardar_Hoja_CSV()
Dim Escritorio As String
With CreateObject("WScript.Shell")
Escritorio = .SpecialFolders("Desktop") & "\"
End With
Worksheets("HojaX").Copy
ActiveWorkbook.SaveAs _
FileName:=Escritorio & _
ThisWorkbook.Worksheets("Diseño").Range("L2"), _
Password:="aBc", _
FileFormat:=xlCSV
ActiveWorkbook.Close False
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida