• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Minimize en close button uitschakelen of verbergen.

Status
Niet open voor verdere reacties.

bgoo

Gebruiker
Lid geworden
9 mrt 2011
Berichten
61
De close button heb ik op deze manier weten we omzeilen.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Cancel = True

End Sub

Echter kan je nogsteeds minimaliseren en verkleinen. Dit wil ik niet mogelijk laten zijn.
Wat ook kan is zorgen dat het scherm in full screen naar boven verschuift zodat je simpelweg niet bij de knoppen kan.

Heeft iemand tips, bedankt!
 
Probeer onderstaande eens.
In ThisWorkbook.
Code:
Private Sub Workbook_WindowResize(ByVal Wn As Window)
 Wn.WindowState = xlMaximized
End Sub
 
Bedankt, maar dit werk niet op het programma zelf, alleen op de worksheet.
 
De Guru's van Mr.Excel hebben dit ook al 'ns behandeld. Klik hier voor het engelstalige draadje...

Groet, Leo
 
Ok super, maar codes met declare etc. Hoe werkt dat precies als ik vragen mag.

Bedankt!
 
Heb je enkele weken de tijd om dat uitgelegd te krijgen. Google maar eens op API.
 
Nougoed ik denk dat ik met mijn learningcurve het aardig snel onder de knie. Heb nog nooit gehoord van API maar als je me een kant op kan sturen zou het super zijn. Is API in excell zelf of?

Thanks!
 
Zou je een voorbeeldbestandje kunnen maken voor me?
Ik snap die functies met declare niet.

Dank!
 
Zet deze in een standaardmodule
Code:
Option Explicit

Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal _
    bRevert As Long) As Long
Declare Function DeleteMenu Lib "User32" (ByVal hMenu As Long, ByVal _
    nPosition As Long, ByVal wFlags As Long) As Long
Declare Function FindWindowA Lib "User32" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Const MF_BYPOSITION As Long = &H400
Const mlNUM_SYS_MENU_ITEMS As Long = 7 'min, max & close
'Const mlNUM_SYS_MENU_ITEMS As Long = 6 'min & max

Sub DisableActiveDialogMenuControls()
    Dim DialogCaption As String
    Dim lHandle As Long, lcount As Long
    On Error Resume Next
    DialogCaption = Application.Caption
    DialogCaption = DialogCaption & vbNullChar
    lHandle = FindWindowA(vbNullString, DialogCaption)
    If lHandle <> 0 Then
        For lcount = 1 To mlNUM_SYS_MENU_ITEMS
            DeleteMenu GetSystemMenu(lHandle, False), 0, MF_BYPOSITION
        Next lcount
    End If
End Sub

Sub EnableActiveDialogMenuControls()
    Dim lHandle As Long
    Dim DialogCaption As String
    On Error Resume Next
    DialogCaption = Application.Caption
    DialogCaption = DialogCaption & vbNullChar
    lHandle = FindWindowA(vbNullString, DialogCaption)
    GetSystemMenu lHandle, True
End Sub

En deze in ThisWorkbook
Code:
Private Sub Workbook_Open()
    DisableActiveDialogMenuControls
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    EnableActiveDialogMenuControls
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan