Академический Документы
Профессиональный Документы
Культура Документы
Cmo funciona
Para este ejemplo usaremos un formulario vaco que al inciarse ejecutar una
macro que har lo siguiente:
1. Pondr la ventana de Excel en pantalla completa.
2. La ventana de Excel abierta se matendr en primer plano, provocando que
deje de funcionar la combinacin de teclas Alt + TAB.
Al cerrar el formulario se har el procedimieno contrario.
: Mdulo1
: 02/01/2015
#Else
Public Declare Function SetWindowPos _
Lib "user32" ( _
ByVal hwnd As Long, _
ByVal hwndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long) _
As Long
#End If
'
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
'
'Procedimiento que ser usado con True o False para indicar
'si la ventana de Excel se mantendr en primer plano
'
Sub ShowXLOnTop(ByVal OnTop As Boolean)
Dim xStype As Long
#If Win64 Then
Dim xHwnd As LongPtr
#Else
Dim xHwnd As Long
#End If
If OnTop Then
xStype = HWND_TOPMOST
Else
xStype = HWND_NOTOPMOST
End If
'
Call SetWindowPos(Application.hwnd, xStype, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
'
End Sub
'
'Llamamos el procedimiento con el valor True
'
Sub SetXLOnTop()
ShowXLOnTop True
End Sub
'
'Llamamos el procedimiento con el valor False
'
Sub SetXLNormal()
ShowXLOnTop False
End Sub
Anexos