Abrir dos ventanas del explorador en primer plano...

Dudas sobre cualquier tema relacionado con Access que no tenga cabida expresa en los otros hilos
Rafael
Nivel 5
Mensajes: 153
Registrado: Dom Dic 27, 2015 10:33 am

Abrir dos ventanas del explorador en primer plano...

Mensajepor Rafael » Dom Jul 22, 2018 12:27 am

Hola a todos. A ver si alguien me puede decir cómo hacer lo que pretendo.
En un formulario de ACCESS he dispuesto dos etiquetas en cuyo evento Al hacer clic me abren sendos exploradores mostrándome lo que quiero. Lo hago con el método simplérrimo:

Call Shell("C:\Windows\explorer.exe " "C:\CARPETA X", 1)

Y

Call Shell("C:\Windows\explorer.exe " "C:\CARPETA Z", 1)

La cuestión es que al hacer clic en la primera etiqueta efectivamente hace lo que quiero: abrirme el explorer mostrándome el contenido de la CARPETA X en primer plano, superponiéndola al propio formulario de Access; el problema viene cuando al hacer clic en la segunda el explorador me muestra en primer plano el contenido de la CARPETA Z, dejando el que me muestra el de la carpeta X en muy segundo plano, detrás incluso de ACCESS, ¿no habría forma de que se me muestren en primer plano, encima de la ventana de ACCESS, las dos carpetas: X y Z?

He intentado abrir con métodos distintos: presionando Mayú... Ctrl... ambas a la vez... combinando con la tecla de Windows... pero nada: no consigo el efecto deseado :?:

Gracias por leerme en cualquier caso. Buenas noches.

Avatar de Usuario
Neckkito
Moderador
Mensajes: 752
Registrado: Dom Oct 25, 2015 3:42 pm

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor Neckkito » Dom Jul 22, 2018 11:29 am

Hola!

Desde el momento en que utilizas Shell estás pasando el control del objeto, en este caso un Explorador, de Access a la aplicación que por defecto abre y gestiona susodicho objeto. Es decir, que pasas el testigo de la "gestión del comportamiento del objeto" desde Access a, en este caso, el navegador.

Dicho de otra manera, desde Access poca cosa más puedes gestionar.

¿Quién podría gestionar el comportamiento de las ventanas que estás abriendo, desde Access? La API de Windows, a través de su identificador Hwnd. Pero eso ya pasa a jugar en otra liga. Quizás por Internet podrías encontrar algún ejemplo de alguna API que maneje las ventanas y las sitúe en primer plano, pero yo lo desconozco. Ten en cuenta, además, los problemas de las API's entre sistemas de 32 y 64 bits (que te obligarían a utilizar condicionales de compilación, según cómo lo tengas).

En fin, que poco más puedo decirte sobre el tema. Quizás alguien que haya trabajo con esto pueda darte una respuesta más concreta.

Saludos.
Access MVP 2017-2019
http://bit.ly/NckAccess

Rafael
Nivel 5
Mensajes: 153
Registrado: Dom Dic 27, 2015 10:33 am

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor Rafael » Dom Jul 22, 2018 11:46 am

Ufffff! Demasiado para mi body, en cualquier caso gracias Miquel... la verdad es que no creí que fuese tan complicado: siempre pensé que habría algún método mágico de combinación de teclas que solucionase el tema... en fin... :mrgreen:

Edito para añadir _y es que, Miquel, soy un poco-bastante terco :lol: -:
Siguiendo la pista de esta página web_ https://www.softzone.es/2016/10/02/como-abrir-varias-ventanas-a-la-vez-del-explorador-de-archivos-de-windows-en-la-ruta-deseada/-, me he creado un bat con esta estructura:

@echo off
Start C:\NombreCarpeta1
Start C:\NombreCarpeta2


Y chufla... el problema está cuando, como es obligado en mi caso, tengo que intercalar un espacio blanco en el nombre de la carpeta, por ejemplo: C:\Nombre Carpeta 1 -... y no vale como en VBA sustituir el espacio en blanco por un guión bajo ;) ...- y el segundo tema sería: ¿cómo diantres integro un bat en el formulario? ...

pitxiku
VIP
Reto01
Mensajes: 175
Registrado: Sab Sep 30, 2017 6:23 pm

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor pitxiku » Lun Jul 23, 2018 6:44 pm

