Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1496to1500
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

Userform blendet Excel aus ; Anzeige in Taskleise?

Userform blendet Excel aus ; Anzeige in Taskleise?
16.06.2016 08:44:08
Aaron
Guten Morgen zusammen,
mit dem beigefügten Code lasse ich beim Öffnen der Datei ausschließlich die Userform anzeigen:
Private Sub Workbook_Open()
'ausschließlich Userform anzeigen
Application.Visible = False
End Sub
Dadurch wird aber auch das Excelsymbol in der Taskleiste ausgeblendet.
Ich sehe - bei mehreren geöffneten Programmen - demnach nicht, ob die Userform geöffnet ist oder nicht.
Die Userform soll aber als "stand alone" ohne Excelsheet im Hintergrund geöffnet sein.
Gibt es eine Möglichkeit, ein Icon (ggf. auch ein individualisiertes) in der Taskleiste anzeigen zu lassen?
Über

Private Sub CommandButton_Click()
Unload Me
Application.Visible = True
End Sub

blende ich die Userform wieder aus und aktiviere Excel.
Vielen Dank im Voraus für eure Rückmeldungen.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform blendet Excel aus ; Anzeige in Taskleise?
16.06.2016 13:02:13
Nepumuk
Hallo,
in das Modul des Userforms:
Option Explicit

Private Declare PtrSafe Function FindWindowA Lib "user32.dll" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As LongPtr
Private Declare PtrSafe Function GetWindowLongA Lib "user32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal nIndex As Long) As LongPtr
Private Declare PtrSafe Function SetWindowLongA Lib "user32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal nIndex As Long, _
    ByVal dwNewLong As LongPtr) As LongPtr
Private Declare PtrSafe Function ShowWindow Lib "user32.dll" ( _
    ByVal hwnd As LongPtr, _
    ByVal nCmdShow As Long) As Long

Private Const GC_CLASSNAMEUSERFORM As String = "ThunderDFrame"
Private Const GWL_STYLE As Long = -16
Private Const WS_EX_APPWINDOW As LongPtr = &H40000
Private Const SW_HIDE As Long = 0
Private Const SW_SHOW As Long = 5

Private Sub CommandButton1_Click()
    Call Unload(Object:=Me)
    Application.Visible = True
End Sub

Private Sub UserForm_Initialize()
    Dim lngptrHwnd As LongPtr, lngptrStyle As LongPtr
    lngptrHwnd = FindWindowA(GC_CLASSNAMEUSERFORM, Caption)
    Call ShowWindow(lngptrHwnd, SW_HIDE)
    lngptrStyle = GetWindowLongA(lngptrHwnd, GWL_STYLE)
    lngptrStyle = lngptrStyle Or WS_EX_APPWINDOW
    Call SetWindowLongA(lngptrHwnd, GWL_STYLE, lngptrStyle)
    Call ShowWindow(lngptrHwnd, SW_SHOW)
End Sub

Das Userform muss nichtmodal angezeigt werden !!!
Gruß
Nepumuk

Anzeige
AW: Userform blendet Excel aus ; Anzeige in Taskleise?
16.06.2016 17:00:16
Aaron
Hallo Nepumuk,
vielen Dank für deine Rückmeldung.
Ich schau mir das mal in Ruhe an und versuche, es in meinen Code einzubauen.
Falls was unklar ist melde ich mich nochmal.
Gruß
Aaron

AW: Userform blendet Excel aus ; Anzeige in Taskleise?
20.06.2016 23:25:04
Aaron
Hallo Nepumuk,
nochmals vielen Dank für deine Unterstützung.
Ich habe jetzt mal versucht, das ganze einzbauen, aber irgendwie steig ich nicht dahinter.
Wenn ich dich richtig verstanden habe, lege ich alles in ein neues Modul.
Aber wie spreche ich dann das Modul an?
Sorry, aber meine Kenntnisse in VBA hören da dann doch leider auf.
Vielen Dank im Voraus für deine Rückmeldung.

Anzeige
AW: Userform blendet Excel aus ; Anzeige in Taskleise?
21.06.2016 08:15:29
Nepumuk
Hallo,
der Code muss in das Modul des Userforms.
Gruß
Nepumuk

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige