Busqueda de libro por Sesiones

25/01/2006 - 12:03 por Gustavo | Informe spam
Hola y gracias.
Les cuento mi problema.
Mediante macros quisiera saber si un libro determinado "X" se encuentra
entre los libros que tengo abiertos en un momento.
Con una sola sesion el problema "lo tengo resuelto" pues hago un For Each
para que me recorra los libros abiertos y me fijo si es el que estoy buscando.
Mi problema surge pues puedo tener mas de una sesión del Excel corriendo en
simultaneo y no se como recorrer las sesiones; necesitaria algo como
For Each "Sesiones"
...
¿es esto posible?
¿Alguien tiene idea?

Muchas gracias nuevamente,
Gustavo

Preguntas similare

Leer las respuestas

#1 KL
25/01/2006 - 13:53 | Informe spam
Hola Gustavo,

saber si un libro determinado se encuentra
entre los libros abiertos
hago un For Each
para que me recorra los libros abiertos



No es necesario recorrer todos los libros abiertos, basta con algo asi:

Sub test()
Dim Nombre As String, Libro As Workbook
Nombre = "C:\temp\Libro1.xls"
On Error Resume Next
Set Libro = Workbooks(Dir(Nombre))
On Error GoTo 0
If Not Libro Is Nothing Then MsgBox "Si que esta abierto!"
End Sub

puedo tener mas de una sesión del Excel corriendo



Por que usas mas de una sesion y como las abres?

recorrer las sesiones; necesitaria algo como
For Each "Sesiones"



La solucion dependera de la respuesta a la pregunta anterior.

Saludos,
KL
Respuesta Responder a este mensaje
#2 Gustavo
25/01/2006 - 14:18 | Informe spam
El tema que en realidad estoy haciendo una macro para otra persona.
Las sesiones las abre (creo) desde el menú Inicio

Saludos y gracias por la colaboracion
Gustavo

"KL" escribió:

Hola Gustavo,

>saber si un libro determinado se encuentra
> entre los libros abiertos
> hago un For Each
> para que me recorra los libros abiertos

No es necesario recorrer todos los libros abiertos, basta con algo asi:

Sub test()
Dim Nombre As String, Libro As Workbook
Nombre = "C:\temp\Libro1.xls"
On Error Resume Next
Set Libro = Workbooks(Dir(Nombre))
On Error GoTo 0
If Not Libro Is Nothing Then MsgBox "Si que esta abierto!"
End Sub

> puedo tener mas de una sesión del Excel corriendo

Por que usas mas de una sesion y como las abres?

> recorrer las sesiones; necesitaria algo como
> For Each "Sesiones"

La solucion dependera de la respuesta a la pregunta anterior.

Saludos,
KL


Respuesta Responder a este mensaje
#3 KL
25/01/2006 - 14:38 | Informe spam
Hola Gustavo,

Salvo hay una razon muy contundente (que yo desconozco) el crear varias instancias de Excel no tiene mucho sentido desde el punto de
vista de la estabilidad, probabilidad de errores, disponibilidad de codigos etc. A mi me suena a que la otra persona esta usando
incorrectamente la funcion CreateObject que genera nuevas instancias del objeto (en este caso Aplicacion) cada vez que se ejute. De
lo contrario yo diria que lo mas barato seria recomendarle a la otra persona que no abra mas de una instancia.

Saludos,
KL


"Gustavo" wrote in message news:
El tema que en realidad estoy haciendo una macro para otra persona.
Las sesiones las abre (creo) desde el menú Inicio

Saludos y gracias por la colaboracion
Gustavo

"KL" escribió:

Hola Gustavo,

>saber si un libro determinado se encuentra
> entre los libros abiertos
> hago un For Each
> para que me recorra los libros abiertos

No es necesario recorrer todos los libros abiertos, basta con algo asi:

Sub test()
Dim Nombre As String, Libro As Workbook
Nombre = "C:\temp\Libro1.xls"
On Error Resume Next
Set Libro = Workbooks(Dir(Nombre))
On Error GoTo 0
If Not Libro Is Nothing Then MsgBox "Si que esta abierto!"
End Sub

> puedo tener mas de una sesión del Excel corriendo

Por que usas mas de una sesion y como las abres?

> recorrer las sesiones; necesitaria algo como
> For Each "Sesiones"

La solucion dependera de la respuesta a la pregunta anterior.

Saludos,
KL


