Localizar Excel y leer datos |
Responder | Página <12 |
Autor | |
Emilio
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Santander Unido: 08/Agosto/2004 Localización: España Estado: Sin conexión Puntos: 18836 |
Enviado: 20/Septiembre/2019 a las 19:16 |
Hola de nuevo, Pedro, acabo de hacer una prueba muy simple y o mucho me equivoco o desmiente eso que acabas de indicar.
|
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 20/Septiembre/2019 a las 19:27 |
He escrito:
sólo se pueden abrir 2 o más instancias de excel o word por código (createobject). Lo que no he conseguido es hacerlo es sin create object
|
|
Emilio
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Santander Unido: 08/Agosto/2004 Localización: España Estado: Sin conexión Puntos: 18836 |
Enviado: 20/Septiembre/2019 a las 23:00 |
Vaya, entonces Pedro, te he leído mal. De cualquier modo acabo de abrir 5 instancias seguidas de Excel 2019 desde el botón de la barra de tareas.
Editado por Emilio - 20/Septiembre/2019 a las 23:02 |
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 20/Septiembre/2019 a las 23:18 |
Pero yo diría que son 5 ventanas diferentes pero en una sola instancia de excel.
Si se ejecuta el código que puse, el getobject puede recorrer las 5 ventanas o eso creo
|
|
Emilio
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Santander Unido: 08/Agosto/2004 Localización: España Estado: Sin conexión Puntos: 18836 |
Enviado: 21/Septiembre/2019 a las 07:17 |
Como sabéis Excel no permite abrir dos libros con el mismo nombre en una misma instancia, mientras que si lo permite en distintas instancias, el modo de abrir mas de una instancia es el que yo decía: botón derecho sobre el botón de la barra de tareas.
|
|
happy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador Unido: 29/Enero/2005 Localización: España Estado: Sin conexión Puntos: 3192 |
Enviado: 21/Septiembre/2019 a las 10:00 |
Pero amoave ¿Por qué no haceis la prueba completa en la versión 2019 y así salimos de dudas? Es decir, abrir por separado excel y desde ahí 1 libro excel. Repetir esto (importante volver a abrir por separado excel) varias veces y abrir desde ahí otro libro excel, y luego ejecutar el código:
set obj=getobject(,"excel.application") for each w in obj.workbooks debug.print w.fullname next (declarando las variables y todo eso) Yo por mi parte insisto. En la versión 2010 y en la 2013 a las que sí tengo acceso, excel abre distintas instancias según la forma en que se abren los libros excel y el código arriba expuesto sólo es capaz de mostrar los libros que estén contenidos en la instancia de excel que se haya abierto en primer lugar Anda, porfis, haced la prueba y sacadnos de dudas ...
Editado por happy - 21/Septiembre/2019 a las 10:01 |
|
Saludos,
Juan M. Afan de Ribera |
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 21/Septiembre/2019 a las 10:16 |
Window 10 y excel2019
En inicio clik sobre icono excel y en recientes abro un libro, minimizo. Otra vez en inicio click sobre el icono excel y en recientes abro otro libro. Ejecuto el código y getobject saca los dos libros. Edito y añado: Con win10 y excel 2016 el comportamiento es el mismo
Editado por prga - 21/Septiembre/2019 a las 10:29 |
|
happy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador Unido: 29/Enero/2005 Localización: España Estado: Sin conexión Puntos: 3192 |
Enviado: 21/Septiembre/2019 a las 10:33 |
No no no no
Si yo hago eso, entonces en las versiones que antes comentaba también me pone los libros dentro de la misma instancia. El método para que hagas las pruebas es el siguiente: - abrir el programa excel a secas (nada de abrir un libro desde un acceso directo en recientes o algo así, sólo el programa Excel, nada más) - desde el excel abierto ir al menú Archivo, Abrir (o como aparezca en la versión 2019) y navegar seleccionando algún libro excel que tengas repetir estas 2 acciones varias veces ... probar el código de antes ... ¿qué pasa?
Editado por happy - 21/Septiembre/2019 a las 10:36 |
|
Saludos,
Juan M. Afan de Ribera |
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 21/Septiembre/2019 a las 10:48 |
Lo he hecho así con el 2019 y con el 2016, vamos, abro excel, abrir, examinar, busco un libro y abro.
Repito lo mismo y abro otro libro. El getobject detecta los 2 Edito y añado: Abro excel y creo un libro nuevo ( ventana con libro1), minimizo. Abro otra vez excel y creo un libro nuevo, crea otra ventana como libro2. Ejecuto el codigo pero pidiendo en .Name, saca los nombres de libro 1 y libro 2. Asi es que ????
Editado por prga - 21/Septiembre/2019 a las 10:54 |
|
happy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador Unido: 29/Enero/2005 Localización: España Estado: Sin conexión Puntos: 3192 |
Enviado: 21/Septiembre/2019 a las 11:01 |
Pues según esa prueba, si no hay algo más, parece que el funcionamiento entre versiones es diferente. Creo que Xavi tiene también la 2016 (no así el cliente al que se refiere, que tiene la 2013). A lo mejor podría confirmarlo él.
A lo mejor lo han solucionado con las nuevas versiones, pero en las antiguas, pongamos que trabajas con dos pantallas ..., si tienes 2 libros abiertos y quieres comparar uno con otro (visualmente). ¿Qué haces? Pones un libro en una pantalla y otro libro en la otra pantalla y comparas o copias valores de un lado a otro, o cosas así. Peeeero ... si los dos libros pertenecen a la misma instancia, a la que mueves un libro a una pantalla, el otro le sigue obediente y no hay manera de separarlos en 2, porque están contenidos en el mismo MDI contenedor y se mueven al unísono y también les afectan muchas cosas comunes. Esto a veces puede estar bien, pero otras veces fastidia mucho. Según lo que quieras conseguir, claro. Entonces es cuando te aseguras de abrir "por separado" esos dos libros para poder conseguir así algo de "autonomía". No se si esto lo han solucionado y aunque dos libros pertenezcan a la misma instancia de Excel, tengan esa "autonomía" uno de otro (a lo mejor pertenecen al mismo "padre", pero NO al mismo MDI (que no se si eso es posible ...) En fin ...
Editado por happy - 21/Septiembre/2019 a las 11:03 |
|
Saludos,
Juan M. Afan de Ribera |
|
prga
Moderador Unido: 16/Noviembre/2004 Localización: España Estado: Sin conexión Puntos: 3523 |
Enviado: 21/Septiembre/2019 a las 12:49 |
Para aclarar un poco la cuestión y como dije en otro post, a partir de alguna versión/actualización de office el comportamiento cambió y no era posible tener dos instancias diferentes del mismo documento word (al menos no supe/se hacerlo), una de escritura/lectura y la segunda de solo lectura en otra pantalla( para consultar diferentes partes del documento como había hecho otra veces). No profundicé más, ya que utilice la opción Vista-nueva ventana(desconocía esa opción) que hace dos clones del documento y permite trabajar en las dos pantallas indistintamente reflejándose los cambios de una en la otra(parece ser un sólo documento con 2 vistas). Por otra parte, con el 2016 y 2019, puedo tener 2 libros o documentos word diferentes en la misma instancia y colocar uno en la pantalla 1 y el otro en la pantalla 2 y copiar, pegar etc etc desde uno al otro sin aparentes problemas. Espero que este comentario ayude a alguien. Saludos |
|
happy
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Moderador Unido: 29/Enero/2005 Localización: España Estado: Sin conexión Puntos: 3192 |
Enviado: 21/Septiembre/2019 a las 13:46 |
A lo mejor lo que comentas podría estar en la configuración de Word o Excel y tocando alguna cosa podría volver a cómo estaba. Aunque leyendo lo que explicas puede que en lo referente a la/s instancia/s hayan arreglado cosas y lo están haciendo de forma diferente. Sinceramente, no lo sé. Como he dicho no tengo esas dos versiones y no conozco los cambios en cuanto a las versiones anteriores
En todo caso, todo esto que estamos discutiendo en este hilo me parece super-interesante de saber. Supongo que como mucha otra gente, yo personalmente, aunque trabajo principalmente con Access y VBA, utilizo mucho la salida de datos hacia Excel (informes estadísticos de todo tipo) y también hacia Word (plantillas de documentos convertibles después en PDF) Por ejemplo, entre las rutinas que expuso Xavi en su primer post y la que encontré por ahí y que transformé un poco para que sirviera para este hilo, se puede montar un método para hacer lo mismo con instancias de otras aplicaciones que permitan automatización (Word, Access, Acrobat). Sólo hay que modificar los nombres de las ventanas de cada aplicación (en Word creo que se basan en la ventana OpusApp y en Access es OMain) y también el GUID registrado por cada una de ellas. Según el objeto Reference de Access, para estos programas del Office esos guid son: Access {4AFFC9A0-5F99-101B-AF4E-00AA003F0F07} Excel {00020813-0000-0000-C000-000000000046} Word {00020905-0000-0000-C000-000000000046} En fin creo que es interesante el tema |
|
Saludos,
Juan M. Afan de Ribera |
|
Responder | Página <12 |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |