VBA & Lotus Note
MrQuant
Messages postés
45
Date d'inscription
Statut
Membre
Dernière intervention
-
Julien -
Julien -
Bonjour,
J'ai écrit un bout de code VBA qui me permet de monitorer une variable et d'envoyer un email (Lotus note 7.0.4) dès lors que le résultat d'un test est TRUE. Tout fonctionne nickel-chrome à part que je souhaite mettre en CC le boss et lorsque je mets:
Call MailDoc.ReplaceItemValue("CopyTo", "nom@machin.fr")
Ça n'envoie rien
alors qu'en mettant
Call MailDoc.ReplaceItemValue("CopyTo", "NomDuGroupe") (un mailing list)
Ça marche.
Any explanations
d'avance merci.
J'ai écrit un bout de code VBA qui me permet de monitorer une variable et d'envoyer un email (Lotus note 7.0.4) dès lors que le résultat d'un test est TRUE. Tout fonctionne nickel-chrome à part que je souhaite mettre en CC le boss et lorsque je mets:
Call MailDoc.ReplaceItemValue("CopyTo", "nom@machin.fr")
Ça n'envoie rien
alors qu'en mettant
Call MailDoc.ReplaceItemValue("CopyTo", "NomDuGroupe") (un mailing list)
Ça marche.
Any explanations
d'avance merci.
A voir également:
- VBA & Lotus Note
- Test redmi note 13 5g - Accueil - Téléphones
- Redmi note 14 4g test - Accueil - Téléphones
- Lotus organizer - Télécharger - Organisation
- Bloc note gratuit - Télécharger - Traitement de texte
- Mettre une note sur 20 ✓ - Forum Bureautique
5 réponses
Bonjour,
Voici comment je fais avec Lotus Notes V9...
Petite explication ...je me suis servi de cette macro afin d'envoyer les mots de passe d'accés pour différents utilisateurs d'ou la variable Mot_de_passe
Les infos étaient sur la feuil1 ...
je pense que j'ai mis assez de commentaires.
Voici comment je fais avec Lotus Notes V9...
Petite explication ...je me suis servi de cette macro afin d'envoyer les mots de passe d'accés pour différents utilisateurs d'ou la variable Mot_de_passe
Les infos étaient sur la feuil1 ...
je pense que j'ai mis assez de commentaires.
Public Mot_De_passe As String Sub SendNotesMail() 'paramètres des objets nécessaires pour Lotus Notes Dim Maildb As Object 'La base mail Dim UserName As String 'le nom de l'utilisateur courant Dim MailDbName As String 'le nom de la base mail de l'utilisateur corant Dim MailDoc As Object 'le document mail Dim AttachME As Object 'les objets attachés Dim Session As Object ' l'objet session Dim EmbedObj As Object 'l'objet qui est transmis à lotus Dim Nbuser As Integer 'le nombre d'utilisateur Dim Prenom As String ' le prénom Dim Nom As String ' le nom Dim AdresseMail As String 'prenom.nom@gm.com Nbuser = Sheets("feuil1").Range("A1").CurrentRegion.Rows.Count - 1 ' Démarre une session LN Set Session = CreateObject("Notes.NotesSession") 'on connait l'objet donc l'utilisateur username et la base UserName = Session.UserName MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf" 'on ouvre la base dans LN Set Maildb = Session.GETDATABASE("", MailDbName) If Maildb.IsOpen = True Then 'déjà ouvert Else Maildb.OPENMAIL End If '**************** ' 'Paramètres du nouveau document mail For i = 1 To Nbuser Prenom = LCase(Sheets("Feuil1").Range("A1").Offset(i, 0).Value) Nom = LCase(Sheets("Feuil1").Range("A1").Offset(i, 1).Value) Mot_De_passe = Sheets("Feuil1").Range("A1").Offset(i, 2).Value AdresseMail = Prenom & "." & Nom & "@gm.com" Set MailDoc = Maildb.CREATEDOCUMENT MailDoc.Form = "Memo" MailDoc.Sendto = AdresseMail ' la tu mets l'adresse mail de ton correspondant" '(laisse les "") 'MailDoc.copyto = "" MailDoc.copyto = "prenom2.nom2@provider.com" 'l'adresse de la personne en copie" '(laisse les "") MailDoc.Subject = "Essai envoi pour mot de passe" 'la tu mets le sujet" '(avec des "") ' Construction du corps du message Set objNotesField = MailDoc.CREATERICHTEXTITEM("Body") With objNotesField .AppendText "Bonjour," .AddNewLine 2 .AppendText "Veuillez trouver ci-joint ... >>>" 'tu peux ajouter des lignes .AddNewLine 1 .AppendText " un commentaire ...." .AddNewLine 2 .AppendText "... un autre" .AppendText "Salutations" .AddNewLine 3 .AppendText " Important" .AppendText " si vous recevez ce mail par erreur .... merci de le détruire... " End With MailDoc.SaveMessageOnSend = SaveIt '************ 'envoi du document MailDoc.PostedDate = Now() MailDoc.Send 0, Recipient Next 'Clean Up Set Maildb = Nothing Set MailDoc = Nothing Set AttachME = Nothing Set Session = Nothing Set EmbedObj = Nothing End Sub
Bonjour Forum
Merci Bidouilleu_R... mais mon code fonctionne nickel chrome ...c'est juste que lorsque je met plusieurs personnes en CC il n'envoie un email qu'a la dernière personne ne CC. Par exemple si je mets:
MailDoc.copyto = "prenom1.nom1@provider.com"
MailDoc.copyto = "prenom2.nom2@provider.com"
MailDoc.copyto = "prenom3.nom3@provider.com"
seul le user 3 (prenom3.nom3@provider.com) reçoit un email et pas les autres !!!
any suggestions ?
Merci Bidouilleu_R... mais mon code fonctionne nickel chrome ...c'est juste que lorsque je met plusieurs personnes en CC il n'envoie un email qu'a la dernière personne ne CC. Par exemple si je mets:
MailDoc.copyto = "prenom1.nom1@provider.com"
MailDoc.copyto = "prenom2.nom2@provider.com"
MailDoc.copyto = "prenom3.nom3@provider.com"
seul le user 3 (prenom3.nom3@provider.com) reçoit un email et pas les autres !!!
any suggestions ?
suggestion ? oui!
MailDoc.copyto = "prenom1.nom1@provider.com"
MailDoc.copyto = "prenom2.nom2@provider.com"
MailDoc.copyto = "prenom3.nom3@provider.com"
MailDoc.copyto = "prenom1.nom1@provider.com;prenom2.nom2@provider.com;prenom3.nom3@provider.com"
fait un ptit test...
MailDoc.copyto = "prenom1.nom1@provider.com"
MailDoc.copyto = "prenom2.nom2@provider.com"
MailDoc.copyto = "prenom3.nom3@provider.com"
MailDoc.copyto = "prenom1.nom1@provider.com;prenom2.nom2@provider.com;prenom3.nom3@provider.com"
fait un ptit test...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci Bidouilleu_R,
je test et je t'informe.
A+
je test et je t'informe.
A+
Salut.
Juste pour info...
MailDoc.copyto est une variable.
Tu lui attribues une première valeur ***@***
Puis
Tu écrases cette valeur avec une seconde valeur ***@***
Et
Une nouvelle fois avec une troisième valeur ***@***
Donc normal que seul le 3e user reçoit le mail.
Il faut concaténer tes variables.
De mémoire, sur lotus le séparateurs de contacts est la virgule mais bon j'ai testé avec le point-virgule et ça fonctionne aussi :p
Pour répondre à Bidouilleu_R :
Le fait de faire
MailDoc.copyto = "***@***;***@***;***@***"
ça ne me semble pas bon, ça attribuera comme destinataire ***@***;***@***;***@*** comme unique destinataire à MailDoc.copyto
donc ne fonctionnera pas.
j'ai déjà vu ce cas-là
Je pense que la solution sera d'utiliser un tableau avec Array("...", "...")
Donc pour reprendre le problème de MrQuant
ça serait :
MailDoc.copyto = Array("***@***", "***@***", "***@***")
a+
Juste pour info...
MailDoc.copyto est une variable.
Tu lui attribues une première valeur ***@***
Puis
Tu écrases cette valeur avec une seconde valeur ***@***
Et
Une nouvelle fois avec une troisième valeur ***@***
Donc normal que seul le 3e user reçoit le mail.
Il faut concaténer tes variables.
De mémoire, sur lotus le séparateurs de contacts est la virgule mais bon j'ai testé avec le point-virgule et ça fonctionne aussi :p
Pour répondre à Bidouilleu_R :
Le fait de faire
MailDoc.copyto = "***@***;***@***;***@***"
ça ne me semble pas bon, ça attribuera comme destinataire ***@***;***@***;***@*** comme unique destinataire à MailDoc.copyto
donc ne fonctionnera pas.
j'ai déjà vu ce cas-là
Je pense que la solution sera d'utiliser un tableau avec Array("...", "...")
Donc pour reprendre le problème de MrQuant
ça serait :
MailDoc.copyto = Array("***@***", "***@***", "***@***")
a+