Logo Hardware.com.br
Jussara SR
Jussara SR Zerinho Registrado
2 Mensagens 0 Curtidas

Macro VBA para salvar em PDF com nome e destino preenchido em células do Excel.

#1 Por Jussara SR 08/07/2020 - 17:21
Prezados,

Tenho planilhas para cálculos judicias e preciso criar macro para salvar em PDF com dois nomes (no meu caso: MENU!C4 e MENU!C5) e abrindo box para perguntar onde deseja salvar.
Pelo fato do nome precisa conter o numero do processo e autor, e ainda, salvar na pasta que foi criada pelo sistema quando chega a demanda, e essa pasta nem sempre tem nome padrão e não conseguimos alterar.
É como se fosse usar o Crtl+P porém com o nome preenchido na planilha.
LaerteB
LaerteB Super Participante Registrado
153 Mensagens 127 Curtidas
#2 Por LaerteB
09/07/2020 - 10:14
Bom dia, Jussara SR.

Para ajudá-la com maior rapidez e eficácia, é muito importante tu anexar uma planilha de exemplo
com dados (fictícios) e que não seja o projeto inteiro (com o trecho que está com dificuldades);
explicando com as informações necessárias para alcançar o seu objetivo (se necessário incluir
imagens elucidativas)..

Tenho este código abaixo (genérico) que abre uma janela para tu salvar no local que quiser
a sua Planilha Excel:

Sub SalvarPDF()

Dim pas

pas = Application.GetSaveAsFilename(InitialFileName:= Range("B2&quot, _
FileFilter:="PDF files, *.pdf", _
Title:="Save PDF File&quot

If TypeName(pas) = "Boolean" Then
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=pas, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If

End Sub


O trecho do pas "InitialFileName:= Range("B2")" pode ser modificado com
o nome do arquivo a ser salvo (exemplo "Teste.pdf").

Espero que te ajude...
Se tiver outras dúvidas é só anexar um arquivo exemplo, que iremos ajudá-la boa.gif

Não se esqueça de clicar no botão "Curtir", no canto inferior direito bom_trabalho.gif..

Aguardando sua resposta e seu Feed Back wink.png...

LaerteB smile.png
"Se a resposta foi útil para ti wink.png, por gentileza clicar no botão Curtir, obrigado wink.png ."
Jussara SR
Jussara SR Zerinho Registrado
2 Mensagens 0 Curtidas
#3 Por Jussara SR
09/07/2020 - 15:55
Caro LaerteB,

Quando coloco apenas uma célula dá certo, porém quando adicono outra não dá.

Veja o código editado:


Sub SalvarPDFcomNome()

Dim pas

pas = Application.GetSaveAsFilename(InitialFileName:=Range("PDF!C3") & Range("PDF!C4"), _
FileFilter:="PDF files, *.pdf", _
Title:="Save PDF File")

If TypeName(pas) = "Boolean" Then
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=pas, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If

End Sub
LaerteB
LaerteB Super Participante Registrado
153 Mensagens 127 Curtidas
#4 Por LaerteB
09/07/2020 - 17:11
Boa tarde, Jussara SR

Então desta forma que tu colocou não dará certo mesmo.. mas pode ser feito como abaixo,
inserindo esses códigos em um módulo:

Sub SalvarPDFcomNome()

Dim pas

pas = Application.GetSaveAsFilename(InitialFileName:=Range("C3&quot, _
FileFilter:="PDF files, *.pdf", _
Title:="Save PDF File&quot

If TypeName(pas) = "Boolean" Then
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=pas, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If

End Sub

Sub SalvarPDFcomNome2()

Dim pas

pas = Application.GetSaveAsFilename(InitialFileName:=Range("C4&quot, _
FileFilter:="PDF files, *.pdf", _
Title:="Save PDF File&quot
If TypeName(pas) = "Boolean" Then
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=pas, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End If

End Sub


E poderá chamá-los com o código abaixo, executado por um botão:

Private Sub CommandButton1_Click()
Call SalvarPDFcomNome
Call SalvarPDFcomNome2
End Sub


Com isso salvará os dois um em seguida do outro boa.gif...

Espero que seja assim que queria bom_trabalho.gif..

OBS: quando for colocar seus códigos, faça pelo botão + (no menu da janela resposta)
clicando no " > Código" wink.png

Qualquer coisa estamos aqui para ajudar..

Não se esqueça de clicar no botão "Curtir", no canto inferior direito bom_trabalho.gif..

Aguardando sua resposta e seu Feed Back wink.png...

LaerteBsmile.png
"Se a resposta foi útil para ti wink.png, por gentileza clicar no botão Curtir, obrigado wink.png ."
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal