Claro que es posible. El metodo se llama "Always on top" (primer resultado). Debes hacer un módulo de macros en tu archivo, y colocas este código: Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOACTIVATE = &H10 Private Const SWP_SHOWWINDOW = &H40 Private Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE Private Declare Function SetWindowPos Lib "user32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, _ y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Sub Encima_de_todo() MakeNormal (Application.hwnd) End Sub Sub Volver_a_Modo_Normal() MakeTopMost (Application.hwnd) End Sub Public Sub MakeNormal(Handle As Long) '// Replaces the window in the ZOrder SetWindowPos Handle, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS End Sub Public Sub MakeTopMost(Handle As Long) '// Sets the window in the ZOrder SetWindowPos Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS End Sub
Hola!!! Gracias por tu respuesta!! Y perdona mi ignorancia pero lo he intentado de mil maneras y la verdad............no se como crear un modulo de macros!!!!!! Seguro que es muy sencillo pero no lo consigo :S Te agradeceria una aclaración ya que en mi trabajo utilizo dos pantallas y dos programas a la vez y necesito tener siempre visible la ventana del Word para poder anotar cosas y hacer un "copiar y pegar" continuamente. He de hacerlo muy rapido y me retrasa muchisimo el echo de que cada vez que "pego" me desaparezca el Word ..... :S:S:S Ahora no te sabria decir que version de Word es pero el sistema operativo es el 98, asi hazte una idea de lo antiguo que es :( Gracias !! Un saludo!
'Checa estos dos videos: 'http://www.zshare.net/download/7873218931930554/ 'http://www.zshare.net/download/78732217df6faff4/ ' 'TOMA ESTAS MACROS. 'HICE UNA MODIFICACIÓN PARA QUE FUNCIONE EN WORD. Public hwnd_Ventana As Long Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOSIZE = &H1 Private Const SWP_NOACTIVATE = &H10 Private Const SWP_SHOWWINDOW = &H40 Private Const TOPMOST_FLAGS = SWP_NOMOVE Or SWP_NOSIZE Private Declare Function GetForegroundWindow Lib "User32" () As Long Private Declare Function SetWindowPos Lib "User32" _ (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, _ y, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Sub Volver_a_Modo_Normal() MakeNormal (hwnd_Ventana) End Sub Sub Encima_de_todo() hwnd_Ventana = GetForegroundWindow() MakeTopMost (hwnd_Ventana) End Sub Public Sub MakeNormal(Handle As Long) '// Replaces the window in the ZOrder SetWindowPos Handle, HWND_NOTOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS End Sub Public Sub MakeTopMost(Handle As Long) '// Sets the window in the ZOrder SetWindowPos Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS End Sub
Muchisimas gracias!!! Gracias por tan fantástica explicación y gracias por el tiempo que te has tomado!! Esta semana tengo fiesta así que tendré que esperar para probarlo en el word 97 pero siguiendo tus pasos estoy seguro de que serà facilísimo. GRACIAS DE NUEVO!!
2 comentarios
Buenas tardes, he buscado una macro que realice esta función, pero podrías decirme como indicarle a excel o a word cómo se ejecuten estas instrucciones al momento de cargar el archivo y dejarlo siempre por encima de las demás aplicaciones?Gracias, espero que me puedas ayudarMi nombre es Carlos Hdz - carlos hernandez
puedes grabar las macros respectivas en el libro personal de macros, tanto en word como en excel, y agregar un incono en la barra de herramientas de excel o word, para asignarle la ejecucion de la macro, de tal forma que funcionaria con todos los archivos. Si no sabes como haces esto, el lunes te digo. (perdon por la falta de tildes) - caranbis
Buenas tardes, he buscado una macro que realice esta función, pero podrías decirme como indicarle a excel o a word cómo se ejecuten estas instrucciones al momento de cargar el archivo y dejarlo siempre por encima de las demás aplicaciones?Gracias, espero que me puedas ayudarMi nombre es Carlos Hdz - carlos hernandez
puedes grabar las macros respectivas en el libro personal de macros, tanto en word como en excel, y agregar un incono en la barra de herramientas de excel o word, para asignarle la ejecucion de la macro, de tal forma que funcionaria con todos los archivos. Si no sabes como haces esto, el lunes te digo. (perdon por la falta de tildes) - caranbis