Rubrik: Word | VB-Versionen: VBA | 31.05.16 |
VBA-Funktionen #4, Funktionen zur Verwendung in Multiscreen-Systemen (VBA, Word2007) Ein Modul, das verschiedene Funktionen zur Anwendung bei Multiscreen-Systemen enthält | ||
Autor: Dietrich Herrmann | Bewertung: | Views: 6.118 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | Beispielprojekt |
Wenn man mit Word auf einem Multiscreen-System arbeitet, ist es nicht ganz so einfach bspw. UserFormen so zu positionieren, dass es auf verschiedenen Monitoren gut zu verwenden ist.
Das beigefügte Modul "dhMultiScreen" enthält entsprechende Funktionen, die hauptsächlich auf API-Funktionen basieren. Ein Teil der Funktionen ist nach Recherchen aus dem Internet entnommen, ein weiterer Teil sind selbst hinzugefügte Funktionen.
Als Beispiel kann man recht leicht folgendes ausprobieren:
Dim screenRect As RECT Dim appF() As Variant, uf() As Variant Dim inScreen As Boolean Dim scrNr As Integer, i As Integer
Alle im System vorhandenen Monitore ermitteln:
' (es werden im 'MonitorArrray() As String' mit ihren Parametern gelistet)
setMonitorArray
Folgende Feststellungen evtl. im UserForm_Initialize-Event:
' Rechteck des Wordfensters appF = Array(Application.Left, Application.Top, _ Application.Left + Application.Width, Application.Top + Application.Height) ' debugRect appF ' bestimmen, auf welchem Bildschirm Word angezeigt wird For i = 0 To UBound(MonitorArray) screenRect = GetScreenParams(i) ' ScreenParameter des Screens mit Nummer i uf = Array(screenRect.Left, screenRect.Top, screenRect.Right, screenRect.Bottom) inScreen = GetRectInRectR(uf, appF) If inScreen Then scrNr = i + 1 Next
Der 'Praxiseinsatz' dieser Funktionen wird in einem nächsten Tipp zur Arbeit mit Word gezeigt.