Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Email Lotusnotes via Excel : Coller

  • Initiateur de la discussion Laurent
  • Date de début
L

Laurent

Guest
Bonjour,

J'ai un code pour envoyer un mail avec lotusnotes via Excel.
Mais j'aimerai que dans le corp du message il collela copie-écran que j'ai faite. Quelqu'un connait-il le code?

Pour le corp du mge j'ai :

MailDoc.Body = ????

Si je mets 'Paste' çà ne marche pas.

Merci

Laurent
 
R

Robert

Guest
Bonjour Laurent,
Je pense que dans ton code MailDoc.Body est un objet ...
Il faudrait que tu crée un autre objet de type 'RichText' afin de pouvoir y placer ton image....
Connais tu les classes Notes ? Dans les exemple de Notes il y a la façon de manipuler les RichText .....
@+
 
L

Laurent

Guest
Bonjour,

Excuse moi je n'avais pas vu ton message .
Non je ne connais pas du tout les classes Notes...
Je suis assez novice...

Si tu peux m'aider

Merci pour ton aide

Laurent
 
S

steph@ne

Guest
Salut,

Voici le code pour envoyer le contenu du presse papier (copier/coller)
comme corp du mail par lotus sous excel.

Ce code fonctionne trés bien, mais il faut que lotus soit ouvert.
Si qq connait la soluce pour que si lotus n'est pas ouvert, qu'il s'ouvre automatiquement et me demande mon mot de passe.

Merci
 
S

steph@ne

Guest
Salut,

Voici le code pour envoyer le contenu du presse papier (copier/coller)
comme corp du mail par lotus sous excel.

Ce code fonctionne trés bien, mais il faut que lotus soit ouvert.
Si qq connait la soluce pour que si lotus n'est pas ouvert, qu'il s'ouvre automatiquement et me demande mon mot de passe.

Merci
 
S

steph@ne

Guest
Salut,

Voici le code pour envoyer le contenu du presse papier (copier/coller)
comme corp du mail par lotus sous excel.

Ce code fonctionne trés bien, mais il faut que lotus soit ouvert.
Si qq connait la soluce pour que si lotus n'est pas ouvert, qu'il s'ouvre automatiquement et me demande mon mot de passe.

Merci
 
S

Stéph@ne

Guest
Salut,

Voici le code pour envoyer le contenu du presse papier (copier/coller)
comme corp du mail par lotus sous excel.

Ce code fonctionne trés bien, mais il faut que lotus soit ouvert.
Si qq connait la soluce pour que si lotus n'est pas ouvert, qu'il s'ouvre automatiquement et me demande mon mot de passe.

Merci

je met le code car je ne suis pas sur qu'il a pris ma piéce jointe (8Ko)

Sub SendNotesMail(Subject, Attachment, Recipient, CC, BodyText, SaveIt)

'Set up the objects required for Automation into lotus notes
Dim Maildb 'The mail database
Dim MailDoc 'The mail document itself
Dim AttachME 'The attachment richtextfile object
Dim Session 'The notes session
Dim EmbedObj 'The embedded object (Attachment)
Dim Workspace
Dim uiDoc

'Replace ';' by ',' in Recipient and CC
Recipient = Replace(Recipient, ';', ',')
CC = Replace(CC, ';', ',')

'Start a session to notes
Set Session = CreateObject('Notes.NotesSession')
Set Workspace = CreateObject('Notes.NotesUIWorkspace')


