Hallo Pauli,
für mich sieht es so aus, dass die Oberfläche selbst erstmal keine Formular-Elemente beinhaltet. Klickt man jedoch z.B. auf ein Datum, wird ein input-Tag generiert, in das die Eingabe erfolgen kann. Wird die Eingabe abgeschlossen, wird aus dem Eingabefeld wieder "normaler Text" auf der Seite. Da läuft also alles über Events nehme ich an. Mit dem von mir verlinkten StackOverflow Beitrag solltest Du eigentlich alle Werkzeuge haben, die Du brauchst, um das Problem zu lösen.
Du gibst zwei JS Funktionen an. Die musst Du für die Arbeit mit HTML-Events nicht kennen und Du musst auch nicht wissen, was sie machen. Was Du rausfinden musst ist, wie die Events heißen und welche davon Du triggern musst. Zusätzlich unterliegen einige Dinge dem richtigen Timing. Z.B. musst Du etwas Zeit geben, um die Seite Code generieren zu lassen.
Du hast schon eine Zeile HTML gepostet, in der ganz hinten das wörtchen "event" steht. Das gehört nicht zum HTML sondern ist ein Button. Wenn Du auf den draufklickst, geht eine Liste auf, die alle Events auflistet, die zu genau dem HTML-Element gehören. Aus dieser Liste musst Du das oder die richtigen Events rausfinden, die für Deinen Automatisierungsschritt notwendig sind.
Oft ist das nur ein Event, z.B. mousedown. Manchmal sind es aber auch mehrere. Z.B. kan es vorkommen, dass mousedown nur für das HTML-Element wirkt, wenn vorher das mouseover Event ausgelöst wurde (sofern es vorhanden ist). Für Dein Datumsfeld nehme ich folgendes an:
Um das Eingabefeld zu aktivieren ist vermutlich onmousedown oder Click notwendig (musst Du in der Event Liste nachsehen)
Den Wert im Eingabefeld kannst Du dann über die Eigenschaft Value des Eingabefeldes setzten. Es kann sein, dass auch zum Setzen des Wertes ein oder zwei Events ausgelöst werden müssen. Das wären dann z.B. onkeydown bevor Du den Wert setzt oder vielleicht auch change, wenn der Wert gesetzt wurde oder beide. Für Texteingabefelder findet man auch öfter die beiden Events aus dem SO Beitrag compositionstart und compositionend. Das Datum würdest Du dann zwischen diesen beiden eingeben.
So wie es sich im Moment für mich darstellt, wird der eingegebene Wert dann mit dem Wegnehmen des Fokus vom HTML-Element wieder als "reiner Text" auf der Seite angezeigt, an der Server gesendet und in die DB geschrieben. Das Event dazu dürfte blur sein oder bereits compositionend sein.
Das sind natürlich alles nur Vermutungen. Vor allem die Listen der Events zu den in Frage stehenden HTM-Elementen kannst nur Du selbst rausfinden. Ich würde erstmal versuchen das erste Event auszulösen, um das input-Tag für die Datumseingabe zu generieren. Wenn das klappt, bist Du schon auf einem guten Weg.
Solltest Du nicht genau wissen, wie Du das machen sollst, dann poste mal Deinen bisherigen VBA-Code. Du musst keine Bedenken haben, weil Du ihn vielleicht für schlecht hältst. Was meinst Du, wie meine ersten Gehversuche für WebScraping aussahen ;-)
Viele Grüße,
Zwenn
|