Code : Tout sélectionner
Sub EnvoiMail()
dim os_system, eMailAddress, eSubject as string
dim classeur, controleur, fenetre, feuilles, feuille, eMailClient, eMailer, eMessage as object
classeur = ThisComponent
controleur = classeur.CurrentController
fenetre = classeur.CurrentController.Frame.ContainerWindow
feuilles = classeur.Sheets
feuille = feuilles.getByName("Feuille1")
os_system = LitTexte(feuille.getCellByPosition(1, 0))
eMailAddress = LitTexte(feuille.getCellByPosition(1, 1))
eSubject = LitTexte(feuille.getCellByPosition(1, 2))
if os_system = "LINUX" then
eMailer = createUnoService("com.sun.star.system.SimpleCommandMail")
else
eMailer = createUnoService("com.sun.star.system.SimpleSystemMail")
endif
eMailClient = eMailer.querySimpleMailClient()
eMessage = eMailClient.createSimpleMailMessage()
eMessage.Recipient = eMailAddress
eMessage.Subject = eSubject
eMessage.Body = LitTexte(feuille.getCellByPosition(1, 3))
eMailClient.sendSimpleMailMessage (eMessage, com.sun.star.system.SimpleMailClientFlags.NO_USER_INTERFACE)
End SubCe que je veux ici, c'est :
- que l'envoi soit direct (= sans cliquer sur Envoyer dans TB)
- passe par TB (pour garder trace des envois effectués)
Cela fonctionne parfaitement sous Windows.
Sous Linux, le message s'ouvre bien dans TB, mais la seconde validation est nécessaire.
J'ai cherché et ne trouve pas.
Sur ce fil https://ask.libreoffice.org/t/how-to-send-email-in-evolution-mail-using-calc-macro/27307, le code fait appel à des processus externes si je comprends bien, mais contourne le passage par TB. Or, je dois y garder les traces des envois.
Merci