' Find the Local Address Book
sNamesLine = Session.GetEnvironmentValue('names', True)
nPos = InStr(sNamesLine, ',')
If nPos > 0 Then
sNamesLine = Left(sNamesLine, nPos - 1)
Else
sNamesLine = 'names.nsf'
End If
Set Maildb = Session.getDatabase('', sNamesLine)
If Not (Maildb.IsOpen) Then
Messagebox ('Cannot find Local Address Book / Impossible de trouver Carnet d'adresses Personnel')
Exit Sub
End If
'Update of Location Documents
Set View = Maildb.GetView('($Locations)')
If (View Is Nothing) Then
Messagebox ('Cannot find the necessary view / Impossible de trouver les vues indispensables')
Exit Sub
End If
Set note = View.GetFirstDocument
sMailFile = Session.GetEnvironmentString('MailFile', True)
sServer = Session.GetEnvironmentString('MailServer', True)


'Set up the new mail document
Set Db = Session.getDatabase('', sMailFile) 'set db to database not yet named
If Db.IsOpen = True Then
'Already open for mail
Else
Db.OPENMAIL
End If

Set MailDoc = Db.CREATEDOCUMENT
MailDoc.Form = 'Memo'
MailDoc.sendto = Recipient
MailDoc.copyto = CC
MailDoc.Subject = Subject


MailDoc.SAVEMESSAGEONSEND = SaveIt

'Set up the embedded object and attachment and attach it
If Attachment <> '' And Attachment <> ' ' Then
entries = Split(Attachment, ';')
' Get the file names.
For i = LBound(entries, 1) To UBound(entries, 1) - 1
Set AttachME = MailDoc.CREATERICHTEXTITEM('Attachment' & i)
Set EmbedObj = AttachME.EMBEDOBJECT(1454, '', entries(i), 'Attachment' & i)
Next
End If

'Edit the document
Set Wshshell = CreateObject('wscript.shell')
retcode = Wshshell.Run('Notes.exe')

Call Workspace.OpenDatabase(sServer, sMailFile)

Set uiDoc = Workspace.EditDocument(True, MailDoc)
uiDoc.GotoField ('Body')

uiDoc.Paste
'Send the document
ret = uiDoc.send
uiDoc.Close
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
Set Workspace = Nothing
Set uiDoc = Nothing
End Sub
 
S

Stéph@ne

Guest
Salut,

Voici le code pour envoyer le contenu du presse papier (copier/coller)
comme corp du mail par lotus sous excel.

Ce code fonctionne trés bien, mais il faut que lotus soit ouvert.
Si qq connait la soluce pour que si lotus n'est pas ouvert, qu'il s'ouvre automatiquement et me demande mon mot de passe.

Merci

je met le code car je ne suis pas sur qu'il a pris ma piéce jointe (8Ko)

Sub SendNotesMail(Subject, Attachment, Recipient, CC, BodyText, SaveIt)

'Set up the objects required for Automation into lotus notes
Dim Maildb 'The mail database
Dim MailDoc 'The mail document itself
Dim AttachME 'The attachment richtextfile object
Dim Session 'The notes session
Dim EmbedObj 'The embedded object (Attachment)
Dim Workspace
Dim uiDoc

'Replace ';' by ',' in Recipient and CC
Recipient = Replace(Recipient, ';', ',')
CC = Replace(CC, ';', ',')

'Start a session to notes
Set Session = CreateObject('Notes.NotesSession')
Set Workspace = CreateObject('Notes.NotesUIWorkspace')


' Find the Local Address Book
sNamesLine = Session.GetEnvironmentValue('names', True)
nPos = InStr(sNamesLine, ',')
If nPos > 0 Then
sNamesLine = Left(sNamesLine, nPos - 1)
Else
sNamesLine = 'names.nsf'
End If
Set Maildb = Session.getDatabase('', sNamesLine)
If Not (Maildb.IsOpen) Then
Messagebox ('Cannot find Local Address Book / Impossible de trouver Carnet d'adresses Personnel')
Exit Sub
End If
'Update of Location Documents
Set View = Maildb.GetView('($Locations)')
If (View Is Nothing) Then
Messagebox ('Cannot find the necessary view / Impossible de trouver les vues indispensables')
Exit Sub
End If
Set note = View.GetFirstDocument
sMailFile = Session.GetEnvironmentString('MailFile', True)
sServer = Session.GetEnvironmentString('MailServer', True)


'Set up the new mail document
Set Db = Session.getDatabase('', sMailFile) 'set db to database not yet named
If Db.IsOpen = True Then
'Already open for mail
Else
Db.OPENMAIL
End If

Set MailDoc = Db.CREATEDOCUMENT
MailDoc.Form = 'Memo'
MailDoc.sendto = Recipient
MailDoc.copyto = CC
MailDoc.Subject = Subject


MailDoc.SAVEMESSAGEONSEND = SaveIt

'Set up the embedded object and attachment and attach it
If Attachment <> '' And Attachment <> ' ' Then
entries = Split(Attachment, ';')
' Get the file names.
For i = LBound(entries, 1) To UBound(entries, 1) - 1
Set AttachME = MailDoc.CREATERICHTEXTITEM('Attachment' & i)
Set EmbedObj = AttachME.EMBEDOBJECT(1454, '', entries(i), 'Attachment' & i)
Next
End If

'Edit the document
Set Wshshell = CreateObject('wscript.shell')
retcode = Wshshell.Run('Notes.exe')

Call Workspace.OpenDatabase(sServer, sMailFile)

Set uiDoc = Workspace.EditDocument(True, MailDoc)
uiDoc.GotoField ('Body')

uiDoc.Paste
'Send the document
ret = uiDoc.send
uiDoc.Close
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
Set Workspace = Nothing
Set uiDoc = Nothing
End Sub
 

Discussions similaires

Réponses
8
Affichages
435
Réponses
2
Affichages
536
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…