Mit Excel Windows beenden

Ich programmiere momentan mit VBA eine Excel-Unterstⁿtzung. Dabei ben÷tige ich eine M÷glichkeit, Windowsá95 aus der Anwendung heraus zu beenden. Wie lΣ▀t sich das realisieren?

Fⁿr das Beenden von Windows 95 aus einer Anwendung heraus stehen Ihnen mehrere M÷glichkeiten zur Verfⁿgung. Sie k÷nnen zum Beispiel das gesamte System herunterfahren und abschalten oder auch nur einen Benutzer abmelden. Dafⁿr sind aber Kenntnisse ⁿber das Win32-API (Application Programming Interface) n÷tig. Das API ist eine Schnittstelle fⁿr den Zugriff von Anwendungen auf Betriebssystemfunktionen. Solche Funktionen k÷nnen Sie mit entsprechenden Parametern aus Ihrer Anwendung heraus aufrufen. Fⁿr Ihre Zwecke eignet sich am besten die Funktion ExitWindowsEx. Sobald Sie die Funktion aktivieren, fordert diese alle aktiven Prozesse zum Beenden auf. Wenn das gelingt, veranla▀t sie anschlie▀end das Betriebssystem, den Rechner herunterzufahren. Je nach Rechner kann das bis zum Abschalten der Stromzufuhr gehen. Um die Funktion zu nutzen, wechseln Sie im Visual-Basic-Editor in das entsprechende Modul. Dort geben Sie im Deklarationsbereich folgende Anweisung ein:

Declare Function TermWin Lib ôUser32ô Alias ôExitWindowsExô  (MyVal N As Integer, M As Long) As Integer
Mit einer Deklaration stellen Sie Ihrer Anwendung Funktionen aus externen Bibliotheken zur Verfⁿgung. In diesem Fall handelt es sich um die Funktion ExitWindowsEx aus der Windows-Systembibliothek USER32.DLL. Da sich die Bibliothek im Systemordner befindet, ben÷tigen Sie keine weiteren Pfadangaben. Wir haben die Funktion einfacher WinTerm genannt. Diese Umbenennung kann bei Konflikten unter Funktionsnamen von Bedeutung sein, ist aber nicht zwingend notwendig. Nachdem Ihre Anwendung nun wei▀, um welche Funktion es sich handelt, wo sie zu finden ist und wie sie anzusprechen ist, k÷nnen Sie mit dem Listing im Kasten äWindows beenden in Excelô auf dieser Seite unten Ihr System herunterfahren. Das Listing liegt ⁿbrigens in Form eines TXT-Files auf der aktuellen WIN-Monats-CD. Die API-Funktionen geben typischerweise den Wert 0 oder 1 zurⁿck. Damit signalisieren sie den Erfolg oder Mi▀erfolg. Wenn beispielsweise ein Proze▀ auf einem h÷heren Sicherheitsniveau als Ihre Anwendung aktiv ist, wird er nicht auf Ihre Anforderung zum Beenden eingehen. Dann kann sich das Betriebssystem nicht selbst beenden; die Funktion gibt den Wert 1 zurⁿck. ExitWindowsEx ist recht vielseitig. Um beispielsweise anstelle eines kompletten Shutdown lediglich einen neuen Logon und das Beenden aller Anwendungen au▀er der eigenen auszul÷sen, rufen Sie die Funktion einfach wie folgt auf: