Toon posts:

Kruisje verbergen Excel Userform VBA

Pagina: 1
Acties:
  • 1.074 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik zit al uren te zoeken op internet en in de help van Excel, maar ik kan maar niet vinden hoe ik het kruisje in een userform kan verbergen (Userform van VBA). Graag zou ik ook willen weten hoe je de ALT-F4 functie kan uitschakelen.

Alvast bedankt,

Roel

P.S.

Ik hoop dat ik hem in de goede forum heb gezet.

Verwijderd

Kruisje verbergen binnen Excel weet ik ff niet, binnen VB erg makkelijk, maar daar heb je lekker veel aan...

[ALT][F4] uitschakelen gaat wel simpel:
code:
1
2
3
4
5
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
        Cancel = 1
    End If
End Sub


edit:
Dit topic hoort trouwens meer thuis in P&W

[ Voor 9% gewijzigd door Verwijderd op 23-03-2005 10:17 ]


Verwijderd

Topicstarter
Super bedankt, je ziet het kruisje nog wel, maar het werkt in ieder geval niet meer.

Roel

Verwijderd

Verwijderd schreef op woensdag 23 maart 2005 @ 10:22:
Super bedankt, je ziet het kruisje nog wel, maar het werkt in ieder geval niet meer.

Roel
in de userformmodule plaatsen:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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 Const WS_SYSMENU = &H80000
Private Const GWL_STYLE = (-16)

Private Sub UserForm_Initialize()
  Dim hWnd    As Long
  Dim lStyle  As Long
  
  Select Case Int(Val(Application.Version))
    Case 8
      hWnd = FindWindow("ThunderXFrame", Me.Caption)
    Case Is >= 9
      hWnd = FindWindow("ThunderDFrame", Me.Caption)
  End Select
  lStyle = GetWindowLong(hWnd, GWL_STYLE)
  SetWindowLong hWnd, GWL_STYLE, lStyle And Not WS_SYSMENU
End Sub

Verwijderd

Topicstarter
Dit werkt helemaal perfect. Super bedankt!!