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

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Trotsky
03/01/2006 - 10:32 | Informe spam
"KL" wrote in news:u5KbF#$DGHA.644
@TK2MSFTNGP09.phx.gbl:

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




Sí señor, eso era :)

Me tenía desconcertado que sólo lo hiciera cuando ponía espacio+número en
el nombre y que no lo hiciera cuando ponía espacio+letras, por eso no
intenté dar otro formato a la instrucción y pensaba que era la condición de
la variable. Porque, haciendo un ejercicio de pura lógica, una vez definida
la variable como String ya me dirás por qué se tiene que comportar de
distinta manera según formes esa "String" con números o con letras ¿no? :(

Muchiiisimas gracias; solucionado.

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