Gérer automatiquement pièce jointe d'un message

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

Messagepar LSong » 13 Nov 2009 à 11:44

je suis en V6.41 oui c'est vieux mais les UNC il en veux pas
LSong
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 353
Inscrit(e) le : 07 Nov 2007 à 14:27
Localisation : Ile de france

Messagepar Dawood » 13 Nov 2009 à 13:56

merci domino77 effectivement j'avais homis ce détail..
Lsong> il gère les UNC j'avais un script qui a fonctionné en 6.55 avec des chemins UNC...

alors avec le debogueur, j'ai "type mismatch" sur la ligne:

Forall o In rtitem.EmbeddedObjects
D@wOOd
Avatar de l’utilisateur
Dawood
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 148
Inscrit(e) le : 21 Jan 2005 à 14:50
Localisation : GRENOBLE

Messagepar fripouille76 » 13 Nov 2009 à 14:15

Je vais peut etre dire une betise, prenant le wagon en marche, mais je testerai si mon tableau d'objet n'est pas vide avant le FORALL.

if not isEmpty(rtitem.EmbeddedObjects) then

ou quelques chose du genre....
fripouille76
Maître-posteur
Maître-posteur
 
Message(s) : 430
Inscrit(e) le : 24 Juil 2006 à 11:19

Messagepar Dawood » 13 Nov 2009 à 14:59

j'ai du mieux ! (l'espoir renait)
j'ai bien un détachement de la pièce jointe, bon le nom reste à désirer je vais essayer de récupérer le nom de fichier, mais je confirme que les UNC fonctionnent.
ensuite faut que mon ptit script passe au doc suivant.
je teste tout ça et je vous livre le code.. l'objectif c'est que ça serve.
merci pour vos lumières, parce que le code et moi...
D@wOOd
Avatar de l’utilisateur
Dawood
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 148
Inscrit(e) le : 21 Jan 2005 à 14:50
Localisation : GRENOBLE

Messagepar Dawood » 13 Nov 2009 à 16:43

Alors: voici enfin le résultat qui fonctionne. je pose le code pour les gens comme moi qui chercherait à détacher massivement les pièces jointes dans les messages d'une boite aux lettres, les déposer dans un répertoire réseau, et supprimer la pièce jointe en question. Ce code fonctionne sur un client V8.5
il suffit de coller ce code dans initialize, et modifier le chemin réseau de votre répertoire
------------------------------------------------

Sub initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docs As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant

On Error Goto erreur

Set db = session.CurrentDatabase

If Not( db Is Nothing ) Then
Set docs = db.UnprocessedDocuments
If Not( docs Is Nothing ) Then
If( docs.Count > 0 ) Then
Set doc = docs.GetFirstDocument()
While Not( doc Is Nothing )
Set rtitem = doc.GetFirstItem( "Body" )
If Not rtitem Is Nothing Then
If ( rtitem.Type = RICHTEXT ) Then
If Not Isempty(rtitem.EmbeddedObjects) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.ExtractFile _
( "\\serveur\partage\repertoire\" +o.Name)
Call o.Remove
Call doc.save(True,True)
End If
End Forall
End If
End If
End If
Set rtitem = Nothing
Set doc = docs.GetNextDocument(doc)
Wend
End If
End If
End If

Exit Sub
erreur:
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
End Sub

-----------------------------------------------------------------------
merci à tous pour votre aide (on ne le dit jamais assez) longue vie à domino area site vraiment utile s'il en est!
peut être poser ce script dans les tips pour les gens comme moi, peu familiers avec le code LS
D@wOOd
Avatar de l’utilisateur
Dawood
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 148
Inscrit(e) le : 21 Jan 2005 à 14:50
Localisation : GRENOBLE

Messagepar Dawood » 13 Nov 2009 à 16:44

petite précision: pas de confirmation ni de copie, ni de nom de fichier, car je veux automatiser le traitement.
D@wOOd
Avatar de l’utilisateur
Dawood
Apprenti-posteur
Apprenti-posteur
 
Message(s) : 148
Inscrit(e) le : 21 Jan 2005 à 14:50
Localisation : GRENOBLE

Messagepar Michael DELIQUE » 13 Nov 2009 à 16:47

re,

tu peux changer simplement le nom du fichier en remplacant o.name par le nom désiré dans

Call o.ExtractFile _
( "\\serveur\partage\repertoire\" +o.Name)
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

Précédent

Retour vers Développement

cron