| home |  
  

   © 2005 by Friedel Schmidt •  E-Mail  •                      Top  

   | impressum | feedback | home |  


Inhaltsverzeichnis

Suchen

Links
  

Bildschirmauflösung per API-Funktion ermitteln
Versionen: Excel 97

Die Aufgabe "Pixelbreite und -höhe des Bildschirms ermitteln" kann mit Hilfe einer API-Funktion gelöst werden.

Um API-Funktionen im VBA-Code einsetzen zu können, muß man zuerst angeben, in welcher Datei - oder genauer: in welcher Programmbibliothek - die Funktion gespeichert ist, wie sie heißt und welche Argumente sie erwartet. Das erreicht man mit einer "Declare"-Anweisung, die auf Modulebene noch vor jeglichem Prozedurcode eingegeben wird.

Option Explicit

Declare Function GetSystemMetrics _
    Lib "user32" _
    (ByVal n../index As Long) _
    As Long

Public Const BreitePix = 0
Public Const HoehePix = 1

Sub ScreenInfo()
Dim lngBreite As Long, lngHoehe As Long

    lngBreite = GetSystemMetrics(BreitePix)
    lngHoehe = GetSystemMetrics(HoehePix)
    MsgBox "Bildschirmauflösung:" & vbLf & vbLf & _
        "Breite: " & lngBreite & " Pixel" & vbLf & _
        "Höhe: " & lngHoehe & " Pixel"
End Sub


Die Prozedur macht Gebrauch von der API-Funktion "GetSystemMetrics", die sich in der Programmbibliothek "user32" (= Datei USER32.DLL) befindet. Die Funktion erwartet einen Parameter namens "n../index" und das Funktionsergebnis ist vom Typ "Long".

All Angaben werden VBA in der Declare-Anweisung mitgeteilt. Mit dem Funktionsparameter wird in diesem Fall angegeben, ob die Bildschirmbreite oder die Bildschirmhöhe ausgelesen werden soll. Um den Code besser lesbar zu machen, verwendet man dafür Variablen (Im Beispiel "BreitePix" sowie "HoehePix").