1. Esta comunidad utiliza cookies. Si continuas utilizando nuestra comunidad estás aceptando la utilización de nuestras cookies. Más información.
  2. ¡Bienvenid@ a AyudaExcel! El foro más visitado sobre Excel en habla hispana.

    Si esta es tu primera visita, asegúrate de revisar los temas de la sección Utilización y Funcionamiento para familiarizarte con las funciones del foro. Si deseas publicar mensajes, será necesario que te Registres para que puedas dejar respuestas y crear tus propios mensajes, recuerda que es gratuito.

[SOLUCIONADO] Abrir archivo de excel por medio de una macro

Tema publicado en 'Macros y programación VBA' iniciado por cuadros08, 21 Ago 2010.

Estado del tema:
Cerrado para nuevas respuestas
  1. cuadros08

    cuadros08 Usuario

    Reg:
    26 Mar 2010
    Mensajes:
    104
    Me Gusta recibidos:
    0
    Que tal a todos, tengo un problema con una macro que me abre un archivo y lo modifico, el problema es que ocupo la rutina hasta donde habre el archivo y seguir con otras instrucciones pero aqui en la ruta yo se la asigno y a la hora de llegar a Dir ("*.xls") me marca un error y me dice que el archivo no existe, esto lo marca por que me intenta abrir un archivo de escritoria y no deberia de hacerlo, la ruta es de una carpeta en red me podrian ayudar.
    Por que lo necesito, ya que el archivo cambia de nombre constantemente al menos los ultimo 5 caracteres del nombre del archivo, por eso es que necesitaria que busque el archivo en la ruta y lo abra, solo existe un archivo de excel en esa carpeta

    Pongo el codigo para q lo chequen.

    Sub RepasarCarpeta()
    Dim wb As Workbook
    Dim strArchivoExcel As String
    Dim strNombreCarpeta As String
    Dim mivalor

    'carpeta a repasar
    strNombreCarpeta = "\\GDL1AMFPSW02\Data$\EMS\ENGINEERING\Product\PACE\FECHAS DE EFECTIVIDAD\PCA"
    'preparar carpeta
    ChDir strNombreCarpeta
    strArchivoExcel = Dir("*.xls")
    'repasamos los archivos de la carpeta
    Do While strArchivoExcel <> ""
    strArchivoExcel = Dir
    Set wb = Workbooks.Open(strNombreCarpeta & "\" & strArchivoExcel)

    'wb.Sheets(1).Select
    'mivalor = Application.InputBox("De numero columna", Type:=1)
    'Cells(1, mivalor).Select
    'Selection.EntireColumn.Delete
    'wb.Save
    'wb.Close False
    'Set wb = Nothing

    Loop
    End Sub

    Gracias.

    Saludos!!!
     
  2. neverdelimon1

    neverdelimon1 Moderador Staff AyudaExcel

    Reg:
    25 Ago 2008
    Mensajes:
    894
    Me Gusta recibidos:
    76
    Hola

    Si es el unico archivo que hay en dicha ruta, entonces el primer resultado que te devuelve la funcion dir es el que debes considerar, seria algo como esto:

    PHP:
    Es necesario iniciar sesión o registrarse para ver este contenido.
    Solo verifica que tu ruta sea la correcta

    saludos cordiales
     
  3. cuadros08

    cuadros08 Usuario

    Reg:
    26 Mar 2010
    Mensajes:
    104
    Me Gusta recibidos:
    0
    Hola, que tal, sabes al correr la macro no me asigna el nombre del archivo a la variable strarchivoexcel, tu sabes por qué, tal vez haya algo más sencillo para hacer lo que necesito, basicamente es que busque el archivo en la ruta que pongo en la macro lo encuentre y lo abra, solo existe un archivo en esa ruta, lo malo es que cambia de nombre constantemente, lo que cambia es la fecha de actualizacion que se le pone en el nombre del archivo, tu sabrias si hay algo mas sencillo o modificando la macro que tengo lo haria ya que me da algunos problemas, la funcion dir me detecta un archivo de escritoria y no se por qué, cuando la variable que se le asigna la ruta si es correcta.
    Soy principiante en esto de las macros, más o menos le entiendo lo que hacen pero a la hora de hacer una es donde me tardo mucho y a veces no se como seguirle con la macro, jejejeje, gracias por ayudar

    De antemano gracias por tu ayuda, espero y sea claro con la explicacion.
    Por cierto de donde eres, Ciudad de mexico?, yo soy de GDL,

    Saludos!!!!!

    [​IMG]
    Es el segundo post que te corrijo. Por favor escribe correctamente. Esto no es un sms como en un celular.
    Gracias.
     
  4. neverdelimon1

    neverdelimon1 Moderador Staff AyudaExcel

    Reg:
    25 Ago 2008
    Mensajes:
    894
    Me Gusta recibidos:
    76
    Hola

    Muy seguramente se debe a la ruta donde esta el archivo, vamos a comenzar por ahi, pega esta macro en un modulo estandar de un libro nuevo, ejecutala y selecciona el archivo que deseas abrir para poder conocer su ruta, tomas nota de lo que te dice la macro (si funciono o no correctamente la funcion DIR)

    PHP:
    Es necesario iniciar sesión o registrarse para ver este contenido.
    Por Mensaje Privado me puedes hacer tambien llegar cualquier inquietud personal que tengas, ya que veo te editaron tu mensaje,

    saludos cordiales

    PD. Soy del Estado de Mexico
     
  5. Julibaga

    Julibaga Usuario

    Reg:
    23 Sep 2009
    Mensajes:
    2.377
    Me Gusta recibidos:
    115
    Género:
    Masculino
    Sí, por mensaje privado puede escribir como guste. En el foro debe hacerlo correctamente.
    Gracias.
     
  6. neverdelimon1

    neverdelimon1 Moderador Staff AyudaExcel

    Reg:
    25 Ago 2008
    Mensajes:
    894
    Me Gusta recibidos:
    76
    Me uno al comentario del master y moderador julibaga

    Hay que respetar las reglas del foro, ya que asi es mas facil comprendernos y ayudarnos.

    Sube un archivo asi sera mas facil comprender el proposito de la macro

    saludos cordiales
     
  7. cuadros08

    cuadros08 Usuario

    Reg:
    26 Mar 2010
    Mensajes:
    104
    Me Gusta recibidos:
    0
    Hola que tal, sabes no se que tenia mi computadora, pero ahora ya corre bien la macro, corri la q me pasaste para checar la ruta y despues la macro para abrir el progama, ambas funcionaron, no se que paso, pero lo bueno es que ya funciona, ahora surgio otro detalle, me cambiaron el panorama un poco, resulta que en la ruta habra dos o tres archivos en vez de uno solo, como le podria hacer para tener la opcion de escoger cualquiera de los archivos en la ruta, se me ocurre un listbox pero hasta ahi llega mi conocimiento, no sabria como hacer la programacion, crees que me podrias ayudar.

    Por cierto para poder responder en privado seria en responder con cita ??? o es en otro parte.

    Mil disculpas por los errores.

    Saludos!!!!
     
  8. neverdelimon1

    neverdelimon1 Moderador Staff AyudaExcel

    Reg:
    25 Ago 2008
    Mensajes:
    894
    Me Gusta recibidos:
    76
    Hola

    Se puede usar un listbox, o un combobox el caso seria si lo necesitas dentro de un form o dentro de la hoja de calculo

    Aun no me queda claro que es lo que pretendes lograr, lo mejor es que subas un archivo y ahi coloques el ejemplo de lo que deseas obtener (con datos ficticios solo que conserve la estrutura)

    Para enviar mensajes privados das clic en mi nick, y luego en mensaje privado, los mensajes privados son sólo para cuestionamientos personales, lo mejr es que postees aqui en el mismo foro tus dudas

    saludos cordiales
     
  9. cuadros08

    cuadros08 Usuario

    Reg:
    26 Mar 2010
    Mensajes:
    104
    Me Gusta recibidos:
    0
    Hola que tal mira anexo un archivo como muestra para lo que necesitaria, el problema es q tengo problemas para poder subirlo, lo puse en una web, espero y lo pudieras checar.

    Este es el link.

    Saludos!!!!
     
  10. neverdelimon1

    neverdelimon1 Moderador Staff AyudaExcel

    Reg:
    25 Ago 2008
    Mensajes:
    894
    Me Gusta recibidos:
    76
    Hola

    Lo que comentas de usar un listbox si es posible, pero porque mejor no usas la propia interfaz de MS Excel para abrir archivos (a parte de verse mas elegante tiene mayores prestaciones).

    Prueba con este ejemplo

    Su
    PHP:
    Es necesario iniciar sesión o registrarse para ver este contenido.
    Ahora que si deseas el listbox tambien se puede realizar facilmente.

    saludos cordiales
     
  11. cuadros08

    cuadros08 Usuario

    Reg:
    26 Mar 2010
    Mensajes:
    104
    Me Gusta recibidos:
    0
    Que tal buen dia, sabes si me funciono bien, si esta mejor.

    Gracias por tu ayuda.
     
Estado del tema:
Cerrado para nuevas respuestas

Compartir esta página