Notifications
Clear all

Exportar para PDF com data e hora

10 Posts
2 Usuários
0 Reactions
1,721 Visualizações
(@geovanerocha)
Posts: 51
Trusted Member
Topic starter
 

Sub Gera_Pdf()
Dim i, ListSheets As Variant
i = 0
'Array com as Planilhas a serem convertidas Array("Plan2", "Plan3")
ListSheets = Array("Recebimento")

For Each i In ListSheets
endereco = "I:ExcelRelatórioTeste " & i & ".pdf"
Sheets(i).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
endereco, Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next i
End Sub

Como acrescentar acima na exportação para PDF a data e hora?

 
Postado : 09/03/2013 6:57 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Voce já havia postado em viewtopic.php?f=10&t=1520&start=10
Veja:
Primeiro: lembrando que os nomes de arquivos não podem utilizar alguns caracteres, entre eles "/" e ":"; portanto data e hora devem ser formatados diferentemente.
então deve ter
data = VBA.Format(Date, "dd-mm-yyyy")
hora = VBA.Format(Time, "hh.mm.ss")

Experimente
de:
endereco =endereco = "I:ExcelRelatórioTeste " & i & ".pdf"
para:
endereco = "I:ExcelRelatórioTeste " & i & "-" & data & "-" & hora .pdf"

 
Postado : 09/03/2013 7:08 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Sub Gera_Pdf()
Dim i, ListSheets As Variant
Dim AleVBA As String
i = 0
'Array com as Planilhas a serem convertidas Array("Plan2", "Plan3")
ListSheets = Array("Recebimento")
AleVBA = Format(Date, "dd-mm-yyyy")
For Each i In ListSheets
endereco = "I:ExcelRelatórioTeste" & i & "-" & AleVBA & ".pdf"
Sheets(i).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
endereco, Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next i
End Sub
 
Postado : 09/03/2013 7:35 am
(@geovanerocha)
Posts: 51
Trusted Member
Topic starter
 

Deu erro de compilação.

O arquivo exportado ficaria assim: 09_03_2013 (10-52) - Recebimento.pdf

 
Postado : 09/03/2013 7:54 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia!!

Reveja com atenção eu não tive problemas ao executar a rotina.

Sub Gera_Pdf()
Dim i, ListSheets As Variant
Dim AleVBA As String
i = 0
'Array com as Planilhas a serem convertidas Array("Plan2", "Plan3")
ListSheets = Array("Recebimento")
AleVBA = Format(Date, "dd-mm-yyyy")
For Each i In ListSheets
'09_03_2013 (10-52) - Recebimento.pdf
'endereco = "C:UsersalexandreDownloads" & AleVBA & "_" & i & "_pdf"
endereco = "I:ExcelRelatório" & AleVBA & AleVBA & "_" & i & "_pdf"
Sheets(i).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
endereco, Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next i
End Sub
 
Postado : 09/03/2013 8:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

geovane,
pelo seu comentário:
[quote=O arquivo exportado ficaria assim: 09_03_2013 (10-52) - Recebimento.pdf

e o erro de complilação indica que vc montou a string de nome incorretamente (não foi como indicamos anteriormente)

 
Postado : 09/03/2013 8:22 am
(@geovanerocha)
Posts: 51
Trusted Member
Topic starter
 

Agora de certo, porém faltou a hora que o arquivo foi gerado.

 
Postado : 09/03/2013 9:47 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

A primeira resposta do Reinaldo, resolve toda sua questão.

Veja.

Sub Gera_Pdf()
Dim i, ListSheets As Variant
Dim AleVBA As String
i = 0
'Array com as Planilhas a serem convertidas Array("Plan2", "Plan3")
ListSheets = Array("Recebimento")
AleVBA_Data = Format(Date, "dd-mm-yyyy")
AleVBA_Horas = Format(Time, "hh.mm")
For Each i In ListSheets
'09_03_2013 (10-52) - Recebimento.pdf
'endereco = "C:UsersalexandreDownloads" & AleVBA_Data & "_" & i & "_pdf_" & AleVBA_Horas
endereco = "I:ExcelRelatório" & AleVBA_Data & "_" & i & "_pdf_" & AleVBA_Horas
Sheets(i).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
endereco, Quality:=xlQualityStandard, IncludeDocProperties:=True _
, IgnorePrintAreas:=False, OpenAfterPublish:=True
Next i
End Sub
 
Postado : 09/03/2013 3:09 pm
(@geovanerocha)
Posts: 51
Trusted Member
Topic starter
 

Muito obrigado! resolveu o meu problema.

 
Postado : 10/03/2013 6:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

se poder clicar na mãozinha, eu também fico grato!

 
Postado : 10/03/2013 6:20 pm