Definir Variable

02/01/2006 - 14:13 por Trotsky | Informe spam
Hola,

tengo un pequeño problema con la definición de una variable en un
procedimiento que clona un libro. El procedimiento solicita el nuevo
nombre del libro en un MsgBox y lo almacena en una variable definida
como Public String (nuevoNom).

Cuando al nombre genérico propuesto ("Facturacion") se le añade un
espacio + una cifra como final del nombre (por ejemplo " 2006")
entonces, al crear en el nuevo libro unos botones y asignarles una
macro (VeteA), pone la ruta completa y mal (le sobran comillas):

'C:\Documents and Settings\Usuario\Mis documentos\Documentos de Excel
\Facturacion ''2006.xls'''!veteA

En vez del nombre de la hoja sin más, que es lo que pretendo:
'Facturacion 2006.xls'!veteA

Lo curioso es que sí que pone bien el nombre al nuevo libro...

Sin embargo, cuando al nombre genérico "Facturación" se le añade una
cadena alfabética como " Dosmilseis" o bien no se deja espacio entre
"Facturacion" y "2006", el problema desaparece y la macro hace su
trabajo correctamente.
Así que tengo mal definida la variable... o eso creo yo... pero si no es
String entonces ¿qué es? :(

La instrucción que utilizo para asignar la macro al botón es:
Selection.OnAction = nuevoNom & ".xls!veteA"

¿Alguien sabe cómo definir la variable para que funcione bien ponga el
nombre que ponga? ¿O estoy ante un bug de mi versión?
Gracias y saludos.

Trotsky

P.D.: Los datos de la versión que utiliza mi Excel son:
Microsoft Visual Basic 6.3
Versión 9972, VBA: Retail 6.4.9972, Forms3: 11.0.6550
 

Leer las respuestas

#1 KL
03/01/2006 - 01:49 | Informe spam
Hola Trotsky,

No hay bug y el tipo de la variable es correcto. Lo que pasa es que los nombres de archivos que contienen espacios requieren ademas
de las comillas unos apostrofes (comillas simples) prueba construir tu variable de la siguiente manera:

Selection.OnAction = "'" & nuevoNom & ".xls'!veteA"

Tambien habria que ver como obtienes el valor de la variable nuevoNom.

Saludos,
KL


"Trotsky" wrote in message news:
Hola,

tengo un pequeño problema con la definición de una variable en un
procedimiento que clona un libro. El procedimiento solicita el nuevo
nombre del libro en un MsgBox y lo almacena en una variable definida
como Public String (nuevoNom).

Cuando al nombre genérico propuesto ("Facturacion") se le añade un
espacio + una cifra como final del nombre (por ejemplo " 2006")
entonces, al crear en el nuevo libro unos botones y asignarles una
macro (VeteA), pone la ruta completa y mal (le sobran comillas):

'C:\Documents and Settings\Usuario\Mis documentos\Documentos de Excel
\Facturacion ''2006.xls'''!veteA

En vez del nombre de la hoja sin más, que es lo que pretendo:
'Facturacion 2006.xls'!veteA

Lo curioso es que sí que pone bien el nombre al nuevo libro...

Sin embargo, cuando al nombre genérico "Facturación" se le añade una
cadena alfabética como " Dosmilseis" o bien no se deja espacio entre
"Facturacion" y "2006", el problema desaparece y la macro hace su
trabajo correctamente.
Así que tengo mal definida la variable... o eso creo yo... pero si no es
String entonces ¿qué es? :(

La instrucción que utilizo para asignar la macro al botón es:
Selection.OnAction = nuevoNom & ".xls!veteA"

¿Alguien sabe cómo definir la variable para que funcione bien ponga el
nombre que ponga? ¿O estoy ante un bug de mi versión?
Gracias y saludos.

Trotsky

P.D.: Los datos de la versión que utiliza mi Excel son:
Microsoft Visual Basic 6.3
Versión 9972, VBA: Retail 6.4.9972, Forms3: 11.0.6550

Preguntas similares