Ir ao conteúdo
  • Cadastre-se

Excel Excel - Macro para salvar em PDF


Posts recomendados

Fiz isso que disseste, dá o mesmo erro.

 

 

Image1.png

 

Sub SalvarPDF()
'
' SalvarPDF Macro
' Lembrando que mesmo que execute a macro várias vezes, um arquivo subscreve o outro.


Dim user
Dim localPasta As String
Dim cliente As String

    user = Environ("Bikke") 'buscar nome de usuário do computador.
     localPasta = "C:\Users\Bikke\Desktop\"
    ChDir "C:\Users\Bikke\Desktop"

    Sheets("modelos").Select
    Range("A1").Select
    Selection.End(xlToRight).Select
    Selection.End(xlDown).Select
    While ActiveCell <> ""
        cliente = ActiveCell.Offset(-1, -6).Range("A1").Value
        Range(Selection, Selection.End(xlUp)).Select
        Range(Selection, Selection.End(xlToLeft)).Select
        Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=localPasta + cliente, Quality:= _
            xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
        Selection.End(xlToRight).Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(2, 0).Select
        Selection.End(xlDown).Select
    Wend
    Range("A1").Select
    Sheets("Planilha1").Select
    MsgBox "PDFs na area de trabalho", vbOKOnly, "Sucesso"
End Sub

 

Link para o comentário
Compartilhar em outros sites

@Bikke  tenta por assim

user = Environ("USERNAME") localPasta = "P:\teste_pdf" ChDir "P:\teste_pdf"

user = Environ("USERNAME") 
    localPasta = "C:\Users\Bikke\Desktop\pastadestino"
    ChDir "P:\teste_pdf"

 

para achar o locao da pasta eu sugiro voce abrir o meu computador>> disco C>> usuarios>>seu usuario>>desktop>>pasta final.

 

ai voce clica na barra de endereço da pasta e ele vai deixar no formato que voce precisa para a macro.

mais ou menos como na imagem:

image.png.9b59a411a04ed4c8cfef4a925b8405d4.png

 

formato que voce precisa é:

image.png.5002ff368f1ef2b1b05beada64347f12.png

 

 

 

image.png

image.png

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

Em 06/02/2020 às 19:27, djacy.neto disse:

@Bikke voce chegou a configurar a macro com as informações da sua maquina ou somente copiou?

 

bem no inicio do codigo você tem que modificar algumas informações:

image.png.4cef4fdbe4909427a87ab781b2b719ab.png

@djacy.neto, bom, eu diria que não precisa mudar o "USERNAME", pois esse Environ é uma função,mas se mudando deu certo... Segue exemplos do Environ

Environ("ALLUSERSPROFILE")
Resultado: "C\ProgramData"

Environ("APPDATA")
Resultado: "C:\Users\totn\AppData\Roaming"

Environ("CommonProgramFiles")
Resultado: "C:\Program Files (x86)\Common Files"

Então, dessa forma, funciona aqui perfeitamente.

user = Environ("USERNAME") 'buscar nome de usuário do computador.
localPasta = "C:\Users\" & user & "\Desktop\"
ChDir "C:\Users\" & user & "\Desktop\"
MsgBox localPasta 'resultado do local da pasta que os arquivos serão salvos como na imagem abaixo

image.png.09fc68065f350594d8279960bdd02039.png

 

@Bikke, o que eu estou vendo o que ta acontecendo no seu erro, é que o seu excel não está suportando a opção de salvar a seleção em PDF, como diz na microsoft:


 

Citação

 

Este erro também pode ocorrer se uma tentativa de chamada de procedimento não válida na plataforma atual for feita. Por exemplo, alguns procedimentos podem ser válidos somente no Microsoft Windows, ou somente no Macintosh, e a

ssim por diante.

Consulte informações de plataforma específicas sobre o procedimento.

Fonte: https://docs.microsoft.com/pt-br/office/vba/language/reference/user-interface-help/invalid-procedure-call-or-argument-error-5

 

 

Qual versão do excel você está usando?

 

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

46 minutos atrás, Bikke disse:

@Vics

Boa noite

 

Estou usando o excel 2007.


E continua a não dar nada

 

Então há duas opções.

Ou você precisa instalar um plugin chamado "SaveAsPDF" para o excel 2007, pois o seu não tem esse plugin, por essa versão do excel não suportar salvar a seleção em PDF, ou converter o arquivo para PDF, por isso da esse erro.

 

ou você, por método de gravação de macro, salve a planilha como PDF, ou a seleção como PDF para ver qual é o código gerado, que talvez no excel 2007 também seja outro.

 

Eu só testei o código no excel 2013 e 2016.

 

Segue o tutorial para gerar a macro gravada para salvar a seleção em PDF.

 

1. Guia de desenvolvedor, clicar em gravar macro. (para ativar a guia do desenvolvedor:    ) image.png.bf0c4f0e87976bea6187147dcf34c432.png 

 

2. Nomear a macro

image.png.007c94c1649a9ec0708f0e4017c9737a.png

 

3. Selecionar a área

image.png.9d385bacdc09fff5770d384764669110.png

 

4. Guia Arquivo

image.png.0de3d6782001407e1e3e4d432871ef0b.png

 

5. Salvar como, selecione o local, ou procurar.

image.png.1024b13be4adf611ebca241b8c1844b2.png

 

6. Selecione PDF

image.png.90aafac8bdfcaffa7ef82c75f76dfba1.png

 

7. Opções e clique em seleção

image.png.ddb75353ce49460f24f583e91fc9e0b9.png

 

8. Clique em Salvar

 

9. Na guia de desenvolvedor, clique em Parar Gravação

 

10. Na mesma Aba, clique em Macros e Editar a Macro Gerada

 

image.png.b2baa1becac846611a3805a363516bbb.png

 

11. Resultado do código Gerado:

image.thumb.png.70bb1b2defcf06f0b3bb8901f0542a48.png

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

Visitante
Este tópico está impedido de receber novas respostas.

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...