Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb macro VBA avec Lotus Notes

1 réponse
Avatar
Jean-Marc
Je cherche à envoyer des données d'un classeur Excel via un message Lotus
Notes, avec une composition et envoi automatique du message. J'ai trouvé un
bout de code sur internet, le voici:


****************************************************************
Private Sub CmdEnvoyer_Click()

Dim objNotesSession As Object
Dim objNotesDatabase As Object
Dim objNotesNewMail As Object
Dim objRichTextItem As Object

'Create a Lotus Notes Session and open the user database
Set objNotesSession = CreateObject("Notes.NotesSession")
Set objNotesDatabase = objNotesSession.GetDatabase("Mailin\dskmrgbw.nsf",
"")

'Check if Lotus Notes is open already
If objNotesDatabase.IsOpen = False Then
objNotesDatabase.OpenMail
End If

'Create a new mail and set the properties
Set objNotesNewMail = objNotesDatabase.CreateDocument
With objNotesNewMail
.Form = "Memo"
.Principal = "XXXXX/AAAA/BBBB/CCCC@DDDD"
.SendTo = "XXXXX/AAAA/BBBB/CCCC@DDDD, YYYYY/AAAA/BBBB/CCCC@DDDD"
.Subject = TextBox3.Text
.Body = TextBox2.Text
.SaveMessageOnSend = True
End With


'Send the new mail
objNotesNewMail.PostedDate = Now()
Call objNotesNewMail.Send(False)

'Clean up all objects
Set objNotesSession = Nothing
Set objNotesDatabase = Nothing
Set objNotesNewMail = Nothing
Set objRichTextItem = Nothing

'Quitte la boite et la macro diffusion
Unload Me
End
End Sub


****************************************
Mon problème:

Lorsque j'envoie qu'un seul nom, cela fonctionne correctement. Le problème
vient quand je poste un message à plusieurs personnes: le message me reviens
avec une erreur:

No route found to domain XXXX, from server ZZZZZZ/AAAA/XXXXXX/GGGGGGG.
Check Server, Connection and Domain documents in Name & Address Book.

Lorsque je vérifie les propriétés des champs, un message est correctement
envoyé quand:

Nom du champ : SendTo
Type de données : Liste de chaînes
Longueur des données : 231 octets
Numéro d'ordre : 1
ID d'élément en double : 0
Indicateurs de champ : SIGN SUMMARY NAMES

"CN=XXXXX/OU=AAAA/OU=BBBB/O=CCCCCC"
"CN=YYYYY/OU=AAAA/OU=BBBB/O=CCCCCC"

Mais avec la macro, la propriété du même champs devient:

Nom du champ : SendTo
Type de données : Texte
Longueur des données : 241 octets
Numéro d'ordre : 1
ID d'élément en double : 0
Indicateurs de champ : SIGN SUMMARY NAMES

"CN=XXXXXX/OU=AAAA/OU=BBBB/O=CCCCCC, YYYYY/OU=AAAA/OU=BBBB/O=CCCCCC"

L'erreur vient probablement du "Type de données": liste de chaine pour l'un
et texte pour l'autre. Dans le premier, chaque destinataire commence par
"CN=..." alors qu'avec la macro, le "CN=" est commun à tous les
destinataires.
Alors, j'imagine ce qui se passe: Lorsqu'on compose un message "à la main"
et qu'on clique sur "envoyer", Lotus Notes fait sa petite sauce avant de
transférer le message au serveur, alors que la macro doit tranférer
directement au serveur les données brutes.

Quelqu'un pourrait me dire comment modifier le code pour que cela
fonctionne, ou alors, sous quel forme entrer les destinataires dans le
".SendTo =" ?

--
Kenavo,

Jean-Marc

1 réponse

Avatar
salva
Bonsoir,

Je pense avoir la reponse a ta question.
Demain au bureau, si j'ai le temps, je veux bien t'nvoyer
le code d'un programme que j'ai fait.

si tu veux tu peu me contacter a cette adresse :


bonne soiree, a bientot

Salvatore