Comodin Workbooks.Open ThisWorkbook.Path

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Comodin Workbooks.Open ThisWorkbook.Path

Notapor cispher » 06 Feb 2012 10:06

Hola expert@s, me han pillado con lo del cambio de procedimiento para hacer preguntas, jajaja, voy al grano, resulta que quiero abrir un fichero el cuyo nombre tiene una parte fija y otra varia: Sistema Estadístico ver 1.0.12, pero en otro momento podría ser Sistema Estadístico ver 2.5.12.

mi pregunta es como utilizar un comodin en:

Workbooks.Open ThisWorkbook.Path & "\Sistema Estadístico ver " & * & ".xls*

Workbooks.Open ThisWorkbook.Path & "\Sistema Estadístico ver " * ".xls*

Workbooks.Open ThisWorkbook.Path & "\Sistema Estadístico ver " * .xls

Workbooks.Open ThisWorkbook.Path & "\Sistema Estadístico ver " * .xls*

me da error de todas estas maneras, alguien tiene alguna idea, es que no quiero ponerme a leer ficheros, bueno si no queda otra si, pero si puedo utilizar esta opción, seria ideal, gracias de antemano.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
cispher
Miembro Nuevo
Miembro Nuevo
 
Registrado: 03 Feb 2012 14:21

Re: Comodin Workbooks.Open ThisWorkbook.Path

Notapor Adrian » 06 Feb 2012 13:18

Hola, siguiendo un sentido común, te peude decir que esa instrucción es para un archivo en particular, y vos querés indicarle varios archivos y por eso el error, te dejo varias alternativas:
Código: Seleccionar todo
Sub AbrirArch()
Dim Arch As FileDialog, Aux As Integer
ChDir ThisWorkbook.Path 'tomo el directorio donde se encuentra el libro
Set Arch = Application.FileDialog(msoFileDialogOpen)
Arch.AllowMultiSelect = True 'para selecionar varios archivos
Arch.InitialFileName = "Sistema Estadístico ver" & "*" & ".xls*" ' Tu libro
If Arch.Show = 0 Then Exit Sub
End Sub
Sub Abrir_1_Arch()
Dim Aux
Aux = Application.GetOpenFilename(FileFilter:="Archivos Excel (*.xls), *.xls", Title:="Seleccione Archivo")
If Aux = False Then
' Presionó Cancelar
MsgBox "Canceló", 64, ""
Exit Sub
Else
Workbooks.Open Filename:=Aux
End If
End Sub
 Sub AbrirVariosArchivosExcel()
   Dim NombreArchivo As Variant, Contador As Integer
   ' permite seleccionar Varios Archivos en el cuadro de dialogo
   NombreArchivo = Application.GetOpenFilename(, , , , True)
   Contador = 1
   ' ubound nos indica cuantos archivos hay seleccionado
      While Contador <= UBound(NombreArchivo)
         'Abre el archivo seleccionado
         Workbooks.Open NombreArchivo(Contador)
         ' Muestra el archivo seleccionado
         MsgBox NombreArchivo(Contador)
         'incrementa el Contador
         Contador = Contador + 1
      Wend
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Comodin Workbooks.Open ThisWorkbook.Path

Notapor Adrian » 06 Feb 2012 13:27

Otra Forma:
Sub AbrirArchivosExcel()
Dim Arch As FileDialog, Aux As Integer
ChDir ThisWorkbook.Path 'tomo el directorio donde se encuentra el libro
Set Arch = Application.FileDialog(msoFileDialogOpen)
Arch.AllowMultiSelect = True 'para selecionar varios archivos
Arch.InitialFileName = "Sistema Estadístico ver" & "*" & ".xls*" ' Tu libro
If Arch.Show = 0 Then Exit Sub
For Aux = 1 To Arch.SelectedItems.Count
Workbooks.Open Arch.SelectedItems(Aux)
Next
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG

Re: Comodin Workbooks.Open ThisWorkbook.Path

Notapor cispher » 06 Feb 2012 15:44

Hola Adrian, muchas gracias, las dos surgerencias, que ambas son validas, pero no especifique que yo tengo el sistema trabajando sin problemas, con un metodo parecido a los que me indicas, mi primer libro abre automaticamente a Sistema Estadístico ver (la que sea), sin problemas, pero claro hago lo que comentas muy bien en los dos ejemplos, como me queria ahorrar unas lineas, por eso pense en utilizar el comodin con workbooks.open asi iba directo al fichero en cuestion sin tener que leer los ficheros del directorio, ya que siempre voy abrir el mismo fichero, pero con numero de versiones diferentes, segun se le vayan haciendo mejoras, los ejemplos que puse fueron de las formas que trate de dar con la sintaxis correcta, pero siempre me salia mal.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
cispher
Miembro Nuevo
Miembro Nuevo
 
Registrado: 03 Feb 2012 14:21


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: victor_mrc7 y 7 invitados