Abrir un libro de trabajo en segundo plano
Resuelto
zapp56
Mensajes publicados
26
Fecha de registro
Estado
Miembro
Última intervención
-
zapp56 -
zapp56 -
Hola a todos,
Actualmente estoy desarrollando una aplicación en VBA Excel que utiliza varias bases de datos.
He buscado una solución para este problema, pero sin éxito, ya que la descripción me lleva a "cómo ocultar un libro".
Tengo un userform como interfaz cuyo código verifica si la BBDD ya está abierta antes de abrirla para explotarla.
Si está cerrada al principio, entonces la cerrará después, hasta aquí todo va bien.
Si está abierta al principio, quiero que permanezca abierta al final, pero en segundo plano.
Sin embargo, después del procesamiento de datos, la BBDD permanece en primer plano y oculta el userform.
He intentado usar Activate en mi primer libro, pero no cambia nada. El xlMinimize no es una opción, solo quiero volver a poner el libro principal en primer plano junto con el userform.
¿Alguna idea, por favor?
Gracias de antemano.
Actualmente estoy desarrollando una aplicación en VBA Excel que utiliza varias bases de datos.
He buscado una solución para este problema, pero sin éxito, ya que la descripción me lleva a "cómo ocultar un libro".
Tengo un userform como interfaz cuyo código verifica si la BBDD ya está abierta antes de abrirla para explotarla.
Si está cerrada al principio, entonces la cerrará después, hasta aquí todo va bien.
Si está abierta al principio, quiero que permanezca abierta al final, pero en segundo plano.
Sin embargo, después del procesamiento de datos, la BBDD permanece en primer plano y oculta el userform.
He intentado usar Activate en mi primer libro, pero no cambia nada. El xlMinimize no es una opción, solo quiero volver a poner el libro principal en primer plano junto con el userform.
¿Alguna idea, por favor?
Gracias de antemano.
5 respuestas
-
Hola,
@yg_be espero que entiendas que los datos que manejo son sensibles y muy confidenciales, por eso no puedo divulgar mi código, habría tenido que crear un nuevo código para poder publicarlo.
A todos, me acabo de dar cuenta de que mi problema es un error de comprensión del método windowstate xlminimized.
De hecho, creía que este método actuaba sobre el tamaño de la ventana y no sobre su estado.
Así que xlminimized es realmente la solución a mi problema.
Quiero disculparme por el tiempo que les he hecho perder, pero también agradecerles por su espontaneidad en la ayuda que quisieron brindarme. Les deseo una buena continuación, nuevamente disculpas. -
yg_be Mensajes publicados 23437 Fecha de registro Estado Colaborador Última intervención Embajador 1 588
Hola,
¿qué software utilizas para tus bases de datos?
¿en qué hoja se encuentra el código VBA?
muéstranos el código que intentaste (Activate en mi primer libro). utiliza las etiquetas de código cuando compartas código: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code -
Hola, y gracias por tu interés.
Estoy en el teléfono, así que no puedo enviar mi código (o no antes de la próxima semana porque es un archivo de trabajo)
Mis BDD son simples hojas de Excel (xlsx) que invoco con Workbooks.Open y toda mi aplicación está en un userform de mi libro (xlsm).
El problema es que los xlsx se abren, pero si no los cierro, permanecen delante y tengo que seleccionar manualmente el libro xlsm para volver a mi usf.
He probado workbooks("fichero.xlsm").activate, pero tengo la impresión de que el userform bloquea el paso al primer plano. -
Hola,
Y disculpa si me he tardado en responder, he estado muy ocupado por razones familiares.
Para reformular siendo conciso:
Uso 2 libros:
"Macro.xlsm" que contiene mi código (userform).
"BDD.xlsx" que contiene mi base de datos
El código está diseñado intencionadamente para abrir la BDD en modo de solo lectura.
Cuando el código está a punto de abrir la BDD, verifica si el archivo ya está abierto. (tengo un retorno true/false)
Caso 1: La BDD no estaba abierta (false). La abre, copia los datos en el primer libro, cierra la BDD. (sin problemas en este punto)
Caso 2: La BDD ya está abierta (true). La selecciona, copia los datos en el primer libro y mantiene la BDD abierta (sin problemas en este punto)
Problema: En el Caso 2, la BDD está en primer plano, delante de mi userform, y tengo que hacer clic en la barra "minimizar" para seguir utilizando el primer libro y el userform.
He intentado:
> Workbooks("Macro.xlsm").Activate
Pero eso no funciona porque creo que no puede activar el libro 1 dado que el userform está abierto.
Nota: Preferiría seguir utilizando este userform en modal y no usar la fórmula "xlMinimize".
Así que ya está, gracias por tu ayuda, si puedes.-
no muestras ningún código.
si compartes tus archivos, podría probar. me pregunto si a veces es necesario complementar un activate con un select.
"hacer clic en la barra "reducir"": ¿de qué se trata? ¿has intentado "reducir" a través de VBA?
"no puede activar el libro 1 dado que el userform está abierto": ¿quizás cerrar el userform a través de VBA?
"el xlMinimize no es una opción": ¿eso no funciona?
-
-
Hola a todos,
zapp56
los había puesto a seguir y no he tenido más noticias, pero no importa.
¿Por qué quieren que su hoja BDD esté en primer plano en modo solo lectura al principio, qué utilidad tiene?