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
 

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

Preguntas similares