Domino 9 und frühere Versionen > ND7: Entwicklung
Leere Ordner per Script löschen
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