Domino 9 und frühere Versionen > ND7: Entwicklung

Leere Ordner per Script löschen

(1/2) > >>

mastertom:
Hallo,

ich suche eine Routine, die es ermöglicht, leere Ordner in einer Mail-DB zu löschen.

Hintergrund: User legen ständig neue Order an für Projekte, die 1/2 Jahr laufen. Die Dokumente werden irgendwann archiviert, die Ordner dümpeln unnötig in der Mailbox herum.

Ziel wäre, alle Ordner zu löschen, in denen kein Dokument mehr referenziert wird.

Ist dies einfach möglich? Gibt es Seiteneffekte (Notes 7 oder höher)?

Danke

mibo11:
Mit der NotesNoteCollection Klasse solltest alle Ordner zu lesen bekommen und diese auch löschen können.

Über das AllEntries Property der NotesView Klasse müsstest du dann die Anzahl der Dokumente auslesen können.

Negative Seiteneffekte kann ich mir nicht vorstellen.

Dies nur so als erster Ansatz.

Gruß
Sascha

koehlerbv:
Volle Zustimmung zu Saschas Posting.
Alternativ kannst Du statt der NotesNoteCollection auch NotesDatabase.Views Property verwenden. NotesView.IsFolder sagt Dir, ob es ein Folder oder eine View ist, NotesView.Remove gibt Dir die Möglichkeit zur Execution der Delinquenten.
Achtung: NotesDatabase.Views ist langsamer als Saschas Tipp mit der NotesNoteCollection (aber einfacher umzusetzen im Sinne von "weniger Zeilen". Das ist aber nur marginal).

Negative Seiteneffekte: Nein.

Bernhard

ar60:
 :o

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Set db = session.CurrentDatabase
   
   Forall view In db.Views
      If    view.isfolder And view.TopLevelEntryCount =0 Then   '
         '###########################
         
      Das Seiteneffektverursachende habe ich mal garnicht erst hier stehen lassen.
          Es gibt genügend Entwickler die Ordner für ihre Anwendungen nutzen
     Die Mailschablone hat Ordner von Haus aus die Leer sind zum Beispiel
          Foldername=($Alarms)
               Foldername=($Inbox)
          Foldername=(Rules)
               Foldername=($Trash)
         
         Wenn es unbedingt sein muss  Dann müssen noch sehr viele
                        Ausschlusskriterien in der IF Abfrage definiert werden.
         
         Ich konnte KEINE SEITENEFFEKTE nicht so einfach überlesen.
         
         Tschau.
         
         '###########################
      End If      
   End Forall
   
End Sub

koehlerbv:
$Flags (enthält "P") muss natürlich noch geprüft werden - in der Frage war ja die Rede von den Ordnern, die die User selber anlegen.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln