Ir ao conteúdo
  • Cadastre-se

Excel Macro Excel VBA para criar PDF


Ir à solução Resolvido por Basole,

Posts recomendados

Pessoal,

 

Boa tarde !!!

 

Preciso de uma Macro para criar relatório em PDF.

 

Com a seguintes condições:

 

Programa utilizado para criação de documentos em formato PDF: CutePDF

 

1º Definir o caminho onde será salvo o PDF

 

2º Renomear esse arquivo ... (não será o nome do arquivo excel)

 

3º Não perguntar se deseja substituir o arquivo ... (o arquivo será substituido pelo novo) ...

 

Pequisei no google e também tentei "gravar uma macro" mas sem sucesso !!!

 

Agradeço a atenção.

Link para o comentário
Compartilhar em outros sites

Segue um exemplo, veja se te ajuda.

 

No exemplo a macro salva direto como pdf s/ perguntar. Talvez não vá funcionar, dependendo da sua versão.

 

voce pode alterar o cod e colocar o dialogo ( Application.Dialogs(xlDialogPrint).Show ), para ai sim, voce escolher a sua 'impressora:'  no caso a CutePDF. 

 

Outra opção, caso esteja utilizando o office 2007, seria baixar o suplemento (Salvar como PDF da Microsoft, link abaixo), para office q nao tenha este recurso.

http://www.microsoft.com/pt-br/download/details.aspx?id=9943

 

Abx.

 

 

 

CreatePDF.rar

Link para o comentário
Compartilhar em outros sites

Basole,


 


Bom dia !!!


 


Quase lá, é isso mesmo ... Meu office é 2010 e rodou perfeito ...


 


O único problema é que a macro imprimi a Seleção, mas preciso que seja feita a impressão da Planilha Ativa ...


 


Tem como alterar retirando o InputBox ? 


 


Grato pela atenção.


Link para o comentário
Compartilhar em outros sites

  • Solução

Vagner, segue c/ alteração solicitada


 

Sub Criar_PDF()
'funciona office 2010 ou > (2007 c/* suplemeento PDF: http://www.microsoft.com/pt-br/download/details.aspx?id=9943)
    Dim Filepdf, rData, rNome, ePath, Filename As String
    If Application.Version < "12.0" Then
        MsgBox " Não é possivel salvar no Formato PDF para essa versão do Office"
        Exit Sub
    End If
    With Worksheets("Plan1")
        rData = .Range("A1")    ' na celula a1 insira uma data
        rData = Format(rData, "yyyy") ' altere a formatacao que desejar
        rNome = .Range("b1")    ' na celula b1 inira um nome ou numero que deseja
        ePath = .Range("C1")  ' Na "C1" diretorio que será salvo o PDF
        .PageSetup.Orientation = xlPortrait ' altere p/ xllandscape(orient. Paisagem)
        Filename = Trim(rData & "-" & rNome & ".Pdf")
        Filepdf = ePath & Trim("\" & Filename)
        Application.DisplayAlerts = False
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Filepdf, _
                                        Quality:=xlQualityMinimum, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=True
    End With
    End Sub

abx.

  • Curtir 1
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Basole,

 

Perfeito, efetuei as adaptações da macro com a minha necessidade, mas não consegui alterar o caminho onde é salvo o PDF, conforme abaixo:

 

Quero substituir a célula "C1" (ePath = .Range("C1")) e incluir o caminho do diretório Ex: C:\temp na própria linha de código ...

 

Segue minha planilha já adaptada.

 

Link: https://www.sendspace.com/file/njyg1i

 

Com isso, acho que fecha ...

 

Grato.

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...