gibt es eine Möglichkeit per vba zwei angeschlossene Monitore zu erkennen und per vba anzusprechen?
Danke.
VG Anja
Sub TestBeide_Bildschirme_einstellen()
'alle doppelten Dateien ausblenden und zweiten Bildschirm einrichten
Dim OrigW As Window, KlonW As Window
Dim ShJudoTimer As Worksheet, j
'Schließen aller Fenster von Thisworkbook bis auf 2
With ThisWorkbook
.Activate
If .Windows.Count
Um zwei angeschlossene Monitore in Excel VBA zu erkennen und zu steuern, kannst du folgende Schritte befolgen:
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu: Klicke auf Einfügen
> Modul
.
Kopiere den folgenden Code in das Modul:
Option Explicit
Private Declare Function EnumDisplayMonitors Lib "user32.dll" ( _
ByVal hdc As Long, _
ByRef lprcClip As Any, _
ByVal lpfnEnum As Long, _
ByVal dwData As Long) As Long
Private Declare Function GetMonitorInfoA Lib "user32.dll" ( _
ByVal hMonitor As Long, _
ByRef lpmi As MONITORINFO) As Long
Private Declare Function MonitorFromWindow Lib "user32.dll" ( _
ByVal hwnd As Long, _
ByVal dwFlags As Long) As Long
Private Type RECT
lngLeft As Long
lngTop As Long
lngRight As Long
lngBottom As Long
End Type
Private Type MONITORINFO
cbSize As Long
rcMonitor As RECT
rcWork As RECT
dwFlags As Long
End Type
Private Const MONITOR_DEFAULTTONEAREST = &H2
Public Sub MoveWindow()
' Dein Code, um die Fensterpositionen zu setzen
End Sub
Rufe die MoveWindow
-Prozedur in deinem Code auf, um die Fenster auf den jeweiligen Monitor zu verschieben.
MoveWindow
-Befehl, um spezifische Positionen für die Fenster zu definieren.Eine alternative Methode zur Darstellung von Excel-Dateien auf zwei Monitoren ist die Verwendung der Erweiterten Anzeige
-Funktion in Windows. Dadurch wird es möglich, eine Excel-Datei auf zwei Bildschirmen anzuzeigen, indem du einfach das Excel-Fenster auf den gewünschten Bildschirm ziehst.
Eine Excel-Datei auf zwei Bildschirmen anzeigen:
Um eine Datei auf zwei Bildschirmen gleichzeitig anzuzeigen, kannst du die Datei einfach auf dem ersten Monitor öffnen und dann ein neues Fenster der gleichen Datei auf dem zweiten Monitor öffnen.
Workbooks("DeineDatei.xlsx").Windows(1).Visible = True
Workbooks("DeineDatei.xlsx").Windows(2).Visible = True
VBA UserForm auf Monitor 1 zentrieren:
Damit eine UserForm immer auf Monitor 1 erscheint, kannst du den folgenden Code verwenden:
Private Sub UserForm_Initialize()
Call MoveUserform(Me)
End Sub
Application.WindowState
und Application.ScreenUpdating
, um die Performance deiner VBA-Anwendungen zu verbessern.1. Wie erkenne ich, ob ich einen zweiten Bildschirm angeschlossen habe?
Du kannst dies durch den Aufruf der EnumDisplayMonitors
-Funktion in deinem VBA-Code feststellen.
2. Wie zentriere ich ein Fenster auf dem Bildschirm?
Verwende die Move
-Methode und berechne die Position basierend auf der Monitorauflösung, um das Fenster genau in die Mitte zu setzen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen