Thema Datum  Von Nutzer Rating
Antwort
30.12.2022 23:05:49 Paul Lenz
NotSolved
31.12.2022 09:27:06 Mase
NotSolved
31.12.2022 11:07:05 Paul Lenz
NotSolved
31.12.2022 11:21:52 Mase
NotSolved
Rot Formular zum Hochladen einer Datei per SendKeys steuern
31.12.2022 17:54:14 Paul Lenz
NotSolved

Ansicht des Beitrags:
Von:
Paul Lenz
Datum:
31.12.2022 17:54:14
Views:
166
Rating: Antwort:
  Ja
Thema:
Formular zum Hochladen einer Datei per SendKeys steuern

Mit FTP wäre das kein Problem, aber hier handelt es sich um FTPS. Dazu gehört, Signaturen zu benutzen etc... und damit scheint VBA überfordert zu sein.

Aber egal, ich habe jetzt einen funktionierenden Workaround. SendKeys funktioniert sehr gut, wenn man es langsam genug macht.

Es scheint verkehrt zu sein, den FilePicker zu aktivieren, indem man auf das Eingabefeld klickt. itm.click() aktiviert zwar den FilePicker, scheint aber dann auf irgend etwas zu warten, und das Programm läuft erst dann weiter, wenn man den FilePicker manuell wieder geschlossen hat.

Dies funktioniert: mit GetWindowRect() die Position des Fensters und damit die Position des Eingabefeldes ermitteln, mit SetCursorPos() die Maus drauf setzen und mit mouse_event() ein "Mousedown" und "Mouseup" senden. Wenn dann der FilePicker erscheint, kann man erwartungsgemäß die gewünschte Datei über SendKeys in das Feld für den Dateinamen schreiben. Dann noch zweimal {TAB} und einmal {ENTER} - geschafft.

Was das Passwort betrifft, hast du recht, ich sollte es vielleicht noch verschlüsseln. Es handelt sich aber um ein ganz spezielles Passwort nur für diesen einen Zweck, und außerdem wird die hochgeladene Datei nur dann gespeichert, wenn sie den korrekten Namen hat, und ausführbar ist sie sowieso nicht.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
30.12.2022 23:05:49 Paul Lenz
NotSolved
31.12.2022 09:27:06 Mase
NotSolved
31.12.2022 11:07:05 Paul Lenz
NotSolved
31.12.2022 11:21:52 Mase
NotSolved
Rot Formular zum Hochladen einer Datei per SendKeys steuern
31.12.2022 17:54:14 Paul Lenz
NotSolved