Pergunte aqui
1

Macro que envia por e-mail a um determinado destinatário

perguntadas 2018-07-25 13:20:36 +0200

imagem do gravatar de andysedrez

updated 2018-08-20 16:23:17 +0200

imagem do gravatar de Conrado

Olá,

Gostaria de criar uma macro no libreoffice que realize a função de enviar um e-mail automaticamente.

Uso windows 10 e thunderbird.

Obrigado desde já!


Encontrei este procedimento, mas apresenta erro de variável: eMailClient = eMailer.QuerySimpleMailClient()

Utilizo Thunderbird e Win7Pro

Sub SendEmail1

    Dim eMailer as Object
    Dim eMailClient as Object
    Dim eMessage as Object
    Dim pdfName As String
    Dim ArqName as String
    Dim Endereco As String
    Dim oDoc, oPlan

oDoc = ThisComponent
oPlan = oDoc.Sheets.getByName( "Lancamento" )

Endereco = oPlan.getCellByPosition(17,19).String
ArqName = oPlan.getCellByPosition(17,17).String

pdfName = ArqName & ".pdf"

eMailAddress = "c.camargo@moveisprovincia.com.br"

   eSubject = "Test email"

   eMailer = createUnoService ("com.sun.star.system.SimpleCommandMail")
   eMailClient = eMailer.QuerySimpleMailClient()
   eMessage = eMailClient.createSimpleMailMessage()
   eMessage.Recipient = eMailAddress
   eMessage.Subject = eSubject
   AttachmentURL = convertToUrl("file:///" & Endereco & pdfName)
   eMessage.Attachement = Array(AttachmentURL)
   eMailClient.sendSimpleMailMessage ( eMessage, com.sun.star.system.SimpleMailClientFlags.NO_USER_INTERFACE )
End Sub
editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

2

respondidas 2018-08-20 20:16:48 +0200

imagem do gravatar de Júnio Vieira

Boa tarde,

Tente essa macro, comigo funciona:

Sub Enviar_eMail

planilha = ThisComponent.Sheets.getByName("Plan1")

lgMailClientFlags = com.sun.star.system.SimpleMailClientFlags.NO_USER_INTERFACE

oSystemMail = createUnoService( "com.sun.star.system.SimpleSystemMail" )

oMailClient = oSystemMail.querySimpleMailClient()

oMailMessage = oMailClient.createSimpleMailMessage()

For f = 1 To 1

eMail = ThisComponent.Sheets.getByName("Plan1").getCellRangeByName("A" & f).string

With oMailMessage

' Destinatário do eMail

.setRecipient( eMail )

'Mensagem no corpo do e-Mail

.Body = ("teste")

' Cópia

'.setCcRecipient( Array("destinataire2@mail.fr" , "destinataire3@mail.fr") )

' Subject

.setSubject( "Teste do dia: " & Date )

' Anexos

'.setAttachement( Array( Arq1 , Arq2 ) )

End With

oMailClient.sendSimpleMailMessage( oMailMessage, lgMailClientFlags )

Next f

End Sub

editar assinalar como ofensivo Excluir Link mais

Comentários

Perfeito....arrumei as coisas que eu precisava e caiu como uma luva. Obrigado

imagem do gravatar de ConradoConrado ( 2018-08-20 22:19:27 +0200 )editar

Obrigado pela sua resposta.

Aqui está dando um erro nessa linha "oMailClient.sendSimpleMailMessage( oMailMessage, lgMailClientFlags )"

Erro: "Erro de execução de BASIC. Ocorreu uma exceção Type: com.sun.star.lang.IllegalArgumentException Message: No recipient specified."

Alguém sabe como arrumar?

Obrigado desde já!

imagem do gravatar de andysedrezandysedrez ( 2018-08-21 13:58:54 +0200 )editar

Rapaz, agora até chega a abrir o thunderbird para enviar, mas tá dando a mensagem que "essa versão não suporta caracteres especiais", acho que o prolema agora é no thunderbird... Alguma ideia? Obrigado novamente!

imagem do gravatar de andysedrezandysedrez ( 2018-08-21 14:09:24 +0200 )editar

Esses 2 problemas citados aconteceram comigo, no meu caso era o endereço de email errado, corrigi e funcionou normalmente.

imagem do gravatar de Júnio VieiraJúnio Vieira ( 2018-08-21 20:56:32 +0200 )editar

Comigo está rodando liso

imagem do gravatar de ConradoConrado ( 2018-08-21 22:12:18 +0200 )editar

Então, o e-mail tá certo, acho que o problema é no thunderbird, preciso verificar se está na versão mais recente, obrigado Conrado

imagem do gravatar de andysedrezandysedrez ( 2018-08-22 21:19:49 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-07-25 13:20:36 +0200

Lidas: 46 vezes

Última atualização: Aug 20