AW: VBA: Abstand von Bildschirmecke
09.06.2008 13:01:00
Bildschirmecke
Hallo
Das ist gar nicht so einfach, da Application.Top, .Width usw. sich nur auf das aktuelle Fenster beziehen, das muss jedoch nicht zwingend mit der Position des Fenster und dem Bildschirm übereinstimmen, das Fenster kann ja irgendwo sein.
Kommt hinzu, dass Application.WindowState = xlMaximized auch nicht mit den Bildschirmkoordinaten übereinstimmen muss, wenn z.B. die Taskbar immer sichtbar ist (und Platz wegnimmt :-) ) oder und WO die Taskbar platziert ist.
Wenn Sie unten angebracht ist, geht das irgendwie noch, wenn Sie dagegen oben angebracht ist, stimmen deine ganzen Berechnungen nicht mehr.
Das Auslesen der Bildschirmgrösse ist dann noch etwas anderes
Das mal als Beispiel
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Public Enum ScreenArgs
HORIZONTAL
VERTIKAL
End Enum
Public Function ScreenResolution(HV As ScreenArgs) As Long
If HV = 0 Or HV = 1 Then ScreenResolution = GetSystemMetrics(HV)
End Function
Sub Set_Zoom()
'Die Werte hinter .Zoom den eigenen Bedürfnissen anpassen
Select Case ScreenResolution(0)
Case 1600
ActiveWindow.Zoom = 150
Case 1280
ActiveWindow.Zoom = 125
Case 1024
ActiveWindow.Zoom = 100
Case 800
ActiveWindow.Zoom = 75
Case 640
ActiveWindow.Zoom = 50
End Select
End Sub
Sub print_Screeen()
Debug.Print ScreenResolution(0)
Debug.Print ScreenResolution(1)
End Sub
Nun kannst du zumindest rudimentär, unter Berücksichtigung der vorgenannten Einschränkungen, berechnen WO dein Cursor gerade ist
Gruss Rainer