Saltar al contenido

Guardar libro activo en una ruta temporal


Recommended Posts

Hola a todos;

Con el procedimiento que adjunto guardo el libro en una ruta temporal con la hoja activa, después copio esa ruta en un textbox que tengo en un formulario e envío el mail.

Hasta aquí todo bien. 

La consulta es si es factible que se guarde todo el libro con " todas las hojas que tenga".

Saludos y muchas gracias como siempre por su colaboración. 

 

Sub adjuntarLibro()
Dim RutaTemporal As String, vArchivo As Workbook, vArchivoTemp As String
Application.ScreenUpdating = False
    With ActiveWorkbook
    .ActiveSheet.Copy
    End With
    Set vArchivo = ActiveWorkbook
        vArchivoTemp = vbNullString
        RutaTemporal = Environ$("temp") & "\"
        vArchivoTemp = "LIBRO" & Format(Now, "hh-mm-ss")
        
Application.DisplayAlerts = False
        vArchivo.SaveAs RutaTemporal & vArchivoTemp & ".xlsx"
        NombreArchivo = RutaTemporal & vArchivoTemp & ".xlsx"
        MiMail.txtAdjunto=NombreArchivo 
  
        vArchivo.Close
        
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

 

Enlace a comentario
Compartir con otras webs

Hace 9 horas, Abraham Valencia dijo:

Hola amigo

Quita estas líneas, guarda y comentas:

    With ActiveWorkbook
    .ActiveSheet.Copy
    End With

 

Buenos  días Abraham, he probado lo que me indicas pero me da fallo de extensión.

He adjuntado en el post anterior la macro con la corrección que apuntaste.

Muchas gracias por tú interés.

Enlace a comentario
Compartir con otras webs

Hace 1 hora, Abraham Valencia dijo:

Prueba así:

 vArchivo.SaveAs RutaTemporal & vArchivoTemp & ".xlsx", FileFormat:=xlOpenXMLWorkbook

Obvio puedes eliminar el botón previamente,

Hola Abraham, disculpa pero estoy trabajando y no pude responder antes.

He probado este cambio y va mejor puedo comprobarque el archivo generado temporalmente contiene todas las hojas, pero al ejecutar el código me genera el error que adjunto. 

El error generado es porque cierra la macro y me quedo en el libro guardado que se ha generado.

Adjunto imágenes:

image.thumb.png.e743260b9c01c743e69c50551b52f652.png

image.png.f47e11a39f41f05f0b61b94b142bc937.png

En cambio si comento para que se cierre el libro me salgo de la macro.

¿No se puede configurar para que el libro que cierre sea el temporal?

 

image.thumb.png.1f6461d2a965746bf3ec08aa58c16a4b.png

image.thumb.png.e6ec5664e3ca431e1a2214abbfea2dc6.png

Muchas gracias Abraham  y disculpa tanta molestia.

Saludos.

 

Enlace a comentario
Compartir con otras webs

Ya abrí el archivo y acabo de ver que usas CDO, pero CDO tiene un gran dilema: No permite adjuntar un archivo abierto.

¿Alternativas? Usar "otro" archivo para enviar lo que necesites, lo otro es crear una copia con SaveCopyAs, con otro nombre, abrir esa copia, guardarla como xlsx y recién enviar eso... o sea, bastante trabajo por hacer jejeje.

Enlace a comentario
Compartir con otras webs

Hace 10 minutos , Abraham Valencia dijo:

Ya abrí el archivo y acabo de ver que usas CDO, pero CDO tiene un gran dilema: No permite adjuntar un archivo abierto.

¿Alternativas? Usar "otro" archivo para enviar lo que necesites, lo otro es crear una copia con SaveCopyAs, con otro nombre, abrir esa copia, guardarla como xlsx y recién enviar eso... o sea, bastante trabajo por hacer jejeje.

Ok @Abraham Valencia gracias por aclararme este tema. Le había dado vueltas y veía que no progresaba. Intentaré hacer lo que me dices y como dices. 

A ver si consigo. 

Muchas gracias y un abrazo Abraham. ? 

 

Enlace a comentario
Compartir con otras webs

Hace 19 horas, Abraham Valencia dijo:

Ya abrí el archivo y acabo de ver que usas CDO, pero CDO tiene un gran dilema: No permite adjuntar un archivo abierto.

¿Alternativas? Usar "otro" archivo para enviar lo que necesites, lo otro es crear una copia con SaveCopyAs, con otro nombre, abrir esa copia, guardarla como xlsx y recién enviar eso... o sea, bastante trabajo por hacer jejeje.

Hola @Abraham Valencia creo haberlo conseguido.

Ya me dirás si hay algún error.

P.D. Ojo que el mail y el pass están incorrectos. Ya sé que te has dado de cuenta ?.

Un abrazo.

MMailPruebas.xlsm

Enlace a comentario
Compartir con otras webs

Hace 14 horas, Gerson Pineda dijo:

Y tal como lo comenta @Abraham Valencia crea una copia y luego lo eliminas con Vba.Kill

Hola Gerson;

-Efectivamente esa instrucción ya la había contemplado en la macro, no obstante muchas gracias por la suguerencia.

Un fuerte abrazo.

Enlace a comentario
Compartir con otras webs

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.