Exportar archivo de excel a pdf y pregunte la ruta

Tengo un problema con una macro que hice para exportar informes de excel a PDF, la cuestión es que quiero que la macro me exporte el archivo a PDF pero me pregunte donde la quiero guardar puesto que el informe lo quiero guardar en una Memoria USB y esta no siempre la uso en el mismo computador y por ende no siempre se le asigna la misma letra a la unidad. Esta es la macro que estoy usando y me trabaja a la perfección pero me guarda los archivos en una única ruta.
Sub GUARDAR_INFORME()
ActiveSheet.Unprotect ""
Sheets("INF. POR DAÑOS").Select
Application.ScreenUpdating = False
Dim RutaArchivo As String
RutaArchivo = "C:\Escritorio\informes\por daños\" + Cells(3, 12) & "_" & ["JFG"] + ".pdf"
Range("A1:K53").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
ActiveSheet.Protect ""
End Sub

1 respuesta

Respuesta
1
Si la rutina ya está probada y funciona (*), tenés que agregarle las instrucciones que dejo marcadas (le agregué algunos controles también):
Sub GUARDAR_INFORME()
ActiveSheet.Unprotect ""
Sheets("INF. POR DAÑOS").Select
Application.ScreenUpdating = False
Dim RutaArchivo As String, ruta As String
ruta = InputBox("Ingresa la carpeta de destino")
'si se cancela la ventana se cancela el proceso
If ruta = "" Then Exit Sub
RutaArchivo = ruta & ":\" & Cells(3, 12) & "_" & ["JFG"] + ".pdf"
Range("A1:K53").Select
'controlo posible error de ruta incorrecta
On Error Resume Next
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
RutaArchivo, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
ActiveSheet.Protect ""
End Sub
(*) menciono esto porque no la probé... avisame si te presenta algún inconveniente

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas