OVH Cloud OVH Cloud

envoi avec Lotus Notes

4 réponses
Avatar
sai sai
Bonjour,

Ce code ci dessous me permet d'envoyer un mail, il fonctionne
normalement jusqu'=E0 la r=E9ception du mail.En effet =E0 l'ouverture du
mail, le message suivant s'affiche :A STORED FORM CAN NOT CONTAIN
COMPUTED SUBFORMS. je suis oblig=E9 d'appuyer sur OK pour que le message
ne s'affiche plus. Ma question est comment faire pour ne pas avoir ce
message ?

Sub EnvoiMail()

Dim Message As String
Dim subject As String
Dim mydate
Dim mydate2 As String

mydate =3D Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
'mydate2 =3D Format(mydate, "Mmm YY")

subject =3D "message toto" & mydate


Dim recip(2) As Variant
'recip(0) =3D Range("mailing")
'recip(1) =3D ""
recip(2) =3D "toto/fr/..."

Dim Fichier As String
Fichier =3D " !!! cette ligne ne sert =E0 rien pour le moment mais il faut
la conserver pour que le code fonctionne... !!! "

Message =3D "Please find below toto perf on" & mydate

Call SendNotesMail(subject, Fichier, recip, Message, True)

End Sub



Public Sub SendNotesMail(subject As String, Attachment As String,
Recipient As Variant, BodyText As String, SaveIt As Boolean)

Dim Maildb
Dim UserName
Dim MailDbName
Dim MailDoc
Dim AttachME
Dim Session
Dim EmbedObj
Dim myDate3 As String
Dim mydate As Date

mydate =3D Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
' myDate3 =3D Format(mydate, "Mmm YY")

Set Session =3D CreateObject("Notes.NotesSession")
UserName =3D Session.UserName
MailDbName =3D Left(UserName, 1) & Right(UserName, (Len(UserName) -
InStr(1, UserName, " "))) & ".nsf"
Set Maildb =3D Session.GETDATABASE("", MailDbName)

If Maildb.IsOpen =3D True Then
Else
Maildb.OPENMAIL
End If

Set MailDoc =3D Maildb.CREATEDOCUMENT
MailDoc.Form =3D "Memo"
'MailDoc.sendto =3D Recipient
MailDoc.subject =3D subject
MailDoc.Body =3D BodyText
MailDoc.SAVEMESSAGEONSEND =3D SaveIt

Dim myFile1 As String
myFile1 =3D "C:\chemin.xls"

If Attachment <> "" Then
Set AttachME =3D MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj =3D AttachME.EMBEDOBJECT(1454, "", myFile1, "")
End If

MailDoc.SEND 1, Recipient

Set Maildb =3D Nothing
Set MailDoc =3D Nothing
Set AttachME =3D Nothing
Set Session =3D Nothing
Set EmbedObj =3D Nothing

End Sub

4 réponses

Avatar
RENAUD Eric
Bonjour,
Quelle est la version de Lotus que tu utilises ?
Chez nous depuis que nous sommes passés sur certains postes à Lotus V7,
l'ouverture d'un mail émis par une V7 provoquait des messages d'erreurs.
Idem d'une V6 vers une V7.
J'ai adapté un code qui cette fois fonctionne de V7 vers V6 ou de V7 vers
V7

"sai sai" a écrit dans le message de news:

Bonjour,

Ce code ci dessous me permet d'envoyer un mail, il fonctionne
normalement jusqu'à la réception du mail.En effet à l'ouverture du
mail, le message suivant s'affiche :A STORED FORM CAN NOT CONTAIN
COMPUTED SUBFORMS. je suis obligé d'appuyer sur OK pour que le message
ne s'affiche plus. Ma question est comment faire pour ne pas avoir ce
message ?

Sub EnvoiMail()

Dim Message As String
Dim subject As String
Dim mydate
Dim mydate2 As String

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
'mydate2 = Format(mydate, "Mmm YY")

subject = "message toto" & mydate


Dim recip(2) As Variant
'recip(0) = Range("mailing")
'recip(1) = ""
recip(2) = "toto/fr/..."

Dim Fichier As String
Fichier = " !!! cette ligne ne sert à rien pour le moment mais il faut
la conserver pour que le code fonctionne... !!! "

