Meinst Du eine programmatische Lösung? Kannst Du uns bitte etwas mehr erzählen, was Du erreichen willst.
Hmm, er möchte doch pragmatisch "F9" mit einem Code (also Script) ausführen... dann würde doch dieser API-Kram ("GetKeyState") weiterhelfen - ansatzweise wie das da ?!...:
Declare Function GetKeyState Lib "user32" (Byval nVirtKey As Long) As Long
Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
Habe mal versucht, die ESC-Taste damit in einer Maske zu unterdrücken - das war schon heavy genug - und auch nicht ganz so sauber... und zwar so (wenn's denn weiterhelfen sollte zum eigentlichen "F9'er Problem"... HTH):
'- Die folgenden Deklarationen werden zum verhindern der Esc- Taste benötigt
Const VK_ESC = 27
Type KeyboardBytes
kbByte(0 To 255) As Long
End Type
Declare Function GetKeyState Lib "user32" (Byval nVirtKey As Long) As Long
Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
'- Ende Esc- verhinderung
Jetzt der eigentliche Code:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
'- der Code hier verhindert das schliessen des Fensters durch Esc unter bestimmten umständen
If GetKeyState(VK_ESC) Then
'Get the keyboard state
GetKeyboardState kbArray
'Change a key
kbArray.kbByte(VK_ESC) = 1
'Set the keyboard state
SetKeyboardState kbArray
SetKeyboardState kbOld
continue = False
End If
End Sub
Und schliesslich in den Button, der das fenster schliesst noch folgenden Code:
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
'Esc-Key reset
SetKeyboardState kbOld
'close Document
Call uidoc.Close
End Sub