Há dias, tive necessidade de criar uma peça de código, que obrigasse a criar um ficheiro em formato .PDF, a partir da worksheet activa, e que o nome contivesse a data do dia anterior.
Assim, entendi que o melhor método, seria usar o Procedimento Workbook_BeforeClose.
Eis o código, com a indicação da localização para onde o ficheiro pdf deverá ser guardado (exemplo):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim SvInput As String
SvInput = “D:ExcelTestesPROGR_PR” & “_” & Date – 1 & “.pdf”
With ActiveSheet
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=SvInput, _
OpenAfterPublish:=True
End With
End Sub
Mérito para o Excel MVP Ken Puls, cujo conjunto de peças de código de exemplo, pode ser visto em: www.excelguru.ca/node/92