Página 1 de 1

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

Publicado: Mar Mar 23, 2010 10:58 pm
por EDGARD
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

        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

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

Publicado: Mié Mar 24, 2010 2:08 am
por mauricio
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

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

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

Publicado: Mié Mar 24, 2010 7:48 pm
por EDGARD
Ok, apenas tenga el documento listo le pongo RESUELTO.

Saludos y gracias.