Message = "Please find below toto perf on" & mydate

Call SendNotesMail(subject, Fichier, recip, Message, True)

End Sub



Public Sub SendNotesMail(subject As String, Attachment As String,
Recipient As Variant, BodyText As String, SaveIt As Boolean)

Dim Maildb
Dim UserName
Dim MailDbName
Dim MailDoc
Dim AttachME
Dim Session
Dim EmbedObj
Dim myDate3 As String
Dim mydate As Date

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
' myDate3 = Format(mydate, "Mmm YY")

Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left(UserName, 1) & Right(UserName, (Len(UserName) -
InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GETDATABASE("", MailDbName)

If Maildb.IsOpen = True Then
Else
Maildb.OPENMAIL
End If

Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'MailDoc.sendto = Recipient
MailDoc.subject = subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt

Dim myFile1 As String
myFile1 = "C:chemin.xls"

If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", myFile1, "")
End If

MailDoc.SEND 1, Recipient

Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Sub
Avatar
sai sai
Bonjour,
C'est la V6 qui est utilisée !
Merci d'avance

RENAUD Eric (retirerceci) wrote:
Bonjour,
Quelle est la version de Lotus que tu utilises ?
Chez nous depuis que nous sommes passés sur certains postes à Lotus V 7,
l'ouverture d'un mail émis par une V7 provoquait des messages d'erreurs.
Idem d'une V6 vers une V7.
J'ai adapté un code qui cette fois fonctionne de V7 vers V6 ou de V7 v ers
V7

"sai sai" a écrit dans le message de news:

Bonjour,

Ce code ci dessous me permet d'envoyer un mail, il fonctionne
normalement jusqu'à la réception du mail.En effet à l'ouverture du
mail, le message suivant s'affiche :A STORED FORM CAN NOT CONTAIN
COMPUTED SUBFORMS. je suis obligé d'appuyer sur OK pour que le message
ne s'affiche plus. Ma question est comment faire pour ne pas avoir ce
message ?

Sub EnvoiMail()

Dim Message As String
Dim subject As String
Dim mydate
Dim mydate2 As String

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
'mydate2 = Format(mydate, "Mmm YY")

subject = "message toto" & mydate


Dim recip(2) As Variant
'recip(0) = Range("mailing")
'recip(1) = ""
recip(2) = "toto/fr/..."

Dim Fichier As String
Fichier = " !!! cette ligne ne sert à rien pour le moment mais il faut
la conserver pour que le code fonctionne... !!! "

Message = "Please find below toto perf on" & mydate

Call SendNotesMail(subject, Fichier, recip, Message, True)

End Sub



Public Sub SendNotesMail(subject As String, Attachment As String,
Recipient As Variant, BodyText As String, SaveIt As Boolean)

Dim Maildb
Dim UserName
Dim MailDbName
Dim MailDoc
Dim AttachME
Dim Session
Dim EmbedObj
Dim myDate3 As String
Dim mydate As Date

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
' myDate3 = Format(mydate, "Mmm YY")

Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left(UserName, 1) & Right(UserName, (Len(UserName) -
InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GETDATABASE("", MailDbName)

If Maildb.IsOpen = True Then
Else
Maildb.OPENMAIL
End If

Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'MailDoc.sendto = Recipient
MailDoc.subject = subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt

Dim myFile1 As String
myFile1 = "C:chemin.xls"

If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", myFile1, "")
End If

MailDoc.SEND 1, Recipient

Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Sub


Avatar
sai sai
Bonjour,
on utilise la version V6 de LOTUS
merci d'avance

RENAUD Eric (retirerceci) wrote:
Bonjour,
Quelle est la version de Lotus que tu utilises ?
Chez nous depuis que nous sommes passés sur certains postes à Lotus V 7,
l'ouverture d'un mail émis par une V7 provoquait des messages d'erreurs.
Idem d'une V6 vers une V7.
J'ai adapté un code qui cette fois fonctionne de V7 vers V6 ou de V7 v ers
V7

"sai sai" a écrit dans le message de news:

Bonjour,

Ce code ci dessous me permet d'envoyer un mail, il fonctionne
normalement jusqu'à la réception du mail.En effet à l'ouverture du
mail, le message suivant s'affiche :A STORED FORM CAN NOT CONTAIN
COMPUTED SUBFORMS. je suis obligé d'appuyer sur OK pour que le message
ne s'affiche plus. Ma question est comment faire pour ne pas avoir ce
message ?

Sub EnvoiMail()

Dim Message As String
Dim subject As String
Dim mydate
Dim mydate2 As String

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
'mydate2 = Format(mydate, "Mmm YY")

subject = "message toto" & mydate


Dim recip(2) As Variant
'recip(0) = Range("mailing")
'recip(1) = ""
recip(2) = "toto/fr/..."

Dim Fichier As String
Fichier = " !!! cette ligne ne sert à rien pour le moment mais il faut
la conserver pour que le code fonctionne... !!! "

Message = "Please find below toto perf on" & mydate

Call SendNotesMail(subject, Fichier, recip, Message, True)

End Sub



Public Sub SendNotesMail(subject As String, Attachment As String,
Recipient As Variant, BodyText As String, SaveIt As Boolean)

Dim Maildb
Dim UserName
Dim MailDbName
Dim MailDoc
Dim AttachME
Dim Session
Dim EmbedObj
Dim myDate3 As String
Dim mydate As Date

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
' myDate3 = Format(mydate, "Mmm YY")

Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left(UserName, 1) & Right(UserName, (Len(UserName) -
InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GETDATABASE("", MailDbName)

If Maildb.IsOpen = True Then
Else
Maildb.OPENMAIL
End If

Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'MailDoc.sendto = Recipient
MailDoc.subject = subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt

Dim myFile1 As String
myFile1 = "C:chemin.xls"

If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", myFile1, "")
End If

MailDoc.SEND 1, Recipient

Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Sub


Avatar
RENAUD Eric
Tu peux essayer ce code ?
Sub UseLotusUsersV6()
Dim Session As Object
Dim dir As Object
Dim db As Object
Dim doc As Object
Dim objNotesField As Object
Dim object As Object
Dim EMailPassword As String
Dim EMailPJ As String
Dim Email(2) As String

' Responsables N1
Email(1) = ""
Email(2) = ""
On Error GoTo TraiteErreur
' Boucle pour envoyer les mails
For Z = 1 To 2
EMailSendTo = Email(Z)
'EMailCopyTo = ""
EmailSubject = "MISE A DISPOSITION DES FICHIERS MANQUANTS ET NON
MANQUANTS"
' Le password Lotus est saisi dans le code (Dans le cas ou la
session necessite un passwd)
EMailPassword = "password"

'Demande le password Lotus dans une boite de dialogue (Dans le cas
ou la session necessite un passwd)
'EMailPassword = InputBox("Entrer votre password Lotus:",
"Password")

' Création de la session Notes
Set Session = CreateObject("Lotus.NOTESSESSION")

'Ouverture d'une session NOTES
'si pas de passwd pas de parametre pour initialize
Call Session.Initialize(EMailPassword)

Set dir = Session.GetDbDirectory("EVREUX01/DEUTSCH")
Set db = dir.OpenMailDatabase

' Création d'un document
Set doc = db.CreateDocument

'Affectation du type mail
Call doc.AppendItemValue("Form", "Memo")

Call doc.AppendItemValue("Sendto", EMailSendTo)
'Call doc.APPENDITEMVALUE("Copyto", EMailCopyTo)
Call doc.AppendItemValue("subject", EmailSubject)
doc.SaveMessageOnSend = False 'True 'saveit 'sauvegarde du
mail à l envoi

Set objNotesField = doc.CreateRichTextItem("Body")
With objNotesField
.AppendText "SUIVI JOURNALIER DES MANQUANTS ET NON MANQUANT"
.AddNewLine 2
' .AppendText " Le fichier Non manquant est corrigé"
' .AddNewLine 2
.AppendText
"*******************************************************************************************************************"
.AddNewLine 2
.AppendText " *** ATTENTION UN NOUVEAU FICHIER EST DISPONIBLE
(Manquants uniques de niveau 1 du XX-XX-XXXX-VX.xls)"
.AddNewLine 2
.AppendText
"*******************************************************************************************************************"
.AddNewLine 2
.AppendText "Les fichiers suivants ont été déposé le : " &
Date & " à " & Time & " sur ... "
.AddNewLine 2
.AppendText " V:COMMUNREPORTS spé issus de SAPReports en
cours de validation....."
.AddNewLine 2
.AppendText " - Liste des 1ères réfs Manquants SAP du
XX-XX-XX-VX.xls sur ... "
.AddNewLine 2
.AppendText " - OP non manquant à horizon de " & Horizon &
" jours du XX-XX-XXXX-VX.xls"
.AddNewLine 2
.AppendText " - Manquants uniques de niveau 1 du
XX-XX-XXXX-VX.xls"
.AddNewLine 2
.AppendText
"----------------------------------------------------------------------------------------------------------------------"
.AddNewLine 2
.AppendText
"----------------------------------------------------------------------------------------------------------------------"
.AddNewLine 2
.AppendText "Cet e-mail a été généré par un processus
automatique."
'.APPENDTEXT "Please follow established contact " & _
"procedures should you have any questions."
.AddNewLine 2
.AppendText "Cordialement"
.AddNewLine 1
.AppendText "Eric RENAUD"
.AddNewLine 1
.AddNewLine 1
End With
'Attachement du classeur au mail
'EMailPJ = "C:Excelfile.xls"
'Set object = objNotesField.embedObject(1454, "", EMailPJ, "")

Call doc.Send(False)

Set object = Nothing
Set objNotesField = Nothing
Set doc = Nothing
Set db = Nothing
Set Session = Nothing
'Next Cell
Next Z
Exit Sub

TraiteErreur:
MsgBox "Erreur critique durant l'envoi du mail.", vbCritical, "Error"
Set object = Nothing
Set objNotesField = Nothing
Set doc = Nothing
Set db = Nothing
Set Session = Nothing
End Sub
---------------------------------------------

"RENAUD Eric" <erenaud(retirerceci)@fr.fm> a écrit dans le message de news:

Bonjour,
Quelle est la version de Lotus que tu utilises ?
Chez nous depuis que nous sommes passés sur certains postes à Lotus V7,
l'ouverture d'un mail émis par une V7 provoquait des messages d'erreurs.
Idem d'une V6 vers une V7.
J'ai adapté un code qui cette fois fonctionne de V7 vers V6 ou de V7 vers
V7

"sai sai" a écrit dans le message de news:

Bonjour,

Ce code ci dessous me permet d'envoyer un mail, il fonctionne
normalement jusqu'à la réception du mail.En effet à l'ouverture du
mail, le message suivant s'affiche :A STORED FORM CAN NOT CONTAIN
COMPUTED SUBFORMS. je suis obligé d'appuyer sur OK pour que le message
ne s'affiche plus. Ma question est comment faire pour ne pas avoir ce
message ?

Sub EnvoiMail()

Dim Message As String
Dim subject As String
Dim mydate
Dim mydate2 As String

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
'mydate2 = Format(mydate, "Mmm YY")

subject = "message toto" & mydate


Dim recip(2) As Variant
'recip(0) = Range("mailing")
'recip(1) = ""
recip(2) = "toto/fr/..."

Dim Fichier As String
Fichier = " !!! cette ligne ne sert à rien pour le moment mais il faut
la conserver pour que le code fonctionne... !!! "

Message = "Please find below toto perf on" & mydate

Call SendNotesMail(subject, Fichier, recip, Message, True)

End Sub



Public Sub SendNotesMail(subject As String, Attachment As String,
Recipient As Variant, BodyText As String, SaveIt As Boolean)

Dim Maildb
Dim UserName
Dim MailDbName
Dim MailDoc
Dim AttachME
Dim Session
Dim EmbedObj
Dim myDate3 As String
Dim mydate As Date

mydate = Month(Now()) & "-" & DAY(Now()) & "-" & Year(Now())
' myDate3 = Format(mydate, "Mmm YY")

Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left(UserName, 1) & Right(UserName, (Len(UserName) -
InStr(1, UserName, " "))) & ".nsf"
Set Maildb = Session.GETDATABASE("", MailDbName)

If Maildb.IsOpen = True Then
Else
Maildb.OPENMAIL
End If

Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
'MailDoc.sendto = Recipient
MailDoc.subject = subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt

Dim myFile1 As String
myFile1 = "C:chemin.xls"

If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", myFile1, "")
End If

MailDoc.SEND 1, Recipient

Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing

End Sub