doudouninie
Messages postés3Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 mai 2008
-
14 mai 2008 à 15:27
doudouninie
Messages postés3Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 mai 2008
-
14 mai 2008 à 21:08
Bonjour,
J'ai créé un formulaire word protégé avec un lien hypertexte vers une adresse mail.
et j'aimerais qu'en cliquant sur ce lien un nouveau message s'ouvre avec comme piece jointe le fameux formulaire.
Voila le code que j'ai inséré dans VBA :
Sub FollowLink()
Selection.Hyperlinks(1).Follow
Dim ol As Object, myItem As Object
Set ol = CreateObject("lotusnotes.application")
Public Sub SendNotesMail(ByVal Subject As String, ByVal Attachment As String,
_
ByVal Recipient As String, ByVal ccRecipient As String, _
ByVal bccRecipient As String, ByVal BodyText As String,
_
ByVal SaveIt As Boolean, ByVal Password As String)
Dim Maildb As Object 'La base des
mails
Dim UserName As String 'Le nom
d'utilisateur
Dim MailDbName As String 'Le nom de la base des
mails
Dim MailDoc As Object 'Le
mail
Dim AttachME As Object 'L'objet pièce jointe
en RTF
Dim Session As Object 'La session
Notes
Dim EmbedObj As Object 'L'objet
incorporé
'Crée une
session notes
Set Session = CreateObject("Notes.NotesSession")
'*** Cette ligne
est réservée aux versions 5.x et supérieur : ***
'' Session.Initialize (Password)
'Récupère le nom d'utilisateur et crée le nom de la base des
mails
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1,
UserName, " "))) & ".nsf"
'Ouvre la base des mails
Set Maildb = Session.GETDATABASE("", MailDbName)
If Not Maildb.IsOpen Then Maildb.OPENMAIL
'Paramètre le mail à envoyer
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.CopyTo = ccRecipient
MailDoc.BlindCopyTo = bccRecipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Prend en compte les pièces jointes
If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
MailDoc.CREATERICHTEXTITEM ("Attachment")
End If
'Envoie
le mail
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>
doudouninie
Messages postés3Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 mai 2008 14 mai 2008 à 17:13
ca ne marche pas
en fait j'ai recopié ton bêtement le code mais je n'y comprend rien alors je suis pas capable de l'ajuster.
là en fait il est pret à envoyer le message mais il n'y a pas de pieces jointes...
doudouninie
Messages postés3Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 mai 2008 14 mai 2008 à 21:08
finalement ca marche mais si le document n'est pas enregistré avant d'être envoyé, je le recoit vierge.
il n'envoie pas le document "actif".
voici le code :
Sub FollowLink()
Dim Subject As String
Dim Attachment As String
Dim AttachmentName As String
Dim Recipient As String
Dim ccRecipient As String
Dim bccRecipient As String
Dim BodyText As String
Dim SaveIt As Boolean
Dim Password As String
Dim Maildb As Object 'La base des mails
Dim UserName As String 'Le nom d'utilisateur
Dim MailDbName As String 'Le nom de la base des mails
Dim MailDoc As Object 'Le mail
Dim AttachME As Object 'L'objet pièce jointe en RTF
Dim Session As Object 'La session Notes
Dim EmbedObj As Object 'L'objet incorporé
'Crée une session notes
Set Session = CreateObject("Notes.NotesSession")
'*** Cette ligne est réservée aux versions 5.x et supérieur : ***
'' Session.Initialize (Password)
'Récupère le nom d'utilisateur et crée le nom de la base des mails
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'Ouvre la base des mails
Set Maildb = Session.GETDATABASE("", MailDbName)
If Not Maildb.IsOpen Then Maildb.OPENMAIL
'Paramètre le mail à envoyer
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.CopyTo = ccRecipient
MailDoc.BlindCopyTo = bccRecipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Prend en compte les pièces jointes
If Attachment <> "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
MailDoc.CREATERICHTEXTITEM ("AttachmentName")
End If
'Envoie le mail
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub