Création mail avec une pièce jointe

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Création mail avec une pièce jointe

Messagepar hippo_ma » 23 Fév 2011 à 11:41

Bonjour

Administratrice Lotus Notes, je dois développer un agent qui me permet de créer un nouveau mail (dans la session du user en cours) et de joindre a ce mail un fichier qui se trouve sous c: (sans envoyer le mail et sans spécifier les destinataires)

depuis 3 jours je cherche des exemples et fais des tests mais rien ne marche pour le moment j'arrive juste a ouvrir un nouveau mémo avec ce code

Sub Click(Source As Button)

Dim S As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim CurrentUIDoc As NotesUIDocument
Dim uidoc As NotesUIDocument
Dim Doc As NotesDocument

'récup du doc en cours
Set CurrentUIDoc = workspace.CurrentDocument
Set doc=CurrentUIDoc.document
MS=S.Getenvironmentstring("MailServer",True)
MF=S.Getenvironmentstring("MailFile",True)

' création d'un doc signet
Set uidoc = workspace.ComposeDocument(MS,MF, "memo")
uidoc.FieldAppendText(subject,"essai")
'Mise en place du lien doc dans le body du signet
Set Doc=uidoc.document
Set rtitem = New NotesRichTextItem( doc, "Body" )
Set object1 = rtitem.EmbedObject _
( EMBED_ATTACHMENT, "", "c:\doclink.ndl")



End Sub

Si quelqu'un pouvez m'aider je vous remercie
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar Michael DELIQUE » 23 Fév 2011 à 13:03

salut

fait tout ton traitement en back-end et a la place d'un "workspace.ComposeDocument" au milieu place un

workspace.editdocument à la fin
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar Michael DELIQUE » 23 Fév 2011 à 13:04

et merci d'éviter les post en doublon
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar hippo_ma » 23 Fév 2011 à 13:49

Bonjour

desolée pour le post en double


workspace.edit document me met en modification le doc sur lequel je me trouve moi je voudrais créer un nouveau mémo avec une pièce jointe.

Thanks
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar Michael DELIQUE » 23 Fév 2011 à 14:13

et bien dans ce cas créé un nouveau document

set doc = db.createdocument !

sinon tu sera obligé d'enregistrer, fermer puis réouvrir ton document en frontal
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Création mail avec une pièce jointe

Messagepar roubech » 23 Fév 2011 à 23:34

hippo_ma a écrit:sans envoyer le mail et sans spécifier les destinataires

est-ce que tu veux dire qur ton code ne doit pas renseigner les destinataires ni envoyer le mail et qu'il faut une intéraction de l'utilisateur pour compléter les destinataires et après faire l'envoi ? ou au contraire, il ne faut pas que l'utilisateur renseigne quoique ce soit. L'utilisateur sélection un doc (un mail) et clique sur ton bouton pour déclencher l'envoi du mail sans rien renseigner.

Si pas d'interaction avec l'utilisateur = comme l'a dit Mickael, fait tout en back end (NotesSession / NotesDocument)
si tu prépares juste le mail => front end (NotesUIWorkspace / NotesUIDocument )
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Messagepar Michael DELIQUE » 24 Fév 2011 à 07:43

sauf que son code fait du front-end puis du back-end avec un richtext et ça va pas passer.

faut faire l'inverse back-end avec richtext puis front-end
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar hippo_ma » 24 Fév 2011 à 09:09

Bonjour

oui les utilisateurs doivent saisir les destinataires. et envoyer le mail

Dans mon code j'ai un message d'erreur quand j'insère une pj
"object variable not set"

voici mon code pour le moment il m'ouvre un nouveau mail met un sujet et ecrit dans le body il me manque plus que la pièce jointe a inserer qui se trouve en local sur le c:

Sub Click(Source As Button)

Dim S As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim CurrentUIDoc As NotesUIDocument
Dim uidoc As NotesUIDocument
Dim Doc As NotesDocument
Dim object As NotesEmbeddedObject
Dim rtItem As NotesRichTextItem

'récup du doc en cours
Set CurrentUIDoc = workspace.CurrentDocument
Set doc=CurrentUIDoc.document
MS=S.Getenvironmentstring("MailServer",True)
MF=S.Getenvironmentstring("MailFile",True)

' création d'un doc signet
Set uidoc = workspace.composedocument(MS,MF,"memo")
Call uidoc.FieldSetText("subject",Doc.GetItemValue("Subject")(0))
Call uidoc.FieldSetText("body","Vous trouverez en pièce jointe : "+doc.GetItemValue("Subject")(0))


Set object = rtitem.EmbedObject _
( EMBED_ATTACHMENT, "", "c:\doclink.ndl")

End Sub
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar hippo_ma » 24 Fév 2011 à 09:10

excusez moi mais je ne sais pas ce que signifie front-end et back-end ?
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar Michael DELIQUE » 24 Fév 2011 à 09:24

re

front-end tous les objet en NotesUI (correspond a l'écran) back-end tous les autres.

as-tu lu ça => http://forum.dominoarea.org/initiation- ... 12997.html
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar hippo_ma » 24 Fév 2011 à 10:18

je l'ai téléchargé hier mais je ne l'ai pas tout lu encore
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar hippo_ma » 24 Fév 2011 à 11:45

une idée sur mon erreur object not set .???
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar Michael DELIQUE » 24 Fév 2011 à 12:47

re, ma version

Code : Tout sélectionner
Dim Session As New NotesSession
   Dim dbMail As NotesDatabase
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim Doc As NotesDocument
   dim rtitem as NotesRichTextItem
   
   MS=S.Getenvironmentstring("MailServer",True)
   MF=S.Getenvironmentstring("MailFile",True)
   
   Set dbMail = Session.GetDatabase(MS,MF,False)
   
   Set Doc = dbMail.CreateDocument
   Call doc.ReplaceItemValue("Form","memo")
   Set rtitem = New NotesRichTextItem( doc, "Body" )
   Set object1 = rtitem.EmbedObject _
   ( EMBED_ATTACHMENT, "", "c:\doclink.ndl")
   Set uidoc = workspace.EditDocument(True,doc,False)
   Call uidoc.FieldAppendText(subject,"essai")
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar hippo_ma » 24 Fév 2011 à 13:48

Merci pour le code ca marche.

Super forum d'entraide !!
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Messagepar hippo_ma » 25 Fév 2011 à 07:33

une dernière petit question comment fait on dans le body pour mettre du texte en gras et faire un saut de ligne ?

merci
hippo_ma
Posteur néophyte
Posteur néophyte
 
Message(s) : 83
Inscrit(e) le : 03 Avr 2009 à 06:52

Suivant

Retour vers Développement

cron