Domino 9 und frühere Versionen > Entwicklung
Anhänge gewählter Mails lösen & Löschen ?
Worn:
--- Code: ---Sub Initialize
Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim folder As String
Dim doc_temp As NotesDocument
folder = BrowseFolder ("","")
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
Set doc_temp = collection.GetNextDocument(doc)
Set rtitem = doc.GetFirstItem( "Body" ) 'Hier das entsprechende RT-Feld angeben
If Not (rtitem.EmbeddedObjects Is Nothing) Then
Forall o In rtitem.EmbeddedObjects
Call o.ExtractFile( folder+"\" & o.Name )
End Forall
Call doc.Remove(True)
End If
Set doc = doc_temp 'collection.GetNextDocument(doc)
Wend
End Sub
--- Ende Code ---
Das ist der Code und da kommt eine Meldung Type Mismatch.
Alles was ich will ist das dieser Agent über die markierten Documents rennt und alle Anhhänge in einen Ordner speichert, den ich ausgewählt habe. Anschließend soll er ohne zu fragen die gewählten Dokumente entfernen.
BEN
diali:
was mich interessieren würde, warum Du nicht den Debugger benutzen und uns die Zeile mit dem Fehler mitteilen kannst?
ata:
--- Code: ---' Dim ws As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim rtitem As Variant
Dim folder As String
Dim doc_temp As NotesDocument
folder = BrowseFolder ("","")
Print "Ordner: " + folder
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
While Not (doc Is Nothing)
Set doc_temp = collection.GetNextDocument(doc)
Set rtitem = doc.GetFirstItem( "Body" ) 'Hier das entsprechende RT-Feld angeben
If rtItem.Type = 1 Then ' # Das Feld Body kann auch als Textfeld vorliegen - dann Type mismatch-Möglichkeit
If Not (rtitem.EmbeddedObjects Is Nothing) Then
Forall o In rtitem.EmbeddedObjects
Call o.ExtractFile( folder+"\" & o.Name )
End Forall
Call doc.Remove(True)
End If ' ende der Prüfung auf Rich-Text-Feld...
End If
Set doc = doc_temp 'collection.GetNextDocument(doc)
Wend
--- Ende Code ---
... das könnte es pi mal daumen sein...
Toni
Worn:
Danke immernoch TYPE MISSMATCH :-:
Debugger kann ich nicht benutzen weil
a) weis ich nicht wie
b) ich muss ja dokumente auswählen die einen Anhang haben,
dazu brauche ich ja ne Ansicht
c) wenn ich in den Agenten gehe um diesen zu bearbeiten, dann
kann ich auf nem kleinen fenster welches sich öffnet ein paar sachen auswählen. Was soll ich da denn einstellen ?
- Auswahl in der Agentenliste
- Und unter Ziel ?
Thanks
BEN
diali:
a) Menü - Datei - Extras - Debug LotusScript
b) Dein Script starten wie immer
c) nichts verändern
nach dem Start des Agenten öffnet sich der Debugger, dann auf Fortfahren und nach der Fehlermeldung steht der Debugger in der richtigen Zeile.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln