** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - workbook con nombre variable/aleatorio
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoworkbook con nombre variable/aleatorio

 Responder Responder
Autor
Mensaje
walof Ver desplegable
Nuevo
Nuevo


Unido: 06/Diciembre/2009
Localización: España
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Tema: workbook con nombre variable/aleatorio
    Enviado: 06/Diciembre/2009 a las 19:55
hola buenas tardes mi problema es el siguiente

tengo dos libros de excel, en uno estan los datos y el otro hace unos calculos a partir de los datos del primero. Mi problema es que el nombre del libro de datos es variable, el usuario puede guardar el libro con el nombre que quiera.

dejo el codigo para que veais por donde voy


'Abre el archivo donde esta la seccion

Workbooks.Open FileName:=ArchivoElegido
Workbooks("propiedades_mecanicas.XLSM").Activate


'Obtencion numero de puntos

m = 0
Do While Workbooks("ArchivoElegido").Worksheets("Hoja1").Cells(x, 2).Value <> ""
    x = x + 1
    m = m + 1
Loop
   

Mi problema es que como yo en principio no se el nombre que el usuario decidira, no puedo poner Workbooks("NOMBRE DEL LIBRO"), la solucion seria que dentro de workbook pudiera escribir la variable ArchivoElegido

sabeis de alguna manera de hacerlo, muchas gracias de antemano
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: Alcalá Meco
Estado: Sin conexión
Puntos: 3637
Enlace directo a este mensaje Enviado: 06/Diciembre/2009 a las 21:34
Puedes usar los índices, con Workbooks.Count sabes el número de libros abiertos y con Workbooks.Item(Workbooks.Count).FullName puedes obtener el nombre del último libro abierto.
 
Luis
El Búho es un pajarraco
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 07/Diciembre/2009 a las 07:52
Bienvenido al foro...
 
tienes varias opciones, abrir una ventana de dialogo para pedir el fichero a abrir, mirar los libros abiertos como apunta Luís o bien, simplemente, abrir un Input box para pedir el nombre (y evidentemente el camino)
 
dependerá de quien tenga que utilizar el fichero y de tus conocimientos en programacion
Arriba
walof Ver desplegable
Nuevo
Nuevo


Unido: 06/Diciembre/2009
Localización: España
Estado: Sin conexión
Puntos: 0
Enlace directo a este mensaje Enviado: 07/Diciembre/2009 a las 12:36
gracias por vuestra ayuda al final lo solucione con

s = Workbooks.Item(Workbooks.Count).Name

mi problema es que se programar en matlab y c++ pero aqui con vba hay comandos que desconozco y me rompo mucho la cabeza pensando cosas que ya existen

muchisimas gracias a los dos

hay que cerrar la conversacion o ponerla como solucionada?? es que soy nuevo en el foro, jejejejeje


Editado por walof - 07/Diciembre/2009 a las 12:38
Arriba
Jordi-Albert Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 06/Abril/2006
Localización: Alemania
Estado: Sin conexión
Puntos: 4321
Enlace directo a este mensaje Enviado: 07/Diciembre/2009 a las 12:41
Hola Walof,
 
    si, hay que decir que el hilo esta solucionado, y decir que lo cierren.
 
    De todas maneras la instruccion que nos apuntas, SIEMPRE te abrirá el último fichero, por lo que quizás no es lo más correcto.
 
   nota: para saber los objetos que puedes utilizar en tú código, puedes activar la grabadora de macros... y de esta manera saber cuales són.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable