Macro para Exportar PDF – Como Criar?
Quer aprender a criar uma macro para exportar PDF das suas planilhas? Então este tutorial é para você!
No Excel, já é possível exportar arquivos xls ou xlsx para pdf. No entanto, dependendo da ocasião, é necessário executar esta tarefa diversas vezes ao dia. E pensando nisso, nós separamos hoje um passo a passo para que você possa aprender criar facilmente uma Macro para exportar PDF a partir do Excel com um único clique. Acompanhe os detalhes:
Observação: Se você tem dificuldades para criar suas primeiras Macros no Excel, recomendamos que leia este artigo.
Aprenda criar uma Macro para exportar PDF
Quando se trata de criar uma macro para exportar PDF das suas planilhas, você poderá optar por dois métodos que são:
- Usar o gravador de Macros
- Usar um código VBA
Confira ambas as opções a seguir:
Opção 1: Usando o gravador de Macros
Provavelmente a maneira mais simples para criar uma macro para exportar PDF das suas planilhas é simplesmente utilizar o gravador de Macros do Excel. Se você deseja optar por este método, então basta seguir as etapas abaixo:
1. Abra o arquivo que você deseja criar a macro para exportar PDF. Este arquivo não deve estar em branco, pois ao exportar para PDF, o Excel não permitirá um arquivo em branco. No exemplo abaixo, temos uma simples planilha de vendas que desejamos transformá-la em PDF.
2. Acesse a guia Desenvolver e escolha a opção Gravar Macro conforme mostrado abaixo:
Importante: Se o seu Excel não possui a guia Desenvolvedor habilitada, confira neste artigo o procedimento para habilitá-la
3. Uma nova janela irá se abrir. Dê um nome para a Macro (sem espaços) e clique em OK.
Dica: Se você já criou alguma Macro antes, então sabe que a partir de agora tudo o que for feito no Excel, será gravado até que a Macro seja pausada.
4. Para gerar o PDF da planilha, acesse a guia Arquivo e escolha a opção Exportar e em seguida a opção Criar Documento PDF/XPS
5. O Excel irá perguntar onde você deseja salvar o arquivo PDF. Escolha o local desejado em seu computar, dê um nome ao arquivo e clique em Publicar.
6. Após exportar o PDF, volte ao Excel e acesse novamente a guia Desenvolvedor e agora clique em Parar Gravação da Macro.
7. Para executar a sua macro, insira um botão. Para isto, acesse a guia Desenvolvedor > Inserir > Botão (Controle de Formulário)
8. Arraste o botão dentro da sua planilha. Após criar o botão, o Excel irá abrir a caixa de diálogo “Atribuir macro“. Selecione a macro criada e clique em OK.
Pronto! Agora a sua Macro para exportar PDF está pronta e você poderá gerar seus arquivos de Excel para PDF com apenas o clique de um botão.
Opção 2: Usando um código VBA
Outra opção para criar macros para exportar PDF de suas planilhas é através de um código VBA. Essa segunda opção lhe dá ainda mais possibilidades para exportar PDF das suas planilhas. Abaixo, listamos alguns códigos prontos que você pode usar conforme a sua necessidade.
Exemplo 1: Exportar PDF com nome fixo
O código abaixo exporta a planilha ativa para o formato PDF com o nome de “Relatório de Vendas”
Sub Criar_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="Relatório de Vendas", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True End Sub
Exemplo 2: Salvar um único PDF das planilhas selecionadas
O código abaixo salva as planilhas selecionadas como um único PDF.
Sub SalvaPDFPlanilhasSelecionadas() Dim localPDF As String saveLocation = "C:\Users\ExcelEasy\Desktop\Vendas.pdf" ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=localPDF End Sub
Exemplo 3: Exportar PDF apenas de células selecionadas
Se você precisa exportar apenas pequena parte de uma planilha em um PDF, então use o código abaixo para salvar em PDF apenas as células selecionadas.
Sub PDFCélulasSelecionadas() Dim LocalPDF As String LocalPDF = "C:\Users\ExcelEasy\Desktop\Vendas.pdf" 'Save selection as PDF Selection.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=LocalPDF End Sub
Exemplo 4: Exportar PDF de seleção específica
A macro abaixo salva um intervalo especificado como um PDF (Neste exemplo, A1:E7).
Sub SalvarIntervaloPDF() Dim LocalPDF As String Dim intervalo As Range LocalPDF = "C:\Users\ExcelEasy\Desktop\Vendas.pdf" Set intervalo = Sheets("Plan1").Range("A1:E7") intervalo.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=LocalPDF End Sub
Exemplo 5: Exportar PDF com o nome do arquivo conforme valor de uma célula
Uma outra opção para salvar PDF é usar o valor de uma célula para nomear o arquivo de PDF. No código abaixo, o nosso arquivo de PDF terá como nome, o mesmo conteúdo contido na célula A1.
Sub PDF_Nome_da_celula() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("A1").Value _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=True End Sub
Exemplo 6: Exportar PDF com a opção ‘Salvar Como’
Se você precisa especificar o local onde deseja exportar seu PDF, então poderá adaptar seu código de acordo com o exemplo abaixo:
No exemplo abaixo o Excel irá abrir a caixa de diálogo Salvar como e, por padrão, o nome do arquivo levará o nome inserido na célula A1.
Sub gerarPDF() Dim NomeArquivo As Variant NomeArquivo = Application.GetSaveAsFilename(InitialFileName:=Range("A1").Value, _ FileFilter:="PDF, *.pdf", _ Title:="Salve as PDF") If NomeArquivo <> False Then ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("A1").Value End If End Sub
Opção 7: Exportar PDF de todas as Planilhas da Pasta de Trabalho
Se você tem uma pasta de trabalho com diversas planilhas que precisam ser exportadas para PDF, então utilize o código abaixo:
Sub ExportarPDFPlanilhas() Dim Caminho_Pasta As String With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Selecione uma Pasta" If .Show = -1 Then Caminho_Pasta = .SelectedItems(1) End With Dim Planilha As Worksheet For Each Planilha In ActiveWorkbook.Worksheets Planilha.ExportAsFixedFormat xlTyper, Caminho_Pasta & Application.PathSeparator & Planilha.Name & ".pdf" Next MsgBox "Arquivos exportados com sucesso" End Sub
Dicas importantes para exportar PDF com o VBA
- Embora a propriedade Filename seja opcional, é importante usá-la caso você queira saber onde o arquivo foi salvo e como ele é chamado.
- Se a propriedade Filename não for fornecida, o PDF será salvo no local da pasta padrão usando o nome da pasta de trabalho do Excel com a extensão de arquivo .pdf.
- Caso o nome de arquivo seja fornecido, mas não um caminho, o documento será salvo no local da pasta padrão com o nome fornecido.
- Quando a extensão do arquivo .pdf não é fornecida, o sufixo é adicionado automaticamente.
- Caso já exista um PDF no local de salvamento especificado, ele será substituído. Pode ser necessário incluir procedimentos de manipulação de arquivos para evitar a substituição de documentos existentes e lidar com erros.
- Caso você esteja usando o Ms Office na versão 2007, então será necessário instalar um suplemento para conseguir exportar arquivos em PDF (seja gravando uma macro ou usando um código VBA). Se este é o seu caso, então basta baixar aqui o suplemento e instalar em seu computador.
Confira também as seguintes dicas de Excel:
- Como Habilitar Macro no Excel – Passo a Passo
- Jogos VBA: 6 Clássicos Para Você se Divertir no Excel
- Como manipular planilhas do Excel com o VBA (com exemplos)
- Aprenda Como Criar Cunções Próprias no Excel
E então, o que achou do tutorial para criar uma macro para exportar PDF? Ficou com alguma dúvida? Deixe o seu comentário abaixo e continue acompanhando mais dicas de Excel em nosso site!
Gostei
Muito bom cara! Parabéns pelas dicas.