Macro que guarde pdf en ubicación especifica

Les traigo la siguiente consulta, tengo una macro en donde se extraen datos de una planilla y se cargan en un listbox, el cual después se exportan a pdf mediante la siguiente línea

1)  Hoja8.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Municipalidad", OpenAfterPublish:=True
2)  Application.ScreenUpdating = True

Mi Consulta seria, si el codigo me podria guardar automaticamente en una ubicación, y que la nombre le coloque "Municipalidad y el Mes en el que estamos"(Ej: Municipalidad Diciembre 2015).

Y si pudiese hacerse, que la macro exporte automáticamente todos los 25 de cada mes la planilla, que cuando es 25 y se abra excel se exporte solo el pdf.

Respuesta
1

Te dejo el siguiente código, solo vas a modificar la línea que dice "ruta" y entre las comillas ("") vas a colar la ruta donde quieres que se guarde.

Private Sub CommandButton1_Click()
ruta = "G:\JYC Soluciones\Facturas de venta\"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ruta & nombre, Quality:= _
    xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
    OpenAfterPublish:=True
End Sub

1 respuesta más de otro experto

Respuesta
1

Echale una mirada a este código, yo no soy programador pero he ido aprendiendo y sacando ideas y partes de diferentes archivos, este código está adaptado para guardar la hoja en formato PDF y con diferentes indicadores en el nombre y ubicación, ej. Guarda el archivo en el escritorio\municipalidad... si no existe la carpeta, la creará... luego tiene designado un numero de folio, el cual hace un +1 después de guardar... también tiene designado una celda en parte del nombre, fíjate un poco, revisa y adáptala. Ojala te sirva...

Saludos!

Sub GuardaPDF()
On Error GoTo ErrorHandler
'
' GuardaPDFOrdenDeCompra Macro
'

'
nbreLibro = Range("D12")
pre = "MUNICIPALIDAD "
guion = " - "
fol = Range("E10")
nu = "Nº "
Escritorio = CreateObject("wscript.shell").SpecialFolders("desktop") & "\MUNICIPALIDAD\"
Dim cDirec As String

cDirec = Escritorio

If Dir(cDirec) = "" Then
On Error Resume Next
MkDir cDirec
End If
Application.ScreenUpdating = False
Sheets("orden de compra").Visible = True
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Escritorio & pre & nu & fol & guion & nbreLibro & ".PDF", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
nbreLibro = Range("D12")
pre = "MUNICIPALIDAD "
guion = " - "
pdf = ".PDF"
fol = Range("E10")
nu = "Nº "
MsgBox "Se ha guardado el archivo:" & vbCrLf & "" & pre & nu & fol & guion & nbreLibro & pdf & "", vbInformation, "Mach Chile Limitada"
Range("E10").Value = Range("E10").Value + 1
ThisWorkbook.Save
Sheets("orden de compra").Visible = False
Exit Sub
ErrorHandler:
MsgBox "¡Se ha producido un error!", vbCritical, "Mach Chile Limitada"
End Sub

Le cambie algunas líneas de código pero me guarda el archivo en c:usuario\desktop municipalidad y no es donde quiero guardarla, entonces no estoy entendiendo como hago para que me guarde en por ejemplo el escritorio o por ejemplo mis documentos que tengo en el disco "D". Como tendría que escribir la línea de comandos

Solo tienes que modificar esta línea...

Escritorio = CreateObject("wscript.shell").SpecialFolders("desktop") & "\MUNICIPALIDAD\"

por esto...

Escritorio = "D:\MUNICIPALIDAD\"

No te preocupes por el nombre "escritorio" solo era para identificar la ubicación del archivo, lo que vale es la ruta que esta definida después del =

Saludos... y no olvides VALORAR la respuesta!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas