Ich habe es mal ausprobiert.
Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
Dim session As New NotesSession
If (Trim(session.GetEnvironmentString("midpointsProfileDoc",True))<>"") Then
Msgbox "Profile Doc already open"
continue = False
End If
Call session.SetEnvironmentVar("midpointsProfileDoc", source.Document.UniversalID, True)
End Sub
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
Dim session As New NotesSession
Call session.SetEnvironmentVar("midpointsProfileDoc", "", True)
End Sub
Beim ersten Öffnen wird die UniversalId des PDoc in die notes.ini geschrieben. Versucht der Admin ein zweites Mal, das PDoc zu öffnen, dann bekommt er eine Fehlermeldung. Beim Schließen des PDoc wird der ini Eintrag wieder gelöscht.