Für manche Notes-Anwendungen ist es wichtig, dass die Benutzer Dokumente nicht per Copy-and-Paste duplizieren oder aus anderen Datenbanken übernehmen können. Und deswegen haben Ansichten und Ordner ein QueryPaste-Ereignis. Das Ereignis hat einen Parameter Continue (As Boolean) und wenn dieser auf False gesetzt wird, werden die Dokumente nicht eingefügt.
Das ist damit ein großer "Generalschalter", weil er entweder alle Dokumente oder keines erlaubt.
Natürlich kann man auf die Rollen des Benutzers zugreifen, auf Profil-/Konfigurationsdokumente usw., aber nicht auf die Dokumente, die eingefügt werden soll. Zu diesem Zeitpunkt sind sie ja auch noch gar nicht in der Datenbank! Wie sollte das also gehen?
Tja, gewusst wie... ;-)
Wenn man im Notes-Client Dokumente in die Zwischenablage kopiert, landen diese nicht wirklich alle in der Windows-Zwischenablage. Das können ja auch mal ein paar Gigabyte werden. Notes legt die Dokumente in der ~clipbrd.ncf im Datenverzeichnis ab und hat nur ein paar "Zeiger" in der Zwischenablage. Die ~clipbrd.ncf ist eine Notes-Datenbank - ohne Ansichten oder andere Gestaltungselemente, die notwendig wären, diese Datenbank im Notes-Client zu öffnen. Aber per LotusScript kommt man dran.
Da es keine Ansichten gibt, muss man über NotesDatabase.AllDocuments auf die NotesDocumentCollection mit allen Dokumenten zugreifen, danach ist es aber "einfache" LotusScript-Programmierung.
Ich habe da mal etwas vorbereitet: