Forum Discussion

Marco_Barranco's avatar
Marco_Barranco
Copper Contributor
Nov 09, 2023

Guardar libro de Excel 365 mediante un script

Hola!

Diseñé una macro para guardar un libro en la cual siempre le solicita al usuario que indique la ruta en donde se almacenará el archivo, el nombre del archivo lo genero a través de un algoritmo que une el nombre del usuario con el periodo correspondiente a la información contenida en el libro y no lo tiene que escribir el usuario.

Estoy intentando realizar lo mismo utilizando Scripts pero no encuentro alguna función o método que me permita solicitar la ruta ni la propiedad en donde pueda almacenar el nombre del libro.

Alguien tiene una idea de como lo podría lograr.

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    Marco_Barranco 

    Los scripts de Office en Excel no proporcionan una funcionalidad directa para solicitar la ruta de guardado o asignar dinámicamente un nombre de archivo, que yo sepa. Los scripts de Office están diseñados para ejecutar scripts automatizados sin intervención del usuario.

     

    Sin embargo, puede lograr un resultado similar especificando la ruta y el nombre del archivo directamente en su secuencia de comandos. A continuación se muestra un ejemplo de cómo puede utilizar Office Scripts para guardar un libro de Excel en una ubicación específica:

     

    Javascript:

    function main(workbook: ExcelScript.Workbook) {
        // Obtener la hoja de cálculo activa
        let activeWorksheet = workbook.getActiveWorksheet();
    
        // Generar el nombre del archivo (sustituye esto por tu algoritmo)
        let fileName = "NombreUsuario_Periodo.xlsx";
    
        // Especificar la ruta de destino
        let destinationPath = "C:\\Ruta\\Al\\Destino\\";
    
        // Construir la ruta completa
        let fullPath = destinationPath + fileName;
    
        // Guardar el libro en la ubicación especificada
        workbook.saveAs(fullPath);
    
        // Opcional: cerrar el libro después de guardar
        workbook.close();
    }

     

    Este enfoque no solicita al usuario la ruta para guardar, pero le permite automatizar la tarea de guardar el libro con un nombre y una ubicación específicos. Tenga en cuenta que los scripts de Office se basan en JavaScript y, por lo tanto, algunas funciones y enfoques pueden diferir de VBA (si está acostumbrado a trabajar con macros en VBA). El texto fue creado con la ayuda de IA.

     

    El autor de este texto no habla este idioma, el texto ha sido traducido, puede haber errores gramaticales y/o de expresión.

     

    ¡Mis respuestas son voluntarias y sin garantía!

     

    Espero que esto te ayudará.

     

    ¿Fue útil la respuesta? Marca como mejor respuesta y dale me gusta!

    Esto ayudará a todos los participantes del foro.

    • Marco_Barranco's avatar
      Marco_Barranco
      Copper Contributor
      Hola, mucha gracias por el apoyo, sin embargo no me acepta la instrucción workbook.saveas.
      • NikolinoDE's avatar
        NikolinoDE
        Gold Contributor

        Marco_Barranco 

         

        Lo siento por la confusión. Parece que la función workbook.saveAs() no está funcionando correctamente en tu entorno. Esto podría deberse a permisos insuficientes o configuraciones específicas en Excel que no permiten guardar el archivo en la ubicación deseada.

        ¿Has verificado si cuentas con los permisos necesarios para guardar el archivo en esa ubicación específica? A veces, dependiendo de la configuración, se requieren permisos especiales para guardar archivos en ciertas carpetas o directorios.

        Si puedes proporcionar detalles sobre el tipo de mensaje de error o la respuesta que recibes al intentar usar workbook.saveAs(), sería útil para entender mejor el problema y poder ofrecerte una solución más precisa.

Share

Resources