Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Fbaum am 03.09.02 - 07:53:56
-
Hallo Leute,
ich möchte einen Agenten bauen, der ausgewählte Dokument von einer Maildatenbank (Inbox) in eine andere, festgelegte Maildatenbank verschiebt/kopiert. Wenn ich im Agent eine einfacht Aktion mache ("In Datenbank Kopieren") steht das Dokument dann auch da drin, allerdings nur bei alle Dokument. Gibt´s da ne Lösung?
Danke für Eure Hilfe.
Gruß FBaum
-
Hi Fbaum,
die Inbox ist ein Ordner, und folglich musst du dein Mail dann auch noch irgendwie in den Ordner ($Inbox) kopieren. Wie das funktionieren soll weiß ich leider auch nicht.
lg
Manuel
-
Probier mal ein Agent zu erstellen, Manuell aus dem Menü der Agenten, und gelten soll er für die Ausgewählten Documente.
Hier die das Script...
Sub Initialize
Dim session As New NotesSession
Dim QuellDB As NotesDatabase
Dim ZielDB As NotesDatabase
Dim doc As NotesDocument
Dim tmpdoc As NotesDocument
Dim newdoc As NotesDocument
Dim coll As NotesDocumentCollection
Set QuellDB = session.CurrentDatabase
Set ZielDB = session.GetDatabase("Server","DbFile")
Set coll = QuellDB.UnprocessedDocuments
Set doc = coll.GetFirstDocument
Do While Not doc Is Nothing
Set tmpdoc = coll.GetNextDocument(doc)
Set newdoc = doc.CopyToDatabase(ZielDB)
Call newdoc.PutInFolder("FolderName",True)
'Wenn du nur kopieren (nicht verschieben) möchtest, muß folgende Zeile auskommentiert sein...
Call doc.Remove(True)
Set doc = tmpdoc
Loop
End Sub
Sollte eigentlich funktionieren.
-rar
-
Hi,
also das Script funktioniert soweit schon. Nur das Problem ist, wenn ich 2 Dokument markiert habe und dann den Agent starte, kopiert er mir nur das erste Dokument und zwar immer wieder. Hat wahrscheinlich mit der eingebauten Schleife zu tun. Wenn ich die wegmache funktionierts. Leider nur für ein Dokument...
Gruß FBaum
-
Also bei mir funktioniert es für alle makierten Dokumente. ???
Hast du den Code irgendwie adaptiert? (Ausgenommen Server, File und Folder)
-
Also ich hab das Script so eingegeben. QuellDB, ZielDB, Server u. DBFile habe ich auf meine Sachen abgeändert. Wenn ich nun 2 Dokumente markiere, kopiert er nur ständig das erste Dokument in die andere DB.
-
Da kann ich dir leider nicht mehr helfen. Aber schau dirs mal im Debugger an. Vielleicht siehst du dort ja, warum er nur das erste Doc nimmt... :-/
-
Hallo Allerseits,
ich habe noch ein etwas geändertes Beispiel, wo am Ende natürlich das Gleiche rauskommt.
Sub Initialize
dim ws as New Notesuiworkspace
dim uiview as notesuiview
Dim session As New NotesSession
Dim QuellDB As NotesDatabase
Dim ZielDB As NotesDatabase
Dim doc As NotesDocument
Dim newdoc As NotesDocument
Dim coll As NotesDocumentCollection
set uiview = workspace.currentview
set coll = uiview.documents
if coll.count = 0 then
Messagebox"Bitte mindestens ein Dokument auswählten.", 0+64, "Keine Dokumente ausgewählt"
exit sub
End if
For i = i to coll.count
set doc = coll.getnthdocument(i)
Set newdoc = doc.CopyToDatabase(ZielDB)
Call newdoc.PutInFolder("FolderName",True)
'Call doc.remove(true)
Next
End Sub
Viele Grüße von
Zimmi
-
Danke für Eure Hilfe.
Denke mal, daß ich´s so hinbekommen kann.
Gruß FBaum