Actualizar label de formulario de Visual Basic para lectura del archivo abierto en Microsoft Excel

¿Cómo puedo actualizar un label de un formulario de visual basic para que lea el archivo que abro desde excel?...
Ejemplo:
Yo tengo un formulario con un botón y un label, el botón es para abrir un archivo *.xls abriendo Excel, y al momento de abrilo, en el código del command le digo que locoque la ruta con el nombre del archivo en el label. Esto esta todo bien pero siempre y cuando lo abra desde el botón. Lo que yo quiero es hacer que se actualize el label con la ruta cuando yo abro otro archivo desde Excel sin necesidad de pinchar el botón, claro con Excel abierto siempre...
Espero que me entiendas la pregunta y que me puedas ayudar...
1

1 respuesta

Respuesta
1
La verdad que se me hace difícil imaginar tu situación. Pareceira como que tu formulario está siempre visible, ¿o es que quieres que el label se actualice con la dirección del archivo activo cuando lo disparas...?
En fin, creo que lo que buscas es una instrucción del tipo:
Label1.Text = ThisWorkbook.Path
ó
Label1.Text = ActiveWorkbook.Path
que deberás asociar a algun evento del formulario que la contiene como por ejemplo:
Private Sub UserForm_Initialize()
Para que la actualice al cargar el formulario
Espero haberte ayudado.
Un abrazo!
Fernando
Hola, colaga... :)
Mira cuando pongo cualquiera de las doa opciones que medas me manda el siguiente error:
Veriable de tipo Object o la variable de bloque With no esta establecida
Espero que me puedas ayudar...
Un saludo de SpeedCAD... :-)
Supongo que tendrás que revisar el nombre de tu "label" (Tal vez no sea LAbel1.text, que era al solo titulo de ejemplo). En todo caso prueba cargando el path a una variable cualquiera y luego usa esa variable. Lo importante de la respuesta es el comando ThisWorkbook. Path
Un abrazo!
Fernando
Hola...
Te cuento que no es problema del Label ya que la mía se llama lblArchivo y l puse así:
lblArchivo.Caption = ThisWorkbook.Path
Pero con ThisWorkbook.Path me da el siguiente error:
Error en el método 'ThisWorkbook' del objeto '_Global'
Bueno también lo que me interesa en realidad es saber cuando mi formulario esta sobre las otras aplicaciones o si esta visible y si es así cargue el path del archivo Excel...
Un saludo de SpeedCAD... :(
Un saludo de SpeedCAD... :-)
¿Probaste cargándolo en una variable?
Yo hice:
Private Sub UserForm_Initialize()
Label1.Caption = ThisWorkbook.Path
End Sub
Y funciona perfectamente. Tu conflicto debe estar en otra parte...
Si no es initialize, deberás buscaar otro evento para que lo actualice cunado esté en otras aplicaciones.
Chau, ciclotímico ;)
Fernando
Bueno gracias fejoal, me haz ayudado mucho.
El problema puede ser que tu estas ocupando VBA de Excel, yo estoy en VB 6.0...
Un saludo de SpeedCAD... :-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas