Userform anhand der Bildschirmauflösung zoomen

 

Userforms werden unabhängig von der Bildschirmauflösung immer mit dem selbern Zoomfaktor angezeigt. Das bedeutet, dass Userforms, welche mit einer Bildschirmauflösung von 1600 x 1200 Punkten entwickelt wurden auf einem Computer mit einer Auflösung von 1024 x 768 überdimensional groß erscheinen.

Um dieses Problem zu umgehen, muss abhängig von der gewählten Auflösung die Userform dynamisch gezoomt werden.

Mit folgendem VBA-Code lässt sich dies realisieren.
Erfassen Sie den Code in einem Code-Modul.

 


'** API-Funktion zum Auslesen der Bildschirmauflösung
Public Const SM_CXSCREEN = 0
Public Const SM_CYSCREEN = 1
Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As LongAs Long


Sub start_zoom()

'** Dimensionierung der Bariablen
Dim Y_Resol_Std '100 % Standard-Auflösung
Dim Y_Resol 'ausgelesene Auflösung
Dim resol 'umgerechnete Auflösung

'** Zoomfaktor manuell vorgeben
resol = 100

'** Standardgröße festlegen (Höhe 1024 = 100%)
Y_Resol_Std = 1024

'** Auslesen der Y-Resolution
Y_Resol = GetSystemMetrics(SM_CYSCREEN)

'** Prozentuale Umrechnung der ausgelesenen Resolution in Bezug
'** auf die Standard Y-Resolution
resol = Y_Resol * 100 / Y_Resol_Std

'** Zoomen der Userform
frmForm.Zoom = resol

'** Größe der Userform anpassen
frmForm.Width = frmForm.Width * resol / 100
frmForm.Height = frmForm.Height * resol / 100

'** Userform anzeigen
frmForm.TextBox1.Value = resol
frmForm.Show

End Sub

 



Damit der Code funktioniert, müssen Sie eine UserForm mit der Bezeichnung "frmForm" anlegen, auf der Sie beliebige Steuerelemente zu Testzwecken plazieren können.

 

   

Excel-Inside auf FacebookExcel-Live News blogExcel-Inside RSS-FeedMail an Excel-InsideTwitter Account für Excel-InsideMail an Excel-Inside

Office Programmierung

Excel Auftragsprogrammierung

Access Auftragsprogrammierung

Word Auftragsprogrammierung

Outlook Auftragsprogrammierung

 

 

 

 




   
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013
Excel-Inside Newsletter abonnieren
   

Backlink  

ERROR: PAGE_URL belons not to given domain: 573001800