Ir ao conteúdo
  • Cadastre-se

Macro Salvar em PDF e enviar e-mail


cfirmino

Posts recomendados

Prezados pesquisei bastante e não encontrei algo que se encaixe com minha realdade.

Preciso de uma macro que faça o seguinte. Imprima a area de impressão em pdf sem necessitar de software especifico "como o cutepdf", e que salve automaticamente com o nome do arquivo algo registrado em uma celula "exemplo C12" seguido da hora e data. E envie automaticamente a um e-mail.

Eu consegui fazer um que enviava sempre o documento salvo anteriormente. E não o atual.

Se alguém puder me ajudar.

Nesse link eu consegui alguma coisa mas não deu certo aqui no meu serviço, então quero iniciar um código do zero.

http://www.tomasvasquez.com.br/forum/viewtopic.php?f=6&t=695

Quaisquer dúvidas estou à disposição.

Link para o comentário
Compartilhar em outros sites

Galera me desculpe não ter colocado nenhuma informação mais detalhada. Só agora consegui sentar pra escrever.

Bom veja o codigo a seguir, (copiado)

FileName = "D:\" & Diretorio & "\" & "PEDIDO TESTE " & Format(Date, "dd-mm-yyyy") & " " & "Hora " & Format(Time(), "hh-mm") & "" & " .pdf"

With myobject

.SetValue "output", SavePath & FileName

.SetValue "showsettings", "never"

.WriteSettings (True)

End With

'Modificando a impressora para Bullzip...

If InStr(ActivePrinter, "Bullzip") = 0 Then

Dim storeprinter$, PrinterChanged As Boolean

PrinterChanged = True

storeprinter = ActivePrinter

ActivePrinter = GetFullNetworkPrinterName("Bullzip")

End If

Selection.PrintOut

Caixa = MsgBox("Confirme se o arquivo PDF foi salvo antes de prosseguir.", vbYesNo + vbQuestion, "Exportação PDF")

If Caixa = vbNo Then Exit Sub

If PrinterChanged Then ActivePrinter = storeprinter

Set myOlApp = CreateObject("Outlook.Application")

Set myItem = myOlApp.CreateItem(olMailItem)

Set myAttachments = myItem.Attachments

With myItem

.To = "[email protected]"

.Subject = "Envio de mensagem"

.Body = "Segue o texto para você ver"

.Save

myAttachments.Add FileName

.Send

End With

Bom problemas que encontro, da erro de Depuração no myAttachments.Add FileName

e ele envia no e-mail o arquivo anterior. E eu preciso que não necessitasse do Bullzip.

Alguma luz?

Link para o comentário
Compartilhar em outros sites

Posso sim.

Criei 2 módulos.

Em um deles escrevi o seguinte código:

Sub RDB_Selection_Range_To_PDF()

Dim FileName As String

If ActiveWindow.SelectedSheets.Count > 1 Then

MsgBox "Há mais de uma planilha selecionada," & vbNewLine & _

"desagrupe as planilhas e tente a macro novamente."

'Para selecionar um intervalo fixo e salvar no diretório selecionado.

FileName = RDB_Create_PDF(Range("A1:P42"), "D:\" & Diretorio & "\" & "Representante" & " " & "Data " & Format(Date, "dd-mm-yyyy") & " " & "Hora " & Format(Time(), "hh-mm") & "" & ".pdf", True, True)

' Para enviar o e-mail. Temos o destinatário , seguido do título, seguido do corpo do e-mail.

If FileName <> "" Then

RDB_Mail_PDF_Outlook FileName, "[email protected]", "Teste", _

"Segue o PDF em anexo." _

& vbNewLine & vbNewLine & "Regards Ron de bruin", False

Else

MsgBox "Não foi possivel criar o PDF."

End IF

End If

End Sub

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...