[RESUELTO]Guardar copia de un doc con el nombre de una celda

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO]Guardar copia de un doc con el nombre de una celda

Notapor EDGARD » Mar Mar 23, 2010 10:58 pm

Guardar copia de un documento con el nombre de una celda

Bueno el nombre dice todo, pero solo necesito un archivo que cuando pulse un boton guarde una copia del documento con el nombre de una celda, lo cierre y vuelva al archivo. Consegui este codigo en el foro pero Quisiera q no me pida la ubicacion donde guardar sino q ya este establecida la direccion en la macro.

Este proyecto en totalmente aparte al q tengo en otro tema. Al final lo publico para cualquiera q le pueda servir.

Código: Seleccionar todo   Expandir vistaContraer vista
        Sub GuardarArchivo2()
        Dim oDlgCarpeta as Object
        Dim sRuta As String
        Dim oHoja As Object
        Dim oCelda As Object
        Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"

                'Servicio para seleccionar una ruta, solo la carpeta
                oDlgCarpeta = CreateUnoService ("com.sun.star.ui.dialogs.FolderPicker")
               
                With oDlgCarpeta
                        'El título del cuadro de diálogo
                        .Title = "Selecciona el directorio donde guardar el nuevo archivo"
                        'El directorio predeterminado, si usas Windows puede ser D:\Mis documentos
                        .DisplayDirectory = ConvertToUrl("/home/mau")
                End With
               
                'Lo mostramos
                If oDlgCarpeta.Execute() Then
                   'Obtenemos la ruta seleccionada por el usuario
                   sRuta = oDlgCarpeta.Directory
                   'La hoja donde se tomara el dato para el nombre del archivo
                   oHoja = ThisComponent.getSheets().getByName("Hoja1")
                   oCelda = oHoja.getCellRangeByName("A1")
                   'Construimos la ruta completa
                   sRuta = sRuta & "/" & oCelda.getString() & ".ODS"
                 'Guardamos el archivo
                    ThisComponent.storeAsURL( sRuta, mOpciones() )
                    MsgBox "Archivo guardado correctamente"
                Else
                    MsgBox "Proceso cancelado"
                End If

        End Sub
Última edición por EDGARD el Mié Mar 24, 2010 7:58 pm, editado 1 vez en total
OpenOffice 3.2 en Windows 7 Ultimate/OpenOffice 3.2 Windows XP
EDGARD
 
Mensajes: 10
Registrado: Mar Feb 23, 2010 8:28 pm

Re: Guardar copia de un documento con el nombre de una celda

Notapor mauricio » Mié Mar 24, 2010 2:08 am

Hola...

La siguiente modificación a la macro, te guarda el archivo en la carpeta especificada en sRuta y con el nombre de la celda A1 de la Hoja1

Código: Seleccionar todo   Expandir vistaContraer vista
Sub GuardarArchivo3()
Dim sRuta As String
Dim oHoja As Object
Dim oCelda As Object
Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"

     'La ruta que quieras aquí
     sRuta = "/home/usuario/carpeta"
     'La hoja donde se tomara el dato para el nombre del archivo
     oHoja = ThisComponent.getSheets().getByName("Hoja1")
     oCelda = oHoja.getCellRangeByName("A1")
     'Construimos la ruta completa
     sRuta = ConvertToUrl( sRuta & "/" & oCelda.getString() & ".ODS" )
     'Guardamos el archivo
     ThisComponent.storeAsURL( sRuta, mOpciones() )
     MsgBox "Archivo guardado correctamente"

End Sub


Si esto responde tu pregunta, por favor edita el primer mensaje de este hilo y agrega al principio del título la etiqueta [RESUELTO], de esta forma conseguiremos un foro más ordenado.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5827
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX

Re: Guardar copia de un documento con el nombre de una celda

Notapor EDGARD » Mié Mar 24, 2010 7:48 pm

Ok, apenas tenga el documento listo le pongo RESUELTO.

Saludos y gracias.
OpenOffice 3.2 en Windows 7 Ultimate/OpenOffice 3.2 Windows XP
EDGARD
 
Mensajes: 10
Registrado: Mar Feb 23, 2010 8:28 pm


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados