Ir ao conteúdo
  • Cadastre-se

Excel Macro para salvar em pdf no excel


Posts recomendados

Bom dia pessoal.

 

Uso a seguinte macro para imprimir um livro ponto. Funciona sem problemas, porém imprime somente uma página por folha. Queremos experimentar frente e verso e uma opção que pensei foi salvar em pdf (mas não em arquivos separados e sim em um único arquivo). Como não manjo, alguém poderia me ajudar nessa nova macro?

 

Sub Folha_Ponto()

Dim Nome As String
Dim WFP As Worksheet
Dim A As Long
Dim WP As Worksheet
Dim WPLinha As Long
Dim WPULinha As Long
Dim Resposta As String

Application.ScreenUpdating = False

Set WP = Sheets("Professores")
Set WFP = Sheets("Folha Ponto")

Resposta = MsgBox("Ja Verificou a Impressora Padrão?", vbYesNo, "Atenção")

If Resposta = vbNo Then
MsgBox "Verifique a Impressora." & Chr(13) & Chr(13) & "Execute Novamente...", vbInformation, "Atenção"
Exit Sub
Else

WPLinha = 3
WPULinha = WP.Range("A" & Rows.Count).End(xlUp).Row


For A = WPLinha To WPULinha

WFP.Cells(2, 1).Value = WP.Cells(WPLinha, 1).Value

WFP.PrintOut

WPLinha = WPLinha + 1

Next
WFP.Cells(2, 1).Value = ""

End If

Application.ScreenUpdating = True

End Sub

 

Link para o comentário
Compartilhar em outros sites

Bom dia! Eu uso a seguinte linha de código para exportar em pdf:

 

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, OpenAfterPublish:=True

 

Agora, aprendendo um pouco com seu código, a linha

 

WPULinha = WP.Range("A" & Rows.Count).End(xlUp).Row

 

faz exatamente o quê?

 

 

EDIT: aqui está um link com os outros parâmetros permitidos para este comando.

 

Link para o comentário
Compartilhar em outros sites

17 minutos atrás, Charley Rocha disse:

Bom dia! Eu uso a seguinte linha de código para exportar em pdf:


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, OpenAfterPublish:=True

 

 

Opa, obrigado por responder. Minha duvida é onde devo substituir e/ou incluir essa linha de comando e se ela vai salvar cada planilha separadamente (são 70 professores então vai criar 70 arquivos pdf?) ou criar apenas um arquivo pdf.

Sobre a linha de comando do código que uso, não sei bem o que ela faz, pois foi o pessoal daqui mesmo que me ajudou fazendo o código.

Link para o comentário
Compartilhar em outros sites

20 minutos atrás, ljbrito disse:

 

Opa, obrigado por responder. Minha duvida é onde devo substituir e/ou incluir essa linha de comando e se ela vai salvar cada planilha separadamente (são 70 professores então vai criar 70 arquivos pdf?) ou criar apenas um arquivo pdf.

Sobre a linha de comando do código que uso, não sei bem o que ela faz, pois foi o pessoal daqui mesmo que me ajudou fazendo o código.

 

Você colocaria essa linha logo abaixo de 

 

WFP.PrintOut

 

E sim, como sua macro imprime 70 folhas, ela vai gerar 70 PDF's. Não tenho ideia de como mesclá-las em um único PDF via macro, mas sei que dá pra fazer isso depois pelo próprio Adobe Reader ou outro  leitor de PDF que você use.

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Pessoal, resolvi postar uma planilha de exemplo para simplificar a solicitação. Como funciona hoje:


1) Sheet Folha Ponto, Clico no botão "Imprimir" e imprimo o livro ponto do mês dos professores. (os dados dos professores mudam, mudando a célula A2)

2) Caso o computador não esteja ligado a impressora (pode acontecer), clico no botão "Salvar em PDF" e salvo cada folha ponto do professor em um arquivo.

Problema: Quero imprimir em frente e verso, para economizar papel (as "arve" agradece).

 

Soluções que imaginei (não sei se todas são possíveis).

1) Salvar todas as folhas do ponto dos professores num unico arquivo pdf (para que eu pudesse imprimir depois).

2) Criar uma macro que gerasse sheets mudando os dados de A2 da sheet Folha de Ponto. Entao iria criar a sheet "Adalberto Teixeira", "Afonso Moraes". etc.... até chegar no ultimo professor. Dai a macro enviaria um comando para imprimir todas essas sheets geradas ( a impressora faz frente e verso, então sem problemas), mas pode-se também fazer a opção de salvar num arquivo pdf para imprimir par e impar caso a impressora não tiver frente e verso).

 

Pode ser que tenham mais soluções  (ou não), quem puder ajudar..... Deixo a planilha de exemplo para consulta.

 

Obrigado

 

Livro Ponto Docente Exemplo.zip

Link para o comentário
Compartilhar em outros sites

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