Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: LEO am 07.05.07 - 12:31:49

Titel: Menüauswahl per Skript
Beitrag von: LEO am 07.05.07 - 12:31:49
Hallo !

Ich brauch nur ab und zu ein paar Programmzeilen, aber wenn's dann soweit ist.....
Ich möchte von einer Aktion (Button in einer Rahmengruppe) einen best. Menübefehl aufrufen: Alt+k (für Aktionen) und dann noch ein m.
Ich hab das mit <Sendkeys "%km",True> und Varianten davon versucht, aber außer einem "Illegal fuction call" gibt's nichts.
Es müsste aber sicher einfacher mit zB.: @command oder dgl. gehen.
Bin für jede Hilfe dankbar.
Grüsse aus Österreich - Leo  :)
Titel: Re: Menüauswahl per Skript
Beitrag von: m3 am 07.05.07 - 12:40:59
Möchtest Du nicht lieber
Code
@Command( [RunAgent] ; agent ) 
verwenden?
Titel: Re: Menüauswahl per Skript
Beitrag von: koehlerbv am 07.05.07 - 12:45:41
In R5 besser @Command ([ToolsRunMacro]; ...), Martin  ;)

Bernhard
Titel: Re: Menüauswahl per Skript
Beitrag von: m3 am 07.05.07 - 12:47:11
Selbstverständlich!

Gilt "Es ist Montag und ich hatte erst einen Kaffee" als Entschuldigung für meine Schassaugatkeid? ;)
Titel: Re: Menüauswahl per Skript
Beitrag von: LEO am 07.05.07 - 18:02:11
Danke für eure Hilfe... aber ich möchte nicht einen Agenten starten, sondern einen Menübefehl aus einem Agenten heraus aufrufen. Das Problem ist: Ein Programm (Simplyphone von Siemens) erweitert von sich aus die Menüeinträge unter "Aktionen". Zb: "Selektiertes Dokument anrufen". Ich weiß aber nicht welcher Agent dahintersteckt. Meine Überlegung war daher den Menübefehl per Shortcuts auszuwählen. Diese Shortcuts hätte ich per "SendKeys" generiert.
Aber vielleicht denke ich zu komliziert.

Grüsse aus Österreich - Leo
Titel: Re: Menüauswahl per Skript
Beitrag von: m3 am 07.05.07 - 18:03:32
Dann erweitert die Siemens (brrrrrr) das Design der Datenbank. Einfach mit dem Designer die Liste der Agenten checken. Einer muss es sein, wenn er im Aktionen-Menü auftaucht.
Titel: Re: Menüauswahl per Skript
Beitrag von: LEO am 08.05.07 - 08:19:33
Hallo !

Diese Menüeinträge von Siemens sind immer da (egal welche Datenbank). Im Designer nicht aufspürbar. Ich habe keine Ahnung über welche Umwege die dazugelinkt werden. Aber ist es nicht möglich Menübefehle über Skript aufzurufen ?

Im Anhang ein Bildchen vom Siemes-Menü (untere 4 Einträge)
Danke - Leo
Titel: Re: Menüauswahl per Skript
Beitrag von: eknori am 08.05.07 - 08:22:39
Die Aktionen sind vermutlich über eine Zusatzsoftware als DLL in der Notes.ini eingetragen.
Wenn die DLL ähnlich der WIN API ein DECLARE zulässt, dann sind die Funktionen auch per script ansprechbar.
Hierzu einfach mal beim Hersteller nachfragen...
Titel: Re: Menüauswahl per Skript
Beitrag von: diali am 08.05.07 - 08:43:54
??? Woher nimmt er dann in den Dokumenten das richtige Feld? Im Adressbuch ist dies bestimmt kein Problem aber in fremden Anwendungen schon.

Wir nutzen anstelle von Simplyphone xPhone, dort wird im xPhone ein Feld-Mapping auf DB-Ebene vorgenommen.
Titel: Re: Menüauswahl per Skript
Beitrag von: LEO am 09.05.07 - 07:38:41
Hi eknori !

Bei Siemens ist nichts zu holen.

Hi diali !

Bei anderen Datenbanken funktioniert es auch nicht.

Aber vielleicht noch einmal eine kurze Frage: Kann ich Menüeinträge per Script/@command... ansprechen oder ist das nicht möglich ?

Danke - Leo
Titel: Re: Menüauswahl per Skript
Beitrag von: diali am 09.05.07 - 07:52:27
da wirst Du um SendKeys oder um die Schnittstelle von SimplyPhone nicht herum kommen.
In der Designer-Hilfe steht bei SendKeys zu dem Fehler:
Zitat
SendKeys generates an "Illegal function call" error if string contains any of the following elements:
   An unmatched parenthesis
   An illegal key code
   An illegal repeat count
   Too many characters

Versuche mal per Win-Api die Tastenanschläge auszuführen
Code
' Declarations
Const KEYEVENTF_KEYUP = &H2
Const VK_RETURN = &H0D
Const VK_MENU = &H12

Declare Sub KeyPress Lib "USER32" Alias "keybd_event" (Byval V As Integer, Byval S As Integer, _
Byval F As Long, Byval X As Long)

Sub Click(Source As Button)
	KeyPress VK_MENU, 0, 0, 0
	KeyPress Asc("k"), 0, 0, 0
	KeyPress Asc("k"), 0, KEYEVENTF_KEYUP, 0
	KeyPress VK_MENU, 0, KEYEVENTF_KEYUP, 0
	KeyPress Asc("m"), 0, 0, 0
	KeyPress Asc("m"), 0, KEYEVENTF_KEYUP, 0
End Sub
Nachteil funktioniert nicht im MAC- oder im Linux-Client.
Titel: Re: Menüauswahl per Skript
Beitrag von: LEO am 09.05.07 - 17:24:23
Hi diali !

Danke für die Info - funktioniert zwar noch nicht ganz, aber der Weg ist das Ziel. Das bring ich schon hin.

Gruß Leo