VBA & Lotus Note
MrQuant
Messages postés
56
Statut
Membre
-
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
- Redmi note 14 4g test - Accueil - Téléphones
- Lotus organizer - Télécharger - Organisation
- Bloc note gratuit - Télécharger - Traitement de texte
- Test redmi note 13 5g - Accueil - Téléphones
- Incompatibilité de type vba ✓ - Forum Programmation
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
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+