SendKeys in einer Dialogbox Tab-Seite abfragen & SendMessage zu schnell?

  • Sonstige

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von mumpel.

    SendKeys in einer Dialogbox Tab-Seite abfragen & SendMessage zu schnell?

    Hallo Freunde.

    Ich muss mich jetzt mal an euch wenden, da ich keinerlei Lösung finde.

    Ich arbeite in Catia. Innerhalb von Catia schreibe ich kleine Standardisierungen in VBA. Jetzt komme ich an eine Stelle dessen Problem ich mir nicht so groß vorgestellt hätte.

    Innerhalb Catia öffne ich ein neues Fenster welches eine Datenbank durchsucht. Dieses Fenster ist Quasi eine Form mit 2 "TabStrip" also eine Form wo ich zwischen zwei Arbeitsblättern wählen kann. Für den Fortlauf des Makro muss ich zwangsläufig auf die erste Page dieses TabStrip wechseln. Da die Ausgangssituation bei jedem user anders sein kann welche Page gerade aktiviert ist haut das via "SendKeys" nur hin wenn die Situation genau so vorliegt wie ich sie gerade bei mir habe.

    Meine Frage ist also wie ich denn die Page innerhalb einer Form wechseln kann, bei dem ich zumindest die Namen habe.
    Ich hoffe mir kann da jemand helfen.

    Gruß Kay
    Bilder
    • TabPage.JPG

      14,85 kB, 178×174, 90 mal angesehen
    Hallo. Also ich bin jetzt ne ganze Ecke weiter gekommen und kann die Tabs wechseln. Ich habe mir jetzt erstmal die Namen der Handles rausgesucht und kann so zumindest innerhalb der Multipages aggieren.

    Jetzt habe ich erneut ein Problem.
    Ich muss via

    SendKeys "^v", True

    etwas in ein Textfeld eintragen und dann über sendmessage den entsprechenden "OK" Button drücken. Das funktioniert leider nur wenn ich das ganze via Einzelschrittprozedur mache und einen Stopp vor dem sendkeys. Es scheint also der code irgendwie zu schnell zu laufen als das er das einfügen könnte.

    Wenn ich Sleep oder Wait nutze, da ändert dies leider auch garnix. Er wartet zwar, macht aber dann wohl noch immer extrem schnell weiter.

    VB.NET-Quellcode

    1. ​hButton = FindWindowEx(hParent, 0, "Button", "Reset")
    2. 'Wait (1)
    3. SendMessage hButton, BM_CLICK, 0, 0
    4. 'Wait (1)
    5. SendKeys "{TAB 7}", True
    6. 'SendKeys "{LEFT}", True
    7. SendKeys "^v", True
    8. hButton = FindWindowEx(h5, 0, "Button", " Search ")
    9. SendMessage hButton, BM_CLICK, 0, 0