obtener nombre de las hojas de un libro sin abrirlo

04/02/2007 - 02:58 por Ivan | Informe spam
hola a todos

prácticamente el asunto lo dice todo: ¿es posible obtener vía código los
nombres de las hojas de un libro sin tener que abrirlo? no me haría falta
acceder a los datos de dicho libro, tan solo obtener estos nombres, y de
paso (como mucho, pero no imprescindible) el valor de otras propiedades tipo
: fecha creación, ultima modificación. etc..

para esto ultimo he pensado que quizás me valiera DocumentProperty (no lo he
probado ), pero lo cierto es que para el nombre de las hojas no se muy bien
como intentarlo

si podéis echarme una mano os lo agradezco

un saludo y hasta pronto
Ivan

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
04/02/2007 - 04:49 | Informe spam
hola, Ivan !

... en cuanto... al uso de ADO... referida a trabajar con los datos del libro cerrado.
Implicaria esto tener que manejar/controlar ADO, o una vez realizada la 'conexion' (o no se como llamarlo)
podria utilizar los datos mediante las instrucciones comunes de excel, manipulando el archivo sin abrirlo? [...]



si tu intencion es 'aprovechar' los datos devueltos de consultas a libros cerrados [p.e. en variables/matrices/...]
y aplicarlos a procedimientos/propiedades/objetos/metodos/... 'comunes/normales/...' de la aplicacion [excel-vba]
[solo por si las dudas]... 'te recuerdo' que la gran mayoria de ellas [propiedades, etc.]...
-> [solo] son aplicables a objetos 'Workbook/Worksheet/Range/...'
y mientras un 'libro' esta cerrado... NO llega a convertirse en Workbook, sino que es otro archivo 'comun y corriente' del SO

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#7 Ivan
04/02/2007 - 13:10 | Informe spam
hola Hector Miguel, gracias de nuevo, (y de nuevo por duplicado)

para no seguir mareandote, te comento las dos respuestas en esta:

1) existe un 'detalle' que debes tener en consideracion,..



lo tendre, y ya de paso lo intentare estudiar un poco

2) con relacion a que la ayuda 'en linea' para ADOxxx en vba no siempre
aparece 'disponible' -> una forma de abrilos es ejecutando 'directamente'
el archivo *.CHM correspondiente [p.e.] desde el explorador de windows



voy a probar, al menos para tener la posibilidad de ir
conociendo/consultando en que consiste

.-en cuanto al otro 'sub'hilo:->

si tu intencion es 'aprovechar' los datos devueltos de consultas a libros
cerrados [p.e. en variables/matrices/...]
..
-> [solo] son aplicables a objetos 'Workbook/Worksheet/Range/...'
y mientras un 'libro' esta cerrado... NO llega a convertirse en
Workbook, sino que es otro archivo 'comun y corriente' del SO



era esactamente a lo que me referia. Asi que de momento, aunque intentare ir
echandole un vistazo para ir conociendo un poco su lenguaje, lo dejo
aparcado un tiempecillo hasta que consiga ir resolviendo lo que ya tengo
entre manos


bueno, lo dicho, muchas gracias de nuevo y hasta pronto

Ivan
Respuesta Responder a este mensaje
#8 Ivan
05/02/2007 - 02:20 | Informe spam
hola de nuevo, Hector Miguel

disculpa que vuelva a darte la barrila, pero he estado recorriendo la ayuda
de ADO y no he conseguido resolver una duda, que, aunque seguramente sea la
parte menos importante de tu código, me tiene mareada la neurona

-> el signo '$' como parte de las tablas del catalogo NO ES
'necesariamente' el primer carácter a la derecha de la tabla
ya que el nombre completo [incluyendo el signo '$'] queda
delimitado por apostrofos :-((
-> es necesario adaptar/modificar/... el código de la propuesta
anterior +/- a lo siguiente:



¿cual es el sentido/motivo de buscar la existencia de '$'? ¿se trata de
algún tipo de asignación que hace ADO a las 'tablas', como para
reconocerlas/diferenciarlas?¿o es simplemente (que por tu ultimo comentario
creo que no, aparte de que no parece que tuviera sentido) una forma de
decirle al código que tiene que ser un string? Aunque (creo que) no me hace
falta de momento, se ha convertido en una duda machacona durante todo el
día.

en cuanto al resto del código, aunque disto mucho de entenderlo, al menos si
he conseguido mas o menos intuir su sentido y funcionamiento.

pero el dichoso '$' ..

si tienes un momento, te lo agradeceré una vez mas si puedes explicármelo,
sobre todo para poder aparcarlo sin tenerlo rondándome todo el tiempo. De
todas formas voy a seguir dando unas vueltas a ver si veo algo

un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#9 Héctor Miguel
05/02/2007 - 04:47 | Informe spam
hola, Ivan !

... he estado recorriendo la ayuda de ADO y no he conseguido resolver una duda...
... cual es el sentido/motivo de buscar la existencia de '$'?
... se trata de algun tipo de asignacion que hace ADO a las 'tablas', como para reconocerlas/diferenciarlas? [...]



+/- por ahi va el asunto :)) si modificas [momentaneamente] el codigo en la siguiente parte:

For Each Hoja In Libro.Tables
If Msj <> "" Then Msj = Msj & vbCr
Msj = Msj & Hoja.Name
Next
MsgBox Msj

-> te daras cuenta que el nombre de la variable utilizada [Hoja] poco/nada tiene que ver con 'hojas' [en el catalogo de las tabas]
ya que si el libro al que estas 'consultando' contiene [ademas de las hojas] nombres asignados a rangos...
los nombres que obtienes [que en realidad es el catalogo completo de las tablas del libro] NO son 'exclusivamente' hojas :))
sino que encontraras tambien los nombres de los rangos [incuso si hay nombres 'iguales' en varias hojas con su respectivo vinculo]
lo que si vas a 'notar', es que los nombres de las hojas tienen el signo '$' al final de su nombre [obviando lo de los apostrofos] ;)

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#10 Ivan
05/02/2007 - 17:57 | Informe spam
hola Hector Miguel, muchas gracias por aquí también

ya que si el libro al que estas 'consultando' contiene [ademas de las
hojas] nombres asignados a rangos...

lo que si vas a 'notar', es que los nombres de las hojas tienen el
signo '$' al final de su nombre [obviando lo de los apostrofos] ;)



algo así me imaginaba, pues no acababa de verle el sentido si no. Esta noche
probare la modificación para ver el resultado.

En cualquier caso, he combinado tus dos códigos (nombres hojas y
propiedades) y me ha hecho el apaño perfectamente para lo que quería.

gracias de nuevo y un saludo
Ivan
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida