Autor Thema: Bestimmte Dokumente in Col per Script  (Gelesen 1531 mal)

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Bestimmte Dokumente in Col per Script
« am: 18.10.07 - 11:02:44 »
Hallo!

Ich möchte einen Agenten per Script erstellen, in dem ich markierte Dokument in ein Archiv üertragen kann.

Ich habe bisher nur ganze Ansichten in eine Collection gepackt und die Dokumente dann kopiert und gelöscht.

Aber wie mache ich dass, wenn ich nur bestimmte Dokumente kopieren und löschen möchte?

Hier mal mein bisheriges Script:

Sub Archivierung ()
   Dim S As New NotesSession
   Dim DB As NotesDatabase
   Dim Doc As NotesDocument
   Dim View As NotesView
   Dim Col As NotesDocumentCollection
   Dim strArchivDB As String
   Dim strArchivPfad As String
   Dim x As Variant
   
   Set DB = S.CurrentDatabase
   Set Doc = DB.GetProfileDocument("(DBProfil)")
   'Profil Dokument auslesen
   strArchivDB = Doc.dbServerArchiv(0)
   strArchivPfad = Doc.dbDateiArchiv(0)
   Dim ArchivDB As New NotesDatabase(strArchivDB,strArchivPfad)
   
   Set View = DB.GetView("(Archiv)")
   Set Doc = View.GetFirstDocument
   'Dokumente kopieren   
   Do Until Doc Is Nothing
      Call Doc.CopyToDatabase(ArchivDB)
      Set Doc = View.GetNextDocument(Doc)
   Loop
   'Dokumente löschen
   Set Col = View.GetAllDocumentsByKey("bearbeitet")
   Call Col.RemoveAll(True)
End Sub

Danke und Gruß,
Wiesel

klaussal

  • Gast
Re: Bestimmte Dokumente in Col per Script
« Antwort #1 am: 18.10.07 - 11:13:18 »
Die Select-Formel der Ansicht ändern ?

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Bestimmte Dokumente in Col per Script
« Antwort #2 am: 18.10.07 - 11:16:04 »
Hmmm es ergeben sich doch ein paar Fragen für mich ?

1. Wo baust du hier ne Collection ?

2. Wann setzt du das Feld "bearbeitet"

3. Haben die Dokumente ein bestimmtes Kriterium ? Also nen bestimmtes Feld das bestimmt gesetzt ist , wenn ja  dann mach doch ne DB.Search mit entsprechender Suchformel und kopier die Dinger dann in dein Archiv.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Bestimmte Dokumente in Col per Script
« Antwort #3 am: 18.10.07 - 11:16:57 »
Nein, sondern die Property UnprocessedDocuments der NotesDatabase class verwenden, um markierte Dokumente abzugreifen.

Bernhard

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Re: Bestimmte Dokumente in Col per Script
« Antwort #4 am: 18.10.07 - 11:19:19 »
@Kohlerbv :

hmm war ich wieder zu schnell und hab das mit den markierte Dokumente überlesen.
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline Wiesel

  • Aktives Mitglied
  • ***
  • Beiträge: 188
  • Geschlecht: Weiblich
Re: Bestimmte Dokumente in Col per Script
« Antwort #5 am: 18.10.07 - 11:32:27 »
Bernhard, ich wusste ich kann mich auf Dich verlassen  ;)

Genau das habe ich gesucht und es klappt wie am Schnürchen:

Sub Archivierung ()
   Dim S As New NotesSession
   Dim DB As NotesDatabase
   Dim Doc As NotesDocument
   Dim col As NotesDocumentCollection
   Dim strArchivDB As String
   Dim strArchivPfad As String
   
   Set DB = S.CurrentDatabase
   Set col = DB.UnprocessedDocuments
   Set Doc = DB.GetProfileDocument("(DBProfil)")
   'Profil Dokument auslesen
   strArchivDB = Doc.dbServerArchiv(0)
   strArchivPfad = Doc.dbDateiArchiv(0)
   Dim ArchivDB As New NotesDatabase(strArchivDB,strArchivPfad)
   
   Set Doc = col.GetFirstDocument()
   'Dokumente kopieren   
   Do Until Doc Is Nothing
      Call Doc.CopyToDatabase(ArchivDB)
      Set Doc = col.GetNextDocument(Doc)
   Loop
   'Dokumente löschen
   Call Col.RemoveAll(True)
End Sub


DANKE!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz