none
Macro para abrir archivo excel en la misma carpeta RRS feed

  • 質問

  • Hola, necesito abrir un archivo excel con una macro para copir su contenido a otro archivo, el problema es que la carpeta origen del archivo de datos no es constante por lo que no puedo usar:

    workbooks.open filename("Z:\folder1\folder2\ARCHIVO.XLS")

    Alguien sabe como poder abrir el archivo sin tener que darle la ruta?, es decir los archivos estan en la misma carpeta.

    Muchas gracias

    2006年12月8日 20:05

回答

  • Prueba estas opciones:

    1) No pongas nada en la ruta

    workbooks.open filename("ARCHIVO.XLS")

    2)Lee la ruta del archivo abierto y guardala en una variable p.e StrRuta y luego:

    workbooks.open filename( StrRuta & "ARCHIVO.XLS")

    Un saludo.

    *******************************************************************************************************************

    Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.

    *******************************************************************************************************************

    Daniel Matey.

    MCSE, MCSA, MCSD, MCDBA.

    Blog: http://dmatey.spaces.live.com

     

    2006年12月9日 9:47

すべての返信

  • Prueba estas opciones:

    1) No pongas nada en la ruta

    workbooks.open filename("ARCHIVO.XLS")

    2)Lee la ruta del archivo abierto y guardala en una variable p.e StrRuta y luego:

    workbooks.open filename( StrRuta & "ARCHIVO.XLS")

    Un saludo.

    *******************************************************************************************************************

    Colabora con el foro: Si la respuesta te es de utilidad marca la pregunta como respondida.

    *******************************************************************************************************************

    Daniel Matey.

    MCSE, MCSA, MCSD, MCDBA.

    Blog: http://dmatey.spaces.live.com

     

    2006年12月9日 9:47
  •  

     

    Prueba esto:

    workbooks.open filename(ThisWorkbook.Path & "\ARCHIVO.XLS")

    2007年6月28日 16:29
  • Puede que es este caso el archivo simpre se llame igual y siempre esté en el mismo directorio, pero ¿te interesaría poder utilizar un archivo que esté en otro lugar y que se pueda llamar de cualquier manera?

    puedes hacer que aparezca el cuadro de diálogo "Abrir Archivo" para seleccionar el archivo que quieras, así puede estar en cualquier parte y llamarse de cualquier manera.

     

    para esto utiliza

    Application.GetOpenFilename

    es resultado de este método es una cadena de texto con la ruta hasta el archivo seleccionado.

     

    por ejemplo

    stArchivoElegido = Application.GetOpenFilename("Hoja Excel , *.xls*", _
        , "Seleccione el archivo para copiar sus datos." )

     

    Espero que este consejo te sea útil. Aunque no es exactamente lo que preguntas creo que es más versátil que poner la ruta al archivo como una cadena de texto manualmente.

    2007年6月29日 7:37
  • hola, a mi me funcionó así

     

     Workbooks.Open Filename:=Application.GetOpenFilename("Hoja Excel , *.xls*", _
        , "Seleccione el archivo para copiar sus datos.")

    buen dato suerte a todos

     

    Huror

    2008年3月8日 13:05
  • y si no quiero abrir necesariamente un archivo de excel?? sino un block de notas u otro archivo??? saben que hacer en ese caso???
    2010年1月31日 23:13
  • El codigo sería asi:


    Workbooks.Open Filename:=Application.GetOpenFilename("Block de Notas , *.txt*", _
        , "Seleccione el archivo para copiar sus datos.")

    las diferencias estan acentuadas de Negrita.

    Saludos.


    Trainer MS Office 2007
    2010年2月1日 3:09
  • Hola Huror:

    Aplique tu codigo y me funciono perfecto, pero si doy click en el boton Cancelar de la ventana de apertura del archivo, me genera el siguiente error:

    Se ha producido el error '1004' en tiempo de ejecucion

    No se encontro "Falso.xls". Compruebe la ortografia del nombre del archivo y si su ubicacion es correcta.

    Podrias indicarme como controlo este error?? es decir, que si hago click en Cancelar que no haga nada.

    Te agradezco enormemente tu colaboración y pronta respuesta...

    Saludos....
    "El espiritu de lucha es lo que nos impulsa cada día a emprender nuevos retos..." Alexsc007 Bogotá - Colombia
    2011年12月6日 16:17
  • Saludos.

    Para eliminar el error cuando cancelan el archivo a abrir, lo puedes hacer de la siguiente forma:

        stArchivoElegido = Application.GetOpenFilename("Block de Notas , *.txt*", , "Seleccione el archivo para copiar sus datos.")

        If stArchivoElegido <> False Then

        Workbooks.Open Filename:=stArchivoElegido

        Else

        End If

    2012年2月2日 22:07
  • buen dia

    yo tengo el mismo problema pero no tengo ni idea de como hacer la macro, ya lo hice con una formula pero debo de cabiar el valor a diario porque es un reporte y actualizo alrededor de 70015 celdas por eso me gustaria tener una macro.... me pueden ayudar??

    gracias

    2012年11月1日 6:58
  • hola, a mi me funcionó así

     

     Workbooks.Open Filename:=Application.GetOpenFilename("Hoja Excel , *.xls*", _
        , "Seleccione el archivo para copiar sus datos.")

    buen dato suerte a todos

     

    Huror

    Hola estoy probando con las macros y el código que tienes me es útil, pero después de seleccionar el archivo necesito leer la información que esta dentro de ese archivo como puedo realizar ese procedimiento. Si me puede ayudar sera de gran ayuda.
    2013年6月19日 22:14