Select Page

Wenn man unter VBA (Office Programme)  Systembefehle einsetzt, wird man auf manchen Rechnern  mit Fehlermeldungen konfrontiert. Beispielsweise kann eventuell ein SendKeys-Befehl  in einer Access- oder Excel-Applikation nicht funktionieren.

[singlepic id=27 float=]

 

Zur Lösung gibt es zwei Möglichkeiten:

 

1. Die gesperrten Befehle (in diesem Fall SendKeys) umgehen

Die Intention des jeweiligen Einsatzes muss überprüft werden. So können einzelne Alternativen (z.B. DoCmd.RunCommand acCmdSaveRecord kann die gleiche Auswirkung haben) eingesetzt werden. Auf der Seite vb@archiv findet sich eine alternative SendKeys-Methode, die man stattdessen einsetzen kann.

 

2. Die gesperrten Befehle erlauben

Die UAC (User Account Control: Benutzerkontensteuerung) sichert den Computer für Standard-Benutzer ab. Diese Einstellungen können angepasst werden, wobei immer zu beachten ist, die Sicherheit des Systems zu gewährleisten.

  • msconfig.exe starten (in Suchfeld des Windows Startmenüs eingeben)
  • auf Tools-Tab „UAC-Einstellungen ändern“ anklicken und starten
  • Regler in neuem Fenster nach unten schieben und mit „OK“ bestätigen
[singlepic id=26 float=]

 

Alternativ

  • regedit.exe starten (in Suchfeld des Windows Startmenüs eingeben)
  • folgenden Pfad aufsuchen: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • Eintrag EnableLUA als DWORD mit Wert 0 hinzufügen
  • Eintrag ConsentPromptBehaviorAdmin auf 0 setzen, um das UAC zu deaktivieren

 

Als nächstes muss die Anwendung als Admin ausgeführt werden:

Anwendung als Admin ausführen (Verknüpfung anlegen->in Verknüpfungs-Tab der Eigenschaften Erweitert-Fenster öffnen->Als Admin ausführen)

 

Kann die Anwendung nicht als Admin ausgeführt werden, muss auch für den Benutzer die UAC angepasst werden.

  • In der Registry ist der Eintrag ConsentPromptBehaviorUser hierfür zuständig.