Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
744to748
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
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

userform schließen

userform schließen
15.03.2006 07:44:38
Stefan
Hallo,
ich möchte meine Userform ausschließlich über den dafür vorgesehenen Button schließen, nicht über das Kreuzchen rechts oben am Bildschirm.
Grundsätzlich gibt es hierzu auch einen Code, der mir auch bekannt ist. Nur brauch ich die Userform für eine Initialize Anweisung, oder gibt es eine Möglichkeit, auf eine Userform mehrere Makros zu legen.
Vielleicht kann man ja über Eigenschaften das Kreuzchen deaktivieren?
Wer kann mir hierzu helfen?
Auf jeden Fall schon mal besten Dank.
Gruß
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: userform schließen
15.03.2006 08:16:19
Hoffi
Hallo Stefan,
versuch mal dies (Userform ohne x-Button):
'Code in den Codeteil deiner Userform
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
Private Const GWL_STYLE = -&H10
Private Const WS_SYSMENU = &H80000
'Aufruf beim starten der Userform

Private Sub UserForm_Activate()
Dim lHwnd As Long, lStyle As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)
SetWindowLong lHwnd, GWL_STYLE, GetWindowLong(lHwnd, GWL_STYLE) And Not WS_SYSMENU
DrawMenuBar lHwnd
End Sub

Grüße
Hoffi
P:S: Rückmeldung wäre nett...
Anzeige
AW: userform schließen
15.03.2006 13:09:37
Stefan
Hallo Hoffi,
besten Dank für deine Ausführungen.
Leider hilft mir das nicht weiter.
Den mit deinem Makro "Private Sub UserForm_Activate()"
belegt du ja wieder die Userform, die ja mit "Privat Sub Userform1 Inititalize" belegen muss.
Und wenn ich die Userform mit "Activate" belege, kann ich doch nicht sie nicht gleichzeitig mit "Initialize" belegen, oder? - wenn ja wie geht das?
Ich dachte, man kann über "Eigenschaft" wie bei jedem Steuerungsmodul auch, das Häckchen rechts oben unterbinden oder zumindest funktionsuntüchtig machen.
Vielleich hast du hierzu eine Lösung?
Gruß
Stefan
Anzeige
AW: userform schließen
15.03.2006 16:56:59
Hoffi
Hallo Stefan,
bei VBA kann man leider nicht den Button wie bei VB6 weg machen.
Inizalize und activate kann man getrennt von einander belegen.
versuch mal(anstelle dem anderen)diesen Code, der reagiert nur auf den x-Button:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Cancel = 1
MsgBox "Bitte die Schaltfläche zum beenden benutzen!",64, "Programm beenden!"
End If
End Sub

Grüße
Hoffi
P.S. Rückmeldung wäre nett...

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige