Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Mappe in Vordergrund

Excel Mappe in Vordergrund
21.09.2022 15:42:04
Jonas
Hi zusammen,
ich habe mal wieder ein Problem :I
Und zwar habe ich eine Mappe die regelmäßig Userforms öffnet welche sofort nach dem Öffnen angezeigt werden sollen.
Wenn nun allerdings die Mappe minimiert ist während die UF geöffnet wird ist diese nicht direkt sichtbar.
Daher würde ich gerne mit einem Befehl die Excelmappe in den Vordergrund des PC's bringen sobald die UF geöffnet wurde damit man diese direkt sieht.
Ich hab schon eine weile gestöbert konnte aber leider keine für mich hilfreiche Lösung finden.
Danke für eure Hilfe. :)

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Mappe in Vordergrund
21.09.2022 16:37:43
Rudi
Hallo,
vielleicht

  Windows(ThisWorkbook.Name).WindowState = xlMaximized
vor dem Anzeigen der UF.
Gruß
Rudi
AW: Excel Mappe in Vordergrund
21.09.2022 17:24:06
Jonas
Ich habe es jetzt über diesen Code gemacht :)

Application.WindowState = xlMaximized

AW: Excel Mappe in Vordergrund
21.09.2022 17:18:29
Nepumuk
Hallo Jonas,
versuch es mal so:

Option Explicit
Private Declare PtrSafe Function GetForegroundWindow Lib "user32.dll" () As LongPtr
Private Declare PtrSafe Function SetForegroundWindow Lib "user32.dll" ( _
ByVal hwnd As LongPtr) As Long
Private Declare PtrSafe Function GetWindowThreadProcessId Lib "user32.dll" ( _
ByVal hwnd As LongPtr, _
ByRef lpdwProcessId As Long) As Long
Private Declare PtrSafe Function AttachThreadInput Lib "user32.dll" ( _
ByVal idAttach As Long, _
ByVal idAttachTo As Long, _
ByVal fAttach As Long) As Long
Private Declare PtrSafe Function ShowWindow Lib "user32.dll" ( _
ByVal hwnd As LongPtr, _
ByVal nCmdShow As Long) As Long
Private Const SW_MAXIMIZE = 3
Public Sub Excel_in_den_Vodergrund()
Dim lngptrHwnd As LongPtr
Dim lngThreadForeWindow As Long, lngThreadWindow As Long
lngptrHwnd = CLngPtr(Application.hwnd)
lngThreadWindow = GetWindowThreadProcessId(lngptrHwnd, ByVal 0&)
lngThreadForeWindow = GetWindowThreadProcessId(GetForegroundWindow(), ByVal 0&)
If lngThreadWindow = lngThreadForeWindow Then
Call SetForegroundWindow(lngptrHwnd)
Else
Call AttachThreadInput(lngThreadForeWindow, lngThreadWindow, 1&)
Call SetForegroundWindow(lngptrHwnd)
Call AttachThreadInput(lngThreadForeWindow, lngThreadWindow, 0&)
End If
Call ShowWindow(lngptrHwnd, SW_MAXIMIZE)
End Sub
Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige