** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Abrir aplicación con tamaño y posición
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Abrir aplicación con tamaño y posición

 Responder Responder
Autor
Mensaje
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Abrir aplicación con tamaño y posición
    Enviado: 03/Marzo/2022 a las 19:11
Buenas.
Cómo puedo abrir una aplicación con un tamaño de ventana y posición determinados?

Gracias.


Editado por Nomada - 04/Marzo/2022 a las 06:45
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 05/Marzo/2022 a las 11:01
Veamos.
Como ahora las pantallas son anchas, me gustaría desde un formulario de una base de datos de Access en la parte derecha, abrir con un botón Excel, un navegador, o cualquier aplicación en la izquierda. Pero, cómo indicarle desde el botón del formulario de Access, el tamaño y su posición de la ventana de la nueva aplicacion.?.

Un saludo.


Editado por Nomada - 05/Marzo/2022 a las 23:32
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14736
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Marzo/2022 a las 09:59
A ver si esto te sirve

#If Win64 Then
    Private Declare PtrSafe Sub SetWindowPos Lib "user32" (ByVal hwnd&, ByVal hWndInsertAfter&, ByVal x&, ByVal y&, ByVal cx&, ByVal cy&, ByVal wFlags&)
    Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#Else
    Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd&, ByVal hWndInsertAfter&, ByVal x&, ByVal y&, ByVal cx&, ByVal cy&, ByVal wFlags&)
    Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#End If

Global Const HWND_TOP = 0
Global Const SWP_NOZORDER = &H14

Function SizeAccess(cx As Long, cy As Long, cHeight As Long, cWidth As Long)
    On Error GoTo ErrorHandler

    Dim h    As Long
   
    h = Application.hWndAccessApp
    
    SetWindowPos h, HWND_TOP, cx, cy, cWidth, cHeight, SWP_NOZORDER

ExitProcedure:
    Exit Function

ErrorHandler:
    MsgBox "Error!!"
    Resume ExitProcedure
End Function
Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Marzo/2022 a las 10:29
Gracias Xavi, pero creo que no me he explicado.
Tengo un base de datos en Access. Cuando la abro, ella sola se sitúa en el lado derecho con un tamaño predeterminado. Ahora deseo que al abrir otra aplicación (Excel, Navegador, Bloc de notas, etc.) desde un botón de comando perteneciente a un formulario de la base de datos, su ventana se abra a la izquierda y con un tamaño dado por mi.

Poniendo de ejemplo el siguiente código donde se abre la web mvp-access desde el navegador Edge. ¿Cómo le diría, utilizando un botón de comando, que lo abriera en una ventana a la izquierda y con un tamaño dado?

Shell "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe http://www.mvp-access.com/foro/access-y-vba_forum1.html"

Un saludo.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14736
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Marzo/2022 a las 15:02
Pues buscando, justo después del Shell, el Handle de la aplicación que acabas de abrir y utilizar la misma API SetWindowPos para posicionarla.

Deberás buscar como localizar una determinada ventana de las que tienes abiertas. Se que lo tenia por algún sitio pero ahora voy pillado de tiempo.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
Nomada Ver desplegable
Colaborador
Colaborador


Unido: 03/Julio/2011
Localización: España
Estado: Sin conexión
Puntos: 1720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita Nomada Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 06/Marzo/2022 a las 18:48
Gracias Xavi.
No entiendo mucho lo que dices, y como no me corre prisa, cuando encuentres el código te agradecería que me lo enseñes.
De nuevo gracias

Editado por Nomada - 07/Marzo/2022 a las 06:18
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable