Nombres de hoja con espacios en blanco

05/02/2010 - 11:38 por Emilio | Informe spam
Hola!
estoy tratando de leer los datos de una hoja mediante jet, no tengo ningún
problema salvo que la hoja tenga espacios en blanco, en cuyo caso falla
estrepitosamente por no encontrar el rango, lo mismo ocurre si trato de
vincular la hoja desde Access, por ejemplo mediante el siguiente código
(http://www.mvp-access.es/softjaen/a..._excel.htm)

Public Sub LinkExcelSheetWithDAO
Dim db As Database
Dim td As TableDef

' Abro la base de datos de Access
Set db = OpenDatabase("C:\Mis documentos\Bd1.mdb")

' Creo un objeto TableDef.
Set td = db.CreateTableDef("Tabla de Access vinculada")

' Establezco la información de conexión.
td.Connect = "Excel 8.0;HDR=No;Database=C:\Mis documentos\Libro1.xls"
td.SourceTableName = "Hoja 1$A1:M50"

' Anexo el objeto TableDef para crear el vínculo
db.TableDefs.Append td

End Sub
me dice que no puede encontrar el rango Hoja 1$A1:M50, la cuestión es saber
si hay algún método con que pueda referirme a esa hoja sin que se produzca
el error, lo he intentado incluyendo el nombre entre comillas simples y
reemplazando los espacios por guiones bajos "_", pero no cambia nada :-(

¿Alguna idea?
Muchas gracias por adelantado.

Saludos a todos
Emilio [MS-MVP Access 2006/10]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio

Preguntas similare

Leer las respuestas

#1 Juan M
05/02/2010 - 13:54 | Informe spam
"Emilio" escribió
Hola!
estoy tratando de leer los datos de una hoja mediante jet, no tengo ningún
problema salvo que la hoja tenga espacios en blanco, en cuyo caso falla
estrepitosamente por no encontrar el rango, lo mismo ocurre si trato de
vincular la hoja desde Access, por ejemplo mediante el siguiente código
(http://www.mvp-access.es/softjaen/a..._excel.htm)

Public Sub LinkExcelSheetWithDAO
Dim db As Database
Dim td As TableDef

' Abro la base de datos de Access
Set db = OpenDatabase("C:\Mis documentos\Bd1.mdb")

' Creo un objeto TableDef.
Set td = db.CreateTableDef("Tabla de Access vinculada")

' Establezco la información de conexión.
td.Connect = "Excel 8.0;HDR=No;Database=C:\Mis documentos\Libro1.xls"
td.SourceTableName = "Hoja 1$A1:M50"

' Anexo el objeto TableDef para crear el vínculo
db.TableDefs.Append td

End Sub
me dice que no puede encontrar el rango Hoja 1$A1:M50, la cuestión es
saber si hay algún método con que pueda referirme a esa hoja sin que se
produzca el error, lo he intentado incluyendo el nombre entre comillas
simples y reemplazando los espacios por guiones bajos "_", pero no cambia
nada :-(

¿Alguna idea?
Muchas gracias por adelantado.

Saludos a todos
Emilio [MS-MVP Access 2006/10]
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio




Hola Emilio,

He copiado el código tal cual lo has escrito, he modificado la dirección
c:\mis documentos por e:\mis documentos\
y no me ha dado problemas.

Podría deberse a que la ruta real de la carpeta mis documentos, en la
mayoría de equipos se instala por defecto en
c:\Documents and Settings

Haz una prueba con un directorio como c:\temp\
o cambiando la ruta por la foma extendida para llegar a mis documentos


Un saludo,
Juan
Respuesta Responder a este mensaje
#2 emilio
05/02/2010 - 14:52 | Informe spam
Muchas gracias Juan,

quizá me he explicado mal, el problema no está en la ruta, el problema está
en el nombre de la hoja, si este nombre contiene caracteres en blanco
(espacios) es cuando falla.

Saludos
Respuesta Responder a este mensaje
#3 Juan M
05/02/2010 - 17:08 | Informe spam
"emilio" escribió
Muchas gracias Juan,

quizá me he explicado mal, el problema no está en la ruta, el problema
está
en el nombre de la hoja, si este nombre contiene caracteres en blanco
(espacios) es cuando falla.

Saludos




Hola Emilio,

No, no te has expresado mal. Eso mismo he entendido y con el mismo código
que has expuesto, con la diferencia de la unidad a mi me funcionado
correctamente.

La única opción que se me ha ocurrido podía ser del otro lado, sino es eso,
lo siento, no he conseguido reproducirlo.

Un saludo y siento no ser de ayuda,
Juan
Respuesta Responder a este mensaje
#4 Emilio
05/02/2010 - 18:04 | Informe spam
Gracias de nuevo Juan.

Pues ahora en casa, con Access 2007 lo he probado y no me ha dado problemas,
en el trabajo es donde, con Access 2003, los he tenido, quizás sea esa la
diferencia.

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