I can not find "movable" property for the form. So, how can i prevent user
from moving it around?
Thanks
> I can not find "movable" property for the form. So, how can i prevent user
> from moving it around?
> Thanks
*** Place this code In a User Form ***
Option Explicit
Private Sub UserForm_Initialize()
Call RemoveCaption(Me)
End Sub
*** Place this code In a Module ***
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
Sub RemoveCaption(objForm As Object)
Dim lStyle As Long
Dim hMenu As Long
Dim mhWndForm As Long
If Val(Application.Version) < 9 Then
mhWndForm = FindWindow("ThunderXFrame", objForm.Caption) 'XL97
Else
mhWndForm = FindWindow("ThunderDFrame", objForm.Caption)
'XL2000+
End If
lStyle = GetWindowLong(mhWndForm, -16)
lStyle = lStyle And Not &HC00000
SetWindowLong mhWndForm, -16, lStyle
DrawMenuBar mhWndForm
End Sub
Sub ShowForm()
UserForm1.Show False
End Sub
gwoodby@gmail.com - 13 Nov 2007 18:05 GMT
On Nov 13, 11:54 am, gwoo...@gmail.com wrote:
> > I can not find "movable" property for the form. So, how can i prevent user
> > from moving it around?
[quoted text clipped - 56 lines]
>
> End Sub
Found it on the internet and it works, :)
There is no simple way to do this. Which begs the question, why would you
want to prevent the user from moving the form? Personally, I would not
appreciate it if some program locked up display positions.
If you want the form top open at a particular location, such as next to a
specific cell, see the code at
http://www.cpearson.com/Excel/FormPosition.htm .
If you want to keep the form within the bounds of the main Excel window or
the window of a workbook, see the code at
http://www.cpearson.com/Excel/SetParent.aspx .

Signature
Cordially,
Chip Pearson
Microsoft MVP - Excel, 10 Years
Pearson Software Consulting
www.cpearson.com
(email on the web site)
>I can not find "movable" property for the form. So, how can i prevent user
> from moving it around?
> Thanks
Why would you need to prevent that? Is business logic dependent on the x,y
position of the top-left?

Signature
Tim Zych
SF, CA
>I can not find "movable" property for the form. So, how can i prevent user
> from moving it around?
> Thanks
boris - 13 Nov 2007 18:14 GMT
I am trying to prevent user from seeing the spreadsheet, so the form will
cover it up
> Why would you need to prevent that? Is business logic dependent on the x,y
> position of the top-left?
>
> >I can not find "movable" property for the form. So, how can i prevent user
> > from moving it around?
> > Thanks
Bill Renaud - 13 Nov 2007 19:24 GMT
<<I am trying to prevent user from seeing the spreadsheet, so the form will
cover it up.>>
Why not just hide the worksheet, until the form is dismissed?

Signature
Regards,
Bill Renaud