L
lo
Guest
Bonjour Le Forum,
Voici un petit bout de code permettant d'envoyer depuis excel un Lotus ...
Sub Main()
Dim oSess As Object
Dim oDB As Object
Dim oDoc As Object
Dim oItem As Object
Dim direct As Object
Dim Var As Variant
Dim flag As Boolean
Set oSess = CreateObject("Notes.NotesSession")
Set oDB = oSess.GETDATABASE("", "")
Call oDB.OPENMAIL
flag = True
If Not (oDB.ISOPEN) Then flag = oDB.Open("", "")
If Not flag Then
msgbox "Can't open mail file: " & oDB.SERVER & " " & oDB.FILEPATH
GoTo exit_SendAttachment
End If
On Error GoTo err_handler
'Building Message
Set oDoc = oDB.CREATEDOCUMENT
Set oItem = oDoc.CREATERICHTEXTITEM("BODY")
oDoc.Form = "Memo"
oDoc.Subject = "ceci est un sujet"
oDoc.sendto = "email@mail.com"
oDoc.body = "Ceci est le corps du message"
oDoc.postdate = Date
'Attaching DATABASE
Call oItem.EmbedObject(1454, "", "N:\qqch.xls")
oDoc.visable = True
'Sending Message
oDoc.SEND False
exit_SendAttachment:
On Error Resume Next
Set oSess = Nothing
Set oDB = Nothing
Set oDoc = Nothing
Set oItem = Nothing
'Done
msgbox "Send"
Exit Sub
err_handler:
If Err.Number = 7225 Then
msgbox "File doesn't exist"
Else
msgbox Err.Number & " " & Err.Description
End If
On Error GoTo exit_SendAttachment
End Sub
Ce code fonctionne sans problème, mais n'étant pas spécialiste des fonctions Lotus, je viens à vous pour demander un peu d'aide
oDoc.Subject = "ceci est un sujet"
=> peux ton envoyer le sujet sous forme de variable? J'entends par là que le sujet changerait automatiquement avec la date ... pour devenir : Sauvegarde du XX.XX.XXXX ?
oDoc.sendto = "email@email.com"
=> Dois je réécrire autant de oDoc.sendto qu'il y a de destinaire? ou existe t-il un élèment séparateur?
oDoc.body = "Ceci est le corps du message"
Puis je récupérer dans le corps du message le nom ou des fichiers envoyés?
oDoc.postdate = Date
=> je suis peut être miro, mais je ne vois pas la date ... J'aimerai qu'elle soit visible dans le corps du message ?
Et pour finir, du VBA pur ...
J'aimerais que la dite sauvegarde soit envoyé par mail automatiquement chaque dernier jour du mois ... Vu qu'il en existe en 30 et 31 comme spécifier en VBA qu'il faut exécuter la macro ce jour parce qu'il est le dernier du mois en cours ?
Merci à tous et bonne journée ;-)
Voici un petit bout de code permettant d'envoyer depuis excel un Lotus ...
Sub Main()
Dim oSess As Object
Dim oDB As Object
Dim oDoc As Object
Dim oItem As Object
Dim direct As Object
Dim Var As Variant
Dim flag As Boolean
Set oSess = CreateObject("Notes.NotesSession")
Set oDB = oSess.GETDATABASE("", "")
Call oDB.OPENMAIL
flag = True
If Not (oDB.ISOPEN) Then flag = oDB.Open("", "")
If Not flag Then
msgbox "Can't open mail file: " & oDB.SERVER & " " & oDB.FILEPATH
GoTo exit_SendAttachment
End If
On Error GoTo err_handler
'Building Message
Set oDoc = oDB.CREATEDOCUMENT
Set oItem = oDoc.CREATERICHTEXTITEM("BODY")
oDoc.Form = "Memo"
oDoc.Subject = "ceci est un sujet"
oDoc.sendto = "email@mail.com"
oDoc.body = "Ceci est le corps du message"
oDoc.postdate = Date
'Attaching DATABASE
Call oItem.EmbedObject(1454, "", "N:\qqch.xls")
oDoc.visable = True
'Sending Message
oDoc.SEND False
exit_SendAttachment:
On Error Resume Next
Set oSess = Nothing
Set oDB = Nothing
Set oDoc = Nothing
Set oItem = Nothing
'Done
msgbox "Send"
Exit Sub
err_handler:
If Err.Number = 7225 Then
msgbox "File doesn't exist"
Else
msgbox Err.Number & " " & Err.Description
End If
On Error GoTo exit_SendAttachment
End Sub
Ce code fonctionne sans problème, mais n'étant pas spécialiste des fonctions Lotus, je viens à vous pour demander un peu d'aide
oDoc.Subject = "ceci est un sujet"
=> peux ton envoyer le sujet sous forme de variable? J'entends par là que le sujet changerait automatiquement avec la date ... pour devenir : Sauvegarde du XX.XX.XXXX ?
oDoc.sendto = "email@email.com"
=> Dois je réécrire autant de oDoc.sendto qu'il y a de destinaire? ou existe t-il un élèment séparateur?
oDoc.body = "Ceci est le corps du message"
Puis je récupérer dans le corps du message le nom ou des fichiers envoyés?
oDoc.postdate = Date
=> je suis peut être miro, mais je ne vois pas la date ... J'aimerai qu'elle soit visible dans le corps du message ?
Et pour finir, du VBA pur ...
J'aimerais que la dite sauvegarde soit envoyé par mail automatiquement chaque dernier jour du mois ... Vu qu'il en existe en 30 et 31 comme spécifier en VBA qu'il faut exécuter la macro ce jour parce qu'il est le dernier du mois en cours ?
Merci à tous et bonne journée ;-)