Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Macro gerar pdf

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
Erickvinic
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Sáb Jun 15, 2019 12:16 pm

Macro gerar pdf

Mensagem por Erickvinic »

Bom dia! Alguem pode me ajudar?

Preciso de uma macro para gerar um pdf automatico, porém eu gostaria que fosse aberta uma janela de dialogo para o usuario escolher a pasta de destino, pois cada arquivo vai para uma pasta de acordo com o cliente do relatório.

Eu tentei os 2 modelos abaixo, o primeiro faz tudo que eu quero, mas por o arquivo conter macros, ele da um erro no arquivo pdf e não abre.

O segundo salva o arquivo diretamente sem abrir a janela de onde salvar. Alguem consegue me ajudar?



Sub exportarpdf()
Dim CaixaDialogo As FileDialog
Dim titulo As String
titulo = Range("H1")
Set CaixaDialogo = Application.FileDialog(msoFileDialogSaveAs)
With CaixaDialogo
.InitialFileName = "https://vppfrs-fabrics.latam.collaborat ... Form/Adami" & titulo
.FilterIndex = 25 'PDF no Office 2010
.Show
.Execute
End With



ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="vFilename", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAftePublish:=False

Obrigado


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Macro gerar pdf

Mensagem por Reinaldo »

Experimentou a rotina proposta pelo colega Saulo (SRobles) no planilhando http://www.planilhando.com.br/forum/vie ... 10&t=31274; ela, aparentemente, faz o que deseja
Segue a rotina comentada:

Código: Selecionar todos

Sub salvaPDF()
Dim caixaSalvar As Office.FileDialog
Dim caminhoSalvar As String, nomeArquivo As String

'Abre caixa de dialogo para selecionar local/diretorio onde será salvo arquivo
Set caixaSalvar = Application.FileDialog(msoFileDialogFolderPicker)

With caixaSalvar
    .AllowMultiSelect = False
    .Title = "Selecione o local para salvar"
    .Show
End With
'verifica se foi selecionado um diretorio/local, se não foi sai da rotina
If caixaSalvar.SelectedItems.Count = 0 Then
    MsgBox "Operação cancelada!", vbExclamation, "Salvar PDF"
    Exit Sub
Else
'inclui o caminho selecionado em uma variavel
caminhoSalvar = caixaSalvar.SelectedItems(1) & "\"
'Efetua um loop nas abas da planilha para salvar pdf uma a uma
With ThisWorkbook
    For vAba = 1 To .Sheets.Count
        .Sheets(vAba).Activate
        'Obtem/determina nome que sera atribuido ao arquivo pdf
        nomeArquivo = "Teste " 'Sheets(vAba).Cells(7, "AN") & ".pdf"
        'Exporta/salva a planilha como pdf, se desejar abrir o pdf salvo, altere OpenAfterPublish para True
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                CStr(caminhoSalvar & nomeArquivo), Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
                False
    Next
End With
End If
MsgBox "Operação realizada com sucesso!", vbInformation, "Salvar PDF"
End Sub


Responder