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

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

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

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

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á!

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!

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

Comigo está rodando liso

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

Funciou ! o unico problemas que quando a celula está em branco fica com erro e também não consegue adicionar um anexo . pode me ajudar?

Ola tudo bem !! Pode me ajudar como colocar anexo na programação em marcro , o resto eu consegui tudo certo , mas quando é anexo eu não consegui , tem como fazer um exemplo . é Nesta parte aqui

.setAttachement( Array( Arq1 , Arq2 ) )

Agradeço o retorno .