|
Tipp 0320
|
UserForm verschieben verhindern
|
|
|
Autor/Einsender: Datum: |
|
Angie 17.03.2003 |
|
Entwicklungsumgebung: |
|
Excel 97 |
|
|
Um zu verhindern, dass eine UserForm verschoben werden kann, muss das Menü 'Verschieben'
entfernt werden. Dieses Beispiel zeigt, wie man das mit Hilfe von API-Funktionen
bewerkstelligen kann.
|
|
Code im Codebereich der UserForm |
|
|
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal _
hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal _
hMenu As Long, ByVal nPosition As Long, ByVal wFlags _
As Long) As Long
Private Const MF_BYCOMMAND = &H0
Private Const SC_MOVE = &HF010
Private Sub UserForm_Activate()
Dim hwndForm As Long
Dim hwndMenu As Long
hwndForm = FindWindow(vbNullString, Me.Caption)
If hwndForm <> 0 Then
hwndMenu = GetSystemMenu(hwndForm, 0)
If hwndMenu <> 0 Then
DeleteMenu hwndMenu, SC_MOVE, MF_BYCOMMAND
End If
End If
End Sub
|
|
|
|
|
|
Die im Download befindliche *.frm-Datei kann für Word und PowerPoint im
jeweiligen Programm im VB-Editor importiert werden.
|
|
Windows-Version |
95 |
|
|
98/SE |
|
|
ME |
|
|
NT |
|
|
2000 |
|
|
XP |
|
|
Vista |
|
|
Win
7 |
|
|
|
Anwendung/VBA-Version |
Access 97 |
|
Access 2000 |
|
Access XP |
|
Access 2003 |
|
Access 2007 |
|
Access 2010 |
|
|
Excel 97 |
|
Excel 2000 |
|
Excel XP |
|
Excel 2003 |
|
Excel 2007 |
|
Excel 2010 |
|
|
Word 97 |
|
Word 2000 |
|
Word XP |
|
Word 2003 |
|
Word 2007 |
|
Word 2010 |
|
|
PPT 97 |
|
PPT 2000 |
|
PPT XP |
|
PPT 2003 |
|
PPT 2007 |
|
PPT 2010 |
|
|
Outlook 97 |
|
Outlook 2000 |
|
Outlook XP |
|
Outlook 2003 |
|
Outlook 2007 |
|
Outlook 2010 |
|
|
|
|
Download (13,2 kB)
|
Downloads bisher: [ 1072 ]
|
|
|