Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Automatischer Zoom

Betrifft: Automatischer Zoom von: Bello
Geschrieben am: 20.09.2004 11:29:29

Hallo Forum,
ich habe eine Datei die aus dem Netzwerk von mehreren Rechnern genutzt wird.
Jeder dieser Rechner hat eine unterschiedliche Bildschirmauflösung.
Ist es möglich mit Hilfe eines Codes die Zoomgrösse automatisch der Bildschirmauflösung
anzupassen?

Danke für die mögliche Hilfe.

Gruß Bello

  


Betrifft: AW: Automatischer Zoom von: OttoH
Geschrieben am: 20.09.2004 12:06:28

Hallo Bello,

mit folgendem Programm kannst Du schon mal die Auflösung ermitteln:

Option Explicit

Declare
Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _
      ByVal nIndex As Long) As Long
  Declare 
Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
  Declare 
Function ReleaseDC Lib "user32" (ByVal hwnd As Long, _
      ByVal hdc As Long) As Long

  Const HORZRES = 8
  Const VERTRES = 10

  
Function ScreenResolution()
     Dim lRval As Long
     Dim lDc As Long
     Dim lHSize As Long
     Dim lVSize As Long
     lDc = GetDC(0&)
     lHSize = GetDeviceCaps(lDc, HORZRES)
     lVSize = GetDeviceCaps(lDc, VERTRES)
     lRval = ReleaseDC(0, lDc)
     ScreenResolution = lHSize & "x" & lVSize
  End Function


Sub GetScreenSize()
     MsgBox ScreenResolution()
  End Sub



Gruß OttoH


  


Betrifft: AW: Automatischer Zoom von: Bello
Geschrieben am: 20.09.2004 12:21:59

Hallo Otto,
ich habe dein Code eingefügt und der funzt irgentwie nicht!
Beschreibe mir bitte wie genau ich den einfügen Muss, ich htte ihn
in ein normales Modul eingefügt und da waren einige Zeilen Rot markiert!
Nur die Auflösung zu ermitteln bringt mich ja auch nicht weiter oder?
Oder hast Du da eine Idee?

Gruss Bello


  


Betrifft: AW: Automatischer Zoom von: OttoH
Geschrieben am: 20.09.2004 13:05:00

Hallo Bello,

erweitere das eine Programm wie folgt:

Sub GetScreenSize()
     MsgBox ScreenResolution()
     If ScreenResolution = "1280x1024" Then
            ActiveWindow.Zoom = 100
     ElseIf ScreenResolution = "1280x1024" Then
            ActiveWindow.Zoom = 75
     End If
  End Sub


Hier müssen noch alle bekannten Auflösungen eingefügt werden, dann sollte es klappen.


Gruß OttoH