Si puedes abrir las 2 ventanas a la vez, ¿por qué no lo haces con Shell en Access? Usas una única etiqueta, juntas las 2 líneas, y en un principio el resultado es el mismo que el bat.

Para lo otro, la respuesta la tienes en cómo colocas a la carpeta en el Shell: con comillas dobles:

Start "C:\Nombre de la carpeta"

Rafael
Nivel 5
Mensajes: 153
Registrado: Dom Dic 27, 2015 10:33 am

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor Rafael » Jue Jul 26, 2018 6:21 am

Muchas gracias, pitxiku, tienes toda la razón cuando me dices: ¿por qué no lo haces con Shell en Access? Usas una única etiqueta, juntas las 2 líneas, y en un principio el resultado es el mismo que el bat.. Claro que sí: funcionó!!! Como también funcionó encerrando entre comillas dobles el invento:

Call Shell("C:\Windows\explorer.exe " & DLookup("Letra", "T_personalizacion") & ":\GESTION DE EXPEDIENTES\EXPEDIENTES ACTIVOS", 1)
Call Shell("C:\Windows\explorer.exe " & DLookup("Letra", "T_personalizacion") & ":\GESTION DE EXPEDIENTES\HISTORICO DE EXPEDIENTES", 1)


El único problema es que al ejecutar la doble línea con el Shell, la segunda ventana pasa a ser la primera (pasa a primer plano) dejando la segunda en un segundo plano tras la primera e, incluso, detrás de Access (aunque accesible desde la barra de tareas)... y es que como ya me decía Neckito -y lo he asumido plenamente- al ejecutar el Shell saco de Access mi problema para llevarlo a Windows y en manos Windows queda...

Por mí tema zanjado. No merece la pena buscar soluciones mágicas que funcionarían hasta que, con cualquier actualización del S.O., dejen de hacerlo.

P.S.- Si se me permite la broma todo esto de la Ventana 1 y la Ventana 2 me ha recordado la célebre escena entre Harpo y Groucho en Una noche en la ópera: La parte contratante de la primera parte será considerada la parte contratante de la primera parte y... [https://www.youtube.com/watch?v=4XEp-mZ2bG4] :lol: Pido de nuevo perdón por la broma por supuesto que nada acorde con la seriedad de este foro...

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 953
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor Sveinbjorn » Vie Ago 10, 2018 10:09 pm

Hola Rafael!

estaba revisando temas "antiguos" que me pillaron de vacaciones, y aunque sea una "perugrullada", ¿ponerlo así (invirtiendo el orden de apertura de las carpetas) no te soluciona el problema de la apertura de las ventanas?:

Código: Seleccionar todo

Call Shell("C:\Windows\explorer.exe " & DLookup("Letra", "T_personalizacion") & ":\GESTION DE EXPEDIENTES\HISTORICO DE EXPEDIENTES", 1)
Call Shell("C:\Windows\explorer.exe " & DLookup("Letra", "T_personalizacion") & ":\GESTION DE EXPEDIENTES\EXPEDIENTES ACTIVOS", 1)


:lol: :lol: :lol:
Sveinbjorn El Rojo

Rafael
Nivel 5
Mensajes: 153
Registrado: Dom Dic 27, 2015 10:33 am

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor Rafael » Sab Ago 11, 2018 1:23 pm

Hola bienvenido, Diego :)

Realmente el tema ya lo tenía cerrado pero aún así he intentado hacer lo que me decías por si algún extraño milagro ocurría lo que cuando escribí la pregunta pretendía: que se presentasen en primer plano, simultáneamente, las dos ventanas llamadas a través del Shell, pero lo que ha sucedido es que la segunda ventana ha pasado a ser la primera -primer plano- y la primera la segunda -segundo plano-.

Ya digo: esto cada vez se parece más al diálogo de Una noche en la ópera... :lol: :lol: :lol: :lol:

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 953
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Abrir dos ventanas del explorador en primer plano...

Mensajepor Sveinbjorn » Sab Ago 11, 2018 10:28 pm

Vale, fallo mío, había entendido que querías hacer otra cosa... :oops:
Sveinbjorn El Rojo


Volver a “Cajón de sastre”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado