per Script ein SHIFT F9 auslösen

    • Offizieller Beitrag

    in ein Feld (Typ Text oder Zahl) schreibe ich eine Rechenaufgabe [z.B.: (5+6*4)/9]. So lange ich noch in dem Feld stehe, kann ich mit SHIFT + F9 die Aufgabe ausrechnen lassen.
    Dies würde ich jetzt gern im Exiting des Feldes ausführen. ein NotsUIDocumen.Refresh oder ein NotesUIWorkSpace.ViewRefresh berechnete wie erwartet die Aufgabe nicht.


    Kennt jemand eine Lösung oder hat so etwas schon umgesetzt? Falls ja - wie.


    Bin für jeden Hinweis dankbar.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

    • Offizieller Beitrag

    habe es jetzt per Win-API versucht.
    Sendkeys im LotusScript funktioniert leider nicht auf die Notes-Anwendung.


    Allerdings ist der Fokus im Exiting-Event schon nicht mehr auf dem Feld, d.h. es scheint kein passendes Event dafür zu geben.


    Gruß
    Dirk

  • Hallo Dirk,


    weiß nicht, ob ich richtig verstanden habe, was du erreichen möchtest...


    Sub Exiting(Source As Field)
    Dim ws As New NotesUIWorkspace
    Dim doc As notesdocument
    Dim uidoc As NotesUIDocument


    Set uidoc = ws.CurrentDocument
    Set doc=uidoc.Document
    doc.DeinFeld = (5+6*4)/9


    End Sub


    ...ich vermute aber, 5 und 6 und 4 und 9 sind keine Werte, die in anderen Feldern stehen?




    Allerdings ist der Fokus im Exiting-Event schon nicht mehr auf dem Feld, d.h. es scheint kein passendes Event dafür zu geben.


    Fokus könnte man wieder dahin setzen (Achtung, Gefahr einer endlosen Schleife!):


    uidoc.GoToField ("DeinFeld")
    uidoc.SelectAll 'optional

    • Offizieller Beitrag

    erreichen wollte ich, dass ein Anwender in ein Feld weine mathematische Aufgabe schreibt und beim verlassen des Feldes diese Aufgabe ausgerechnet wird, ohne dass der User SHIFT + F9 benutzen muss.


    Als Beispiel:
    - öffne eine leere Mail
    - gehe ins Feld Thema
    - schreibe eine mathematische Aufgabe rein (nehmen wir mal 4*5
    - benutze die Tasten SHIFT + F9
    - jetzt sollte im Feld Thema 20 drin stehen


    Im Exiting Event habe ich aber den Fokus schon auf dem nächsten Feld, d.h die Tastenkombination per WIN-API auszulösen bringt auch nichts.
    Mir fehlt ein Event, der die Tastenkombination vor dem Verlassen des Feldes ausführt- so etwas wie QueryExiting.


    Danke und Gruß
    Dirk

  • ...hmmm, was hältst du von dieser Idee:


    1. Im Exiting vom DeinFeld deren Item.Text abfragen.


    Wenn nicht Datatype Numbers (4*5 ist's nicht) wieder zurück ins DeinFeld springen mit


    uidoc.GoToField ("DeinFeld")





    2. Dein WIN-API Code ausführen, jetzt sollte ja 20 drin stehen


    3. uidoc.GoToField ("irgendeinFeld")


    Reine Theorie, es könnte als "Du kommst hier nicht raus" ausgehen...

    • Offizieller Beitrag

    super - funktioniert!


    Aber wenn jetzt jemand einen Buchstaben, dann ist dieses Feld auch nicht numerisch.
    Habe jetzt auf die Zeichen *-+/ abgeprüft (Hoffentlich will der Anwender jetzt nicht noch Quadrate usw. ausrechnen).
    UND als Zusatz habe ich noch eingebaut, dass der User nicht in diesem Feld stehen darf, wenn er das Dokument speichert, weil sonst das Exiting-Event nicht ausgeführt wird.


    Vielen Dank
    Dirk

    • Offizieller Beitrag

    Taschenrechner ist gut ;-).


    Was tut man nicht alles um den Anwender zufrieden zu stellen.
    Es geht da um eine Maske mit gefühlt 10.000 Feldern (es sind nur 300 Felder) und der Anwender will nicht jedes mal mit dem Taschenrechner (eigene Hardware auf dem Schreibtisch) rechnen müssen, wenn er die passenden Zahlen für die Maske noch nicht ausgerechnet vorliegen hat.


    Bist du schon zum EC 2012 angemeldet?


    Gruß
    Dirk

  • Das nenn' ich Dienstleistung. ;o) Hoffe, deine Anwender wissen es zu schätzen...


    Habe mir deinen Code rauskopiert, für alle Fälle.


    EC 2012: ja, ich will! :o) ...ob ich's auch darf, entscheidet sich in den nächsten Tagen.


    Die Hoffnung stirbt zuletzt...



    Edith schreibt: wird hier der Status automatisch wieder auf "offen" gesetzt, wenn man eine Antwort schreibt? OOOPS...

    • Offizieller Beitrag

    habe jetzt in der Eingabeumsetzung die Formel @Eval(@ThisValue) drin stehen. Damit wird das Ergebnis der Formel in diesem Feld berechnet.


    Nachteil, handelt es sich um ein Zahlenfeld, wird die Typ-Überprüfung vor der Formel durchgeführt. Hier wäre mir die umgekehrte Reihenfolge lieber. :(


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein