Envoi mail par macro sous calc

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: raymond.tindel@sfr.fr
Sujet:: Envoi mail par macro sous calc
OS:: Windows 10
Version:: 6.1.x
Question:: Bonjour à toutes et à tous,
Je désire envoyer un mail par macro
J( utilise la dernière version de Thunderbird sous windows 10
ma macro est la suivante :Sub Main
dim Sv as object, UnClient as object, MonMel as object
dim encopie(1) as string, annexes(1) as string
Sv = createUnoService("com.sun.star.system.SimpleSystemMail")
UnClient = Sv.querySimpleMailClient
if IsBull(UnClient) then
msgbox("Clent de messagerie non disponoble",16)
with monmel
.Recipient = "r.tindel@free.fr"
  end with
endif
j'' obtiens le message :
Erreur d' exécution du Basic
Variable d' objet non définie
Thunderbird est bien déclaré comme programme par défaiut messagerie
Y a t' il un paramétrage autre à réaliser ?
Merci de votre aide

Bonjour,

Vous semblez faire tout juste, mais il semble aussi que pour le moment rien ne soit implémenté derrière la définition du SimpleSystemMail. C'est pourquoi l'objet Sv n'est pas créé. J'ai trouvé cette référence : https://ask.libreoffice.org/en/question/87242/createunoservicecomsunstarsystemsimplesystemmail-not-working/

Vous pouvez vérifier que rien n'est retourné par l'appel à CreateUnoService(..) en faisant un XRay Sv. L'utilitaire vous retourne un sinistre "No Data".

Thierry

Bonjour,

Si ce que vous avez mis dans votre message est un copié/collé, normal que ça ne fonctionne pas pour plusieurs raisons

Des coquilles :

Vous définissez MonMel avec 2 majuscules :

MonMel as object

mais vous l'appelez avec des minuscules :

with monmel

=> Erreur : variable non définie

Une autre sans incidence :

msgbox("Clent de messagerie non disponoble",16)

Clent => Client, disponoble => disponible

pour le reste, la macro est incomplète.

A quoi servent les variables :
encopie(), annexes()
...

Sub Main
dim Sv as object, UnClient as object, MonMel as object
dim encopie(1) as string, annexes(1) as string
Sv = createUnoService("com.sun.star.system.SimpleSystemMail")
UnClient = Sv.querySimpleMailClient
if IsBull(UnClient) then
msgbox("Clent de messagerie non disponoble",16)
with monmel
  .Recipient ="r.tindel@free.fr" end with
endif

Cordialement
Sandy-Pascal Andriant

Sandy,

Basic n'est pas sensible à la casse, donc MonMel, monmel, c'est toujours
son mail.

Si tu copies-colles ce code dans LibreOffice, tu constates que l'objet
client de messagerie n'est pas créé derrière l'appel à CreateUnoService.
Comme je l'indiquais, tu peux faire un XRay sur cet objet et tu constateras
qu'il n'existe pas.

Pour le reste, ce bout de code est manifestement un extrait, qui sera
utilisé à plein le jour où le client de messagerie aura été implémenté,
d'où la déclaration prévisionnelle de quelques variables complémentaires.

En fait, telle qu'elle, cette macro fonctionne parfaitement, sauf que l'API
de mail est juste déclarée, pas implémentée...

Voilà.

Thierry