Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Schließen (X) ausblenden?

    Betrifft: Schließen (X) ausblenden? von: HeinerB
    Geschrieben am: 28.08.2003 19:01:51

    Hallo VBA-Fans,

    ich möchte das Schließen-X in UserForms und in der eigenen Menüleiste ausblenden.
    Gibt es in VBA dazu eine Möglichkeit (die auch in 97 funktionieren sollte)?

    Vielleicht könntet ihr mir mit ein paar Zeilen Code aushelfen?

    Vielen Dank schon mal vorab für eure Mühe!

    Gruss, HeinerB

      


    Betrifft: AW: Schließen (X) ausblenden? von: PeterW
    Geschrieben am: 28.08.2003 19:07:42

    Hallo Heiner,

    hast du mal unter den Excel-FAQ (Link links von diesem Fenster) nachgeschaut? Zumindest für die Userform findest du dort die Antwort (Dialog - Userform).

    Gruß
    Peter


      


    Betrifft: Noch offen: X-Button ausblenden? von: HeinerB
    Geschrieben am: 28.08.2003 19:48:44

    Hallo Peter,

    danke für Deinen Tip (ich hatte noch nicht dort nachgeschaut).

    Leider hat sich mein Problem damit noch nicht gänzlich gelöst.
    Das Schließen per X-Button wird zwar verhindert, der Button allerdings noch angezeigt.

    Hast Du noch eine Idee?

    Danke und Gruss, Heiner


      


    Betrifft: AW: Schließen (X) ausblenden? von: K.Rola
    Geschrieben am: 28.08.2003 19:21:35

    Hallo,

    du willst doch sicher nur das Schließen über das X verhindern.

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then Cancel = True
    End Sub
    



    Gruß K.Rola


      


    Betrifft: Noch offen: X-Button ausblenden? von: HeinerB
    Geschrieben am: 28.08.2003 19:40:34

    Hallo K.Rola,

    vielen Dank für Deinen Tip.

    Das Schließen per X-Button wird durch Deine Zeilen perfekt verhindert.

    Leider löst das mein Problem noch nicht ganz, der X-Button soll (falls überhaupt möglich) komplett ausgeblendet werden.

    Hast Du dazu vielleicht noch eine Idee?

    Danke und Gruss, HeinerB


      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: Hajo_Zi
    Geschrieben am: 28.08.2003 19:48:25

    Hallo Heiner

    schaue mal hier

    Beispieldatei


    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: HeinerB
    Geschrieben am: 28.08.2003 19:54:11

    Hallo Hajo_Zi,

    keine schlechte Idee, aber...

    die Titelleiste wird genutzt, um (abhängig vom Inhalt einer Zelle) eine Mitteilung zu hinterlegen.

    Vielleicht gibt es ja noch eine Möglichkeit, um nur den X-Button auszublenden?

    Danke und Gruss, HeinerB


      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: Hajo_Zi
    Geschrieben am: 28.08.2003 19:57:33

    Hallo Heiner

    in VB ist das möglich. In VBA wird Dir wohl nichts anderes übrig bleiben als ein Label in der entsprechenden Farbe rüberzulegen.

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: AW: An Hajo,-"dumme Frage?" von: Stefan Braun
    Geschrieben am: 28.08.2003 20:43:37

    Hallo Hajo,
    tschuldigung, daß ich mich an Dich über diesen Weg wende, im Profile finde ich dich nicht
    eventuell habe ich auch etwas auf den Augen,- ist aber ein anderes Thema,

    Nun zu der Frage, -sehe Deine Antworten hier sehr oft, und verstehe nicht immer alles sofort ...- bin halt blond, deshalb die Fragen,- um zu lernen
    Wie lange hast du gebraucht um Dein Excel/VBA Wissensstand zu erreichen und wie hast du
    es erlernt, learning by doing oder einen konkreten Ausbildungsprozess durchlaufen, wenn ja wo wie ...,gibt es Typ`s um Excel/VBA "möglichst schnell" - ohne Sackgassen, wie eventuell ein Informatik Studium " zu lernen ?...

    Für alle anderen Mitleser,
    vielleicht habe ja auch ihr weitere Tipp zum schnellen lernen,
    einige habe ich schon gelesen und fand diese bisher auch recht gut...


    Danke im voraus,
    Stefan

    P.S. Sorry, das ich diesen Threat mißrauche


      


    Betrifft: AW: An Hajo,-"dumme Frage?" von: Hajo_Zi
    Geschrieben am: 28.08.2003 20:59:33

    Hallo Stefan

    ich habe bisher eigentlich vermutet das dieses Forums nicht von Spamversendern ausgelesen wird. Leider mußte ich mich diese Woche eines besseren belehren lassen. Aus diesem Grunde steht meine Mailanschrift nicht mehr im Profil. Sie ist nur über eine Umweg rauszufinden.

    Mit der VBA Programmierung habe ich 1999 angefangen als ich bei einer neuen Firma angefangen habe und dort ein VBA Programm zur Laserzeitberechnung erstellen sollte.

    Dazu habe ich mir ein Buch über VBA gekauft von Michael Kofler, der auch von vielen VBA Fachleuten empfohlen wird. Lehrgänge habe ich dazu nicht besucht. Das ist alles selber beigebracht.

    Einige Literatur gibt es auch im Internet
    http://www.ti5.tu-harburg.de/manual/vba5/httoc.htm

    http://www.excel-center.de/excel/handbuch.htm
    wobei ich diese selber noch nicht gelesen habe.

    Vieles lernt man auch durch die unterschiedlichen Foren, man muß sich nur die Mühe machen auch einige Beispiele nachzubauen und mal nachzuvollziehen was dort geschieht.

    Meine ersten Code waren natürlich voller select was aber in VBA zu 99% sinnlos ist. Man sollte schon von Anfang an versuchen darauf zu verzichten, man wird diese Angewohnheit schlecht wieder los.

    Einige meiner Beispiele habe ich auf meiner Homepage hochgeladen.

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: AW: An Hajo,-danke von: Stefan Braun
    Geschrieben am: 28.08.2003 21:19:07

    Vielen Dank für die schnelle Antwort,
    ich werde Deinen Rat befolgen und "selects" vermeiden, und auch das "Nachverfolgen", der Antworten der von weiteren Foren versuchen, wobei diese Forum hier nach meinen Sichtungen im VBA-Bereich das höchste Neveau in Sachen Kompetenz und Antwortdeziplin hat,- also hier lernen, -Dank auch hier an den Hausherrn Herrn Herber- und die Schulungshinweise lesen
    bis ich so weit bin hier anderen zu helfen, werde ich diesem Forum treu bleiben und mich,
    wenn ich es kann bei "einfachen Fragen" einbringen

    Danke und bis dann
    Stefan


      


    Betrifft: Danke für die Rückmeldung oT von: Hajo_Zi
    Geschrieben am: 28.08.2003 21:21:39




      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: HeinerB
    Geschrieben am: 28.08.2003 21:23:09

    Hallo Hajo_Zi,

    vielen Dank für Deine Mühe.

    Ich habe von einem Bekannten folgenden (funktionierenden) Code zugemailt bekommen:


    'Code um die Schließen-Schaltfläche ("X") gänzlich aus der Titelleiste zu entfernen

    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

    Private Declare Function DrawMenuBar Lib "user32" (ByVal _
    hwnd As Long) As Long

    Private Const GWL_STYLE As Long = -16
    Private Const WS_SYSMENU As Long = &H80000

    Private hWndForm As Long
    Private bCloseBtn As Boolean

    Private Sub UserForm_Initialize()
      If Val(Application.Version) >= 9 Then
        hWndForm = FindWindow("ThunderDFrame", Me.Caption)
      Else
        hWndForm = FindWindow("ThunderXFrame", Me.Caption)
      End If
      bCloseBtn = False
      SetUserFormStyle
    End Sub
    

    Private Sub SetUserFormStyle()
      Dim frmStyle As Long
      If hWndForm = 0 Then Exit Sub
      frmStyle = GetWindowLong(hWndForm, GWL_STYLE)
      If bCloseBtn Then
        frmStyle = frmStyle Or WS_SYSMENU
      Else
        frmStyle = frmStyle And Not WS_SYSMENU
      End If
      SetWindowLong hWndForm, GWL_STYLE, frmStyle
      DrawMenuBar hWndForm
    End Sub
    

    Private Sub optCloseOn_Click()
      bCloseBtn = True
      cmdBeenden.Cancel = True
      SetUserFormStyle
    End Sub
    

    Private Sub optCloseOff_Click()
      bCloseBtn = False
      cmdBeenden.Cancel = False
      SetUserFormStyle
    End Sub
    

    Private Sub CommandButton1_Click()
    Unload Me
    End Sub
    


    Vielleicht hat noch jemand irgendwann dieses Problem und kann damit etwas anfangen...

    Vielen Dank und Gruss, Heiner


      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: Hajo_Zi
    Geschrieben am: 28.08.2003 21:31:37

    Hallo Heiner

    Danke für den Code.

    Grußformel

    Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
    Bitte kein Mail, Probleme sollen im Forum gelöst werden.

    Microsoft MVP für Excel

    Das Forum lebt auch von den Rückmeldungen.


      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: K.Rola
    Geschrieben am: 28.08.2003 21:16:34

    Hallo,

    dazu benötigst du diese API- Funktionen:

    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

    weitere Infos ggf. unter www.allapi.net

    Gruß K.Rola


      


    Betrifft: AW: Noch offen: X-Button ausblenden? von: HeinerB
    Geschrieben am: 28.08.2003 21:34:39

    Hallo K.Rola,

    vielen Dank für Deine Antwort.

    Ich habe von einem Bekannten eine funktionierenden Code für das Ausblenden des X-Button zugemailt bekommen.

    Falls Du daran Interesse haben solltest, findest Du die Zeilen in meiner Rückantwort zu diesem Thema an Hajo_Zi.

    Noch einmal Danke!

    Gruss, HeinerB


     

    Beiträge aus den Excel-Beispielen zum Thema " Schließen (X) ausblenden?"