Page 1 sur 2
Enregistrer une pice jointe de mail

Publié:
25 Mars 2011 à 11:28
par clementbp
Bonjour
Je voudrais créer un agent qui va enregistrer la piece jointe du mail que j'ai selectionné dans une vue.
Avez-vous une idée de la manière de coder cet agent
Merci

Publié:
25 Mars 2011 à 11:30
par Michael DELIQUE
salut
tu veux enregister sur un ton disque la piece jointe dans ton mail ?

Publié:
25 Mars 2011 à 12:00
par clementbp
Oui dans le but de l'imprimer par la suite parce que j'ai vu un post qui parlait d'imprimer une pièce jointe mais apparement il faut rentrer dans les parametre l'adresse du fichier

Publié:
25 Mars 2011 à 12:41
par Michael DELIQUE

Publié:
25 Mars 2011 à 15:15
par clementbp
J'ai regardé ce tips mais je n'arrive pas a comprendre comment cet agent peu fonctionné
Auriez vous la possibilité de me guider un peu pour que je puisse faire un agent me permettant de récupérer la pièce jointe de mon mail dans le but de l'imprimer.

Publié:
25 Mars 2011 à 15:23
par Michael DELIQUE
ce n'est pas un agent mais une fonction de détachement de piece jointe
il faut l’implémenter !

Publié:
25 Mars 2011 à 15:36
par clementbp
Mais est il possible de le faire en agent LS
Peut être que je n'ai pas assez expliqué ma demande
Je voudrais que depuis le dossier "Inbox" d'une base de type courrier un utilisateur ait la possibilité de selection une ligne (un mail), et de cliquer sur un bonton de la barre d'action et que la piece jointe du mail selectionné s'enregistre à un emplacement choisi.
Cette base de type courrier ne contiendra que des fax, qui sont tous uniquement composé d'une seule pièce jointe.
Le but final étant d'imprimer la piece jointe.
Et la je n'ai aucune idée de comment m'y prendre

Publié:
25 Mars 2011 à 15:51
par Michael DELIQUE
codé vite fait, s'il manque des fonction tu les trouvera dans les tips
- Code : Tout sélectionner
Dim Session As NotesSession
Dim UIWork As NotesUIWorkspace
Dim db As NotesDatabase
Dim Collection As NotesDocumentCollection
Dim Doc As NotesDocument
Dim vrValue As Variant
On Error GoTo CatchError
Set Session = New NotesSession
Set db = session.Currentdatabase
Set Collection = db.Unprocesseddocuments
If Collection Is Nothing Then
Exit Sub
ElseIf collection.Count = 0 Then
Exit sub
End If
Set UIWork = New NotesUIWorkspace
vrValue = UIwork.SaveFileDialog(True," Select directory",,"C:\")
Set Doc = Collection.Getfirstdocument()
While Not doc Is Nothing
Call FileDetachAll(Doc, "",vrValue(0),"")
Set Doc= Collection.Getnextdocument(Doc)
Wend
Set Collection = nothing
Exit Sub
CatchError:
MsgBox "("+Cstr(GetThreadInfo (1))+" Call by "+Cstr(GetThreadInfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + CStr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Exit Sub
- Code : Tout sélectionner
Function FileDetachAll(wDoc As notesdocument, Byval wChamp As String,wDirectory As String, Byval wnbPath As Boolean, Byval wnbDelete As Boolean, wnbSave As Boolean)As Variant
Dim rtitem As NotesRichTextItem
Dim lstValue List As String
Dim i As Integer
Dim vrEO As Variant
On Error Goto CatchError
lstValue(0) = ""
If wDoc Is Nothing Then
Error 9999,"wDoc is Nothing"
Else
If wDoc.HasEmbedded = False Then
FileDetachAll = lstValue
Erase lstValue
Exit Function
End If
End If
If Trim(wChamp) = "" Then
Error 9999,"wChamp empty"
Exit Function
Else
Set rtitem = wDoc.GetFirstItem(wChamp)
If rtitem Is Nothing Then
Error 9999,"rtitem => ''"+wChamp+"'' is nothing"
Exit Function
Else
If (rtitem.Type <> RICHTEXT) Then
Error 9999,"'"+wChamp+"'' is not NotesRichTextItem"
Exit Function
End If
End If
End If
If Trim(wDirectory) = "" Then
Error 9999,"wDirectory empty"
Exit Function
Else
If Right(Trim(wDirectory),1)<>"\" Then
wDirectory = Trim(wDirectory)+"\"
Else
wDirectory = Trim(wDirectory)
End If
End If
i=0
If Trim(wChamp) = "" Then
vrEO = wDoc.EmbeddedObjects
Else
vrEO = rtitem.EmbeddedObjects
End If
If testVariant(vrEO) = True Then
Forall Attachement In vrEO
If Attachement.Type = EMBED_ATTACHMENT Then
Call Attachement.ExtractFile(wDirectory+Trim(Attachement.Name))
If wnbPath = True Then
lstValue(i) = wDirectory+Attachement.Name
Else
lstValue(i) = Attachement.Name
End If
i=i+1
If wnbDelete = True Then
Call Attachement.Remove
End If
End If
End Forall
vrEO = Null
End If
Set rtitem = Nothing
If wnbSave = True Then
Call wDoc.Save(True,False)
End If
FileDetachAll = lstValue
Erase lstValue
Exit Function
CatchError:
Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
Set rtitem = Nothing
lstValue(0) = "ERROR"
FileDetachAll = lstValue
Erase lstValue
Exit Function
End Function

Publié:
25 Mars 2011 à 16:07
par clementbp
Désolé mais je ne vois pas comment utiliser votre code
Dans quoi faut il mettre les bouts de code (écris en vert, ou/et écris en noir) ?
Initialize - Terminate ....
Merci de votre aide

Publié:
25 Mars 2011 à 16:20
par Michael DELIQUE
re,
dans l'initialize. mais là tu as besoin d'un developpeur !

Publié:
25 Mars 2011 à 16:47
par clementbp
Je ne sais pas comment faire alors
Si je veux simplement ouvrir la piece jointe du mail comment je peut faire.
A supposé que mon document soit ouvert en édition, quelle partie du code correspond à
* selectionner la piece jointe et l'enregistrer
Merci de votre aide

Publié:
25 Mars 2011 à 16:48
par Michael DELIQUE
c'est pas un code pour les document ouvert. mais pour exporter toutes les pices jointe des document sélectionné

Publié:
25 Mars 2011 à 16:52
par clementbp
D'accord Ok
Quand je récupere ton code et que je le copie simplement, j'ai un problème au niveau de la liqne :
If testVariant(vrEO) = True Then
Il me mets "Illegal parenthesized reference: TESTVARIANT"

Publié:
25 Mars 2011 à 20:53
par Michael DELIQUE
comme je te l'ai dis s'il manque des fonction reagrde dans les tips =>
http://forum.dominoarea.org/tester-une- ... 17732.html

Publié:
28 Mars 2011 à 16:54
par clementbp
Bonjour
J'ai fais plusieurs essais mais sans succès
Auriez vous un tips qui parle de la manière de créé un agent qui utilise une fonction.
D'après ce que j'ai compris, c'est le cas dans votre agent, ou vous avez défini une fonction qui s'appelle FileDetachAll
Merci de votre aide