Respuesta Responder a este mensaje
#4 Gustavo
25/01/2006 - 14:52 | Informe spam
Ok, se lo voy a plantear pero...¿hay forma de conocer las distintas
instancias? o por lo menos saber si hay mas de 1?

Gracias nuevamente


"KL" escribió:

Hola Gustavo,

Salvo hay una razon muy contundente (que yo desconozco) el crear varias instancias de Excel no tiene mucho sentido desde el punto de
vista de la estabilidad, probabilidad de errores, disponibilidad de codigos etc. A mi me suena a que la otra persona esta usando
incorrectamente la funcion CreateObject que genera nuevas instancias del objeto (en este caso Aplicacion) cada vez que se ejute. De
lo contrario yo diria que lo mas barato seria recomendarle a la otra persona que no abra mas de una instancia.

Saludos,
KL


"Gustavo" wrote in message news:
> El tema que en realidad estoy haciendo una macro para otra persona.
> Las sesiones las abre (creo) desde el menú Inicio
>
> Saludos y gracias por la colaboracion
> Gustavo
>
> "KL" escribió:
>
>> Hola Gustavo,
>>
>> >saber si un libro determinado se encuentra
>> > entre los libros abiertos
>> > hago un For Each
>> > para que me recorra los libros abiertos
>>
>> No es necesario recorrer todos los libros abiertos, basta con algo asi:
>>
>> Sub test()
>> Dim Nombre As String, Libro As Workbook
>> Nombre = "C:\temp\Libro1.xls"
>> On Error Resume Next
>> Set Libro = Workbooks(Dir(Nombre))
>> On Error GoTo 0
>> If Not Libro Is Nothing Then MsgBox "Si que esta abierto!"
>> End Sub
>>
>> > puedo tener mas de una sesión del Excel corriendo
>>
>> Por que usas mas de una sesion y como las abres?
>>
>> > recorrer las sesiones; necesitaria algo como
>> > For Each "Sesiones"
>>
>> La solucion dependera de la respuesta a la pregunta anterior.
>>
>> Saludos,
>> KL
>>
>>


Respuesta Responder a este mensaje
#5 KL
25/01/2006 - 16:24 | Informe spam
Hola Gustavo,

Poder se puede, pero creo que la cura podria resultar peor que la enfermedad :-). Revisa los siguientes enlaces:

http://support.microsoft.com/kb/258511/es
http://support.microsoft.com/kb/183009/es

Saludos,
KL


"Gustavo" wrote in message news:
Ok, se lo voy a plantear pero...¿hay forma de conocer las distintas
instancias? o por lo menos saber si hay mas de 1?

Gracias nuevamente


"KL" escribió:

Hola Gustavo,

Salvo hay una razon muy contundente (que yo desconozco) el crear varias instancias de Excel no tiene mucho sentido desde el punto
de
vista de la estabilidad, probabilidad de errores, disponibilidad de codigos etc. A mi me suena a que la otra persona esta usando
incorrectamente la funcion CreateObject que genera nuevas instancias del objeto (en este caso Aplicacion) cada vez que se ejute.
De
lo contrario yo diria que lo mas barato seria recomendarle a la otra persona que no abra mas de una instancia.

Saludos,
KL


"Gustavo" wrote in message news:
> El tema que en realidad estoy haciendo una macro para otra persona.
> Las sesiones las abre (creo) desde el menú Inicio
>
> Saludos y gracias por la colaboracion
> Gustavo
>
> "KL" escribió:
>
>> Hola Gustavo,
>>
>> >saber si un libro determinado se encuentra
>> > entre los libros abiertos
>> > hago un For Each
>> > para que me recorra los libros abiertos
>>
>> No es necesario recorrer todos los libros abiertos, basta con algo asi:
>>
>> Sub test()
>> Dim Nombre As String, Libro As Workbook
>> Nombre = "C:\temp\Libro1.xls"
>> On Error Resume Next
>> Set Libro = Workbooks(Dir(Nombre))
>> On Error GoTo 0
>> If Not Libro Is Nothing Then MsgBox "Si que esta abierto!"
>> End Sub
>>
>> > puedo tener mas de una sesión del Excel corriendo
>>
>> Por que usas mas de una sesion y como las abres?
>>
>> > recorrer las sesiones; necesitaria algo como
>> > For Each "Sesiones"
>>
>> La solucion dependera de la respuesta a la pregunta anterior.
>>
>> Saludos,
>> KL
>>
>>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida