Path

11/08/2003 - 11:31 por Desastres | Informe spam
Buenos días
Quiero asignar una variable al path para no tener que estar pendiente del directorio en que guardo un libro
con macros.
Por ejemplo
Public Autopista As Stringen la seccion de declaraciones
Autopista=Thisworkbook.Path-en el modulo

Si la pongo en Thisworkbook_Open lo toma perfectamente y me lo facilita durante el proceso de apertura, pero
al finalizar la apertura del libro, (cuando ya se ha ejecutado Thisworkbook_open) si le pido que me diga el
cual es el Path, se queda mudo.Pero mudito cabezón.

Puedo , en la sección general, declarar Autopista como Public, pero no me deja hacer una asignación a un
proceso externo.
Lo cual (creo) me obliga a asignar la variable en cada procedimiento)

Pregunta.

¿Hay alguna forma de declara y asignar Autopista en un solo punto para que sirva para todos los libros que e
abran a partir de de ese momento?
Saludos
Des

Preguntas similare

Leer las respuestas

#1 Desastres
12/08/2003 - 01:39 | Informe spam
Hola Joan. Gracias
Creo recordar que con una declaración pública y la asignación en distintos módulos me iba defendiendo( de mala
manera pero algo es algo)
Lo que tu me propones, por las pruebas que he hecho, es que delante de Autopista ponga el nombre del modulo
que aparece en la ficha propiedades. No el nombre del Sub.
Si es así me funciona bien, hasta que se produce un error en el procedimiento en que he hecho la declaración
Public.
A partir del error se vuelve a quedar mudito cabezón.
¿Alguna razón para ello o algún remedio?

Una de las razones para intentar Utilizar Autopista es acortar las instrucciones.
¿Conoces otra formula en que solo haya que llamar a Autopista.? Ejemplo
Save as Autopista & "\Receta de patatas cocidas con chile mejicano adobadas de salsa de guacamole al
curri.xls"
Saludos
Des



"Joan" escribió en el mensaje news:05d301c35ffc$54f58640$
Hola desastres :
Inserta un modulo y declara
public autopista as string
En workbookopen pones :
modulo.Autopista=Thisworkbook.Path
y a partir de aqui, en cualquier hoja del libro, puedes
hacer referencia a modulo.Autopista , ejemplo
activecell.value=modulo.Autopista

Espero que te sirva.
Saludos Joan

Buenos días
Quiero asignar una variable al path para no tener que


estar pendiente del directorio en que guardo un libro
con macros.
Por ejemplo
Public Autopista As Stringen la seccion de


declaraciones
Autopista=Thisworkbook.Path-en el modulo

Si la pongo en Thisworkbook_Open lo toma perfectamente y


me lo facilita durante el proceso de apertura, pero
al finalizar la apertura del libro, (cuando ya se ha


ejecutado Thisworkbook_open) si le pido que me diga el
cual es el Path, se queda mudo.Pero mudito cabezón.

Puedo , en la sección general, declarar Autopista como


Public, pero no me deja hacer una asignación a un
proceso externo.
Lo cual (creo) me obliga a asignar la variable en cada


procedimiento)

Pregunta.

¿Hay alguna forma de declara y asignar Autopista en un


solo punto para que sirva para todos los libros que e
abran a partir de de ese momento?
Saludos
Des



.

Respuesta Responder a este mensaje
#2 Héctor Miguel
12/08/2003 - 10:49 | Informe spam
¿Que tal, chicos?

Desastres escribió en el mensaje
... asignar una variable al path para no tener que estar pendiente del directorio [...]
... ejemplo: Public Autopista As String (en la seccion de declaraciones)
... Autopista=Thisworkbook.Path (en el modulo)
... en Thisworkbook_Open lo toma perfectamente y ... durante el proceso de apertura
... al finalizar la apertura del libro, ... si le pido que me diga cual es el Path, se queda mudo [...]
... forma de declara y asignar Autopista en un solo punto para que sirva ... a partir de de ese momento?

Joan escribió en el mensaje
Inserta un modulo y declara public autopista as string
En workbookopen pones: modulo.Autopista=Thisworkbook.Path [...]

Desastres escribió en el mensaje
... propones ... que delante de Autopista ponga el nombre del modulo ... No el nombre del Sub.
... funciona bien, hasta que se produce un error en el procedimiento en que he hecho la declaración Public.
... se vuelve a quedar mudito cabezón. ¿Alguna razón para ello o algún remedio?







==> (probablemente) la instruccion [Public Autopista As String] la has puesto en el modulo de ThisWorkbook
esa seria la razon por la cual "se acorta la vida" de la variable (al terminar de ejecutarse el evento _Open)
Si esta suposicion es correcta, podras "alargar la vida" de la/s variable/s si...
1.- Las declaras en (la seccion de declaraciones de) un modulo "Estandar"
2.- Les asignas "su/s" valor/es (al menos inicialmente) en el evento _Open del libro
("permaneceran" asi, hasta que les sean modificados por algun otro procedimiento)
_______
Saludos,
Héctor.
MS-MVP
Respuesta Responder a este mensaje
#3 Desastres
12/08/2003 - 23:15 | Informe spam
El anterior correo parece que se despistó. A ver si llega este.

Hola Héctor. Gracias.
Felicidades por la distincion.

Creí que lo que proponías fallaría por asignar antes que declarar. Pero en general no es así.
Falla, como le decía a Joan en el caso de que se produzca un error en el modulo que tiene la declaración de
Autopista.

Saludos
Des


"Héctor Miguel" escribió en el mensaje
news:
¿Que tal, chicos?

> Desastres escribió en el mensaje
> ... asignar una variable al path para no tener que estar pendiente del directorio [...]
> ... ejemplo: Public Autopista As String (en la seccion de declaraciones)
> ... Autopista=Thisworkbook.Path (en el modulo)
> ... en Thisworkbook_Open lo toma perfectamente y ... durante el proceso de apertura
> ... al finalizar la apertura del libro, ... si le pido que me diga cual es el Path, se queda mudo [...]
> ... forma de declara y asignar Autopista en un solo punto para que sirva ... a partir de de ese momento?

>> Joan escribió en el mensaje
>> Inserta un modulo y declara public autopista as string
>> En workbookopen pones: modulo.Autopista=Thisworkbook.Path [...]

>>> Desastres escribió en el mensaje
>>> ... propones ... que delante de Autopista ponga el nombre del modulo ... No el nombre del Sub.
>>> ... funciona bien, hasta que se produce un error en el procedimiento en que he hecho la declaración


Public.
>>> ... se vuelve a quedar mudito cabezón. ¿Alguna razón para ello o algún remedio?

==> (probablemente) la instruccion [Public Autopista As String] la has puesto en el modulo de ThisWorkbook
esa seria la razon por la cual "se acorta la vida" de la variable (al terminar de ejecutarse el


evento _Open)
Si esta suposicion es correcta, podras "alargar la vida" de la/s variable/s si...
1.- Las declaras en (la seccion de declaraciones de) un modulo "Estandar"
2.- Les asignas "su/s" valor/es (al menos inicialmente) en el evento _Open del libro
("permaneceran" asi, hasta que les sean modificados por algun otro procedimiento)
_______
Saludos,
Héctor.
MS-MVP


Respuesta Responder a este mensaje
#4 Héctor Miguel
13/08/2003 - 01:00 | Informe spam
Hola, Des ! =>Agradecido por tu felicitacion<= :))

Creí que ... fallaría por asignar antes que declarar. Pero en general no es así.
Falla, ... en el caso de ... un error en el modulo que tiene la declaración de Autopista.



==> Se me ocurren dos (posibles) soluciones, a reserva de una mejor opinion:

1.- Si en el modulo donde se hace la declaracion (en algun momento) genera errores...
(ya sea por acciones del usuario o porque "con anticipacion conoces" que podrian generarse)...
y tienes la seguridad de que dichos errores NO serian de "fatales" consecuencias...
-o- diseñar un segmento para el manejo de los errores "detectables"
-o- "de plano" incluir en el(los) procedimiento(s) ANTES del punto del error la sentencia => On Error Resume Next

2.- Si no quisieras "meterte en problemas de manejo de errores"...
=> Utilizar un modulo (general) EXCLUSIVAMENTE para la declaracion de variables "publicas", "constantes", etc.
_______
Saludos,
Héctor.
MS-MVP
Respuesta Responder a este mensaje
#5 Desastres
14/08/2003 - 07:40 | Informe spam
Gracias Héctor.
La mejor solución sería evitar el error, pero estoy en ello.
La Segunda propuesta es la que mas me agrada.
Especialmente porque se puede ver de una ojeada el planteamiento de la Publicas.
Saludos
Des


"Héctor Miguel" escribió en el mensaje
news:#J$
Hola, Des ! =>Agradecido por tu felicitacion<= :))

> Creí que ... fallaría por asignar antes que declarar. Pero en general no es así.
> Falla, ... en el caso de ... un error en el modulo que tiene la declaración de Autopista.

==> Se me ocurren dos (posibles) soluciones, a reserva de una mejor opinion:

1.- Si en el modulo donde se hace la declaracion (en algun momento) genera errores...
(ya sea por acciones del usuario o porque "con anticipacion conoces" que podrian generarse)...
y tienes la seguridad de que dichos errores NO serian de "fatales" consecuencias...
-o- diseñar un segmento para el manejo de los errores "detectables"
-o- "de plano" incluir en el(los) procedimiento(s) ANTES del punto del error la sentencia => On


Error Resume Next

2.- Si no quisieras "meterte en problemas de manejo de errores"...
=> Utilizar un modulo (general) EXCLUSIVAMENTE para la declaracion de variables "publicas",


"constantes", etc.
_______
Saludos,
Héctor.
MS-MVP


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida