Access Beispiel: OutlookSicherheitsabfrage
aus DBWiki, dem Datenbank-Entwickler-Wiki
Beschreibung des Beispiels "AccSampleClickYes"
Das Beispiel zeigt eine Möglichkeit, die Outlook- Sicherheitsabfrage "Ein Programm versucht ... Zugriff gewähren für..." automatisch wegzuklicken. Es läßt sich damit weder das Fenster unterdrücken, noch eine Nachricht "unbemerkt" verschicken aber das war auch nicht mein Ziel. Das Beispiel funktioniert nur mit Outlook-Automatisierung, nicht mit "SendObject" weil da ein anderes Fenster kommt, das sich mit den vorgestellten Mitteln nicht wegklicken läßt.
Funktionsweise: es wird im temp- Verzeichnis des Benutzers eine Datenbank angelegt, in die das Modul "modClickYes" und das Formular "frmClickyes" exportiert wird (Im Folgenden "ClickYesDB" genannt). Diese ClickYesDB wird gestartet sobald in der Outlook-Code läuft.
Die ClickYesDB sucht jede Sekunde (Timer in frmClickYes) eben das wegzuklickende Fenster, setzt den Haken, zentriert den Mauszeiger über den "Ja-Button" und führt einen Linksklick aus.
Somit läuft der Outlook-Code schön durch, leider kann man .Send nicht direkt ausführen sondern muß den Umweg über SendKeys nehmen. Zum Schluß wird die ClickYesDB zugemacht und gelöscht.
Noch ein paar Anmerkungen: - ich habe die "Lebenszeit" der ClickYesDB auf 5 Sek begrenzt - Getestet unter W2K/A03/OL03 - Funktioniert im Moment nur mit deutschem Outlook -> ClickYes - Funktion - Es war viel Copy&Paste Programming, Quellen sind im Code genannt
Viel Spaß damit, Bastian
Ergänzungen 18.05.2005: Für Outlook XP muß im Modul "modClickYes" die Zeile
hWnd = FindWindow(vbNullString, "Microsoft Office Outlook")geändert werden in
hWnd = FindWindow(vbNullString, "Microsoft Outlook")Außerdem ist im Moment die Zeile im Formular1
tmpDB = CreateClickYesDB 'Formular und Modul in extra Datenbank...auskommentiert. Das darf natürlich auch nicht sein.