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

Code zusammenfügen?

Code zusammenfügen?
Mark
Hallo,
kann man den folgenden Code irgendwie zusammenfassen? Die Declaration oben muß so bleiben, dass ist klar. Kann man aber nicht den Inhalt von "Sub Kreuz_weg" in diesen Part einbauen?

Private Sub UserForm_Initialize()
Call Kreuz_weg(Me)
End Sub

Danke für jede Antwort.
-Mark-
Hier der Quellcode:

Option Explicit
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
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)
Private Sub UserForm_Initialize()
Call Kreuz_weg(Me)
End Sub
Sub Kreuz_weg(objUF As Object)
Dim hwnd As Long, lStyle As Long
Select Case Int(Val(Application.Version))
Case 8
hwnd = FindWindow("ThunderXFrame", objUF.Caption)
Case 9 To 11
hwnd = FindWindow("ThunderDFrame", objUF.Caption)
End Select
lStyle = GetWindowLong(hwnd, 0)
SetWindowLong hwnd, GWL_STYLE, lStyle Or WS_MAXIMIZEBOX
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code zusammenfügen?
15.02.2006 15:57:46
Peter
Hallo Mark,
so würde es ebenso gehen:

Private Sub UserForm_Initialize()
Dim hwnd As Long, lStyle As Long
  Select Case Int(Val(Application.Version))
    Case 8
      hwnd = FindWindow("ThunderXFrame", objUF.Caption)
    Case 9 To 11
      hwnd = FindWindow("ThunderDFrame", objUF.Caption)
  End Select
lStyle = GetWindowLong(hwnd, 0)
SetWindowLong hwnd, GWL_STYLE, lStyle Or WS_MAXIMIZEBOX
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Code zusammenfügen?
15.02.2006 16:02:29
Mark
Hallo Peter,
so hatte ich es auch schon probiert! Bekomme aber eine Fehlermeldung: Variable nicht deklariert!
Gruß
-Mark-
AW: Code zusammenfügen?
15.02.2006 17:09:41
Peter
Hallo Mark,
irgend ein Objekt in deiner UserForm muss offensichtlich objUF heißen.
Sei es das gesamte UserForm(ular) oder ein Label.
Jedenfalls irgendein Objekt, das mit .Caption angesprochen werden kann.
Das wäre meine (bestimmt nicht endgültige) Erklärung.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Code zusammenfügen?
15.02.2006 17:44:33
Peter
Hallo Mark,
da du das Schließen-Kreuz verschwinden lassen willst, muss natürlich dein UserForm(ular) objUF heißen.
Dann bekommst du auch kene Fehler-Meldung mehr.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
AW: Code zusammenfügen?
15.02.2006 18:24:19
Mark
Hi Peter,
bei mir klappt es immer noch nicht. Habe jetzt mal ein allgemeines Beispiel mit den Änderungen hochgeladen.
Gruß
-Mark-
Hier der LINK:
https://www.herber.de/bbs/user/31069.xls
AW: Code zusammenfügen?
15.02.2006 18:45:51
Mark
Hallo Sven,
danke für deine Antwort, bzw. deine Lösung. Diese war mir bekannt!
Meine Anforderung an die Userform ist aber die, dass das X wirklich weg muß!
-und zwar mit dem zuvor genannten Code!
Gruß
-Mark-
Anzeige
AW: Code zusammenfügen?
15.02.2006 18:57:51
Sven
"Meine Anforderung an die Userform ist aber die, dass das X wirklich weg muß!"
Kann mir keinen Grund vorstellen!
mfg Sven
AW: Code zusammenfügen?
15.02.2006 19:37:35
Mark
Drei Gründe wären zum Beispiel...
1. Optik (X stört mich)
2. Warum muß da ein Knopf (X) sein, wenn er keine Funktion haben soll
3. Man soll die Userform nur über CommandButton verlassen können
Gruß
-Mark-
AW: Code zusammenfügen?
15.02.2006 19:42:53
Sven
1. Optik (X stört mich)
Muss man akzeptieren, dann solltest du kein Windows verwenden,
in fast jedem Fenster gibt es ein Schließkreuz.
2. Warum muß da ein Knopf (X) sein, wenn er keine Funktion haben soll
Dieser "Knopf" hat bei Windows die Funktion, das Fenster zu schließen.
Standardmäßig hat der in einer Userform auch diese Funktion.
3. Man soll die Userform nur über CommandButton verlassen können
Das widerspricht allen Windows- Konventionen. Warum müssen VBA- Anfänger
immer alles anders machen wollen?
mfg Sven
Anzeige
AW: Code zusammenfügen?
15.02.2006 21:18:50
Peter
Hallo Mark,
ich kann die Ursache dafür, dass bei deinem UserForm(ular) das Schließen-Kreuz NICHT weg ist, nicht sehen.
Versuch mal meine Version, bei mir kommt das UF ohne Kreuz.
https://www.herber.de/bbs/user/31076.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Code zusammenfügen?
16.02.2006 14:41:44
Mark
Hallo Peter,
dein Beispiel funktioniert!
Nochmal vielen Dank!
Gruß
-Mark-

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige