[RESUELTO] Macro guardar un archivo PDF con DatosdeCelda

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Joseph_Cordon
Mensajes: 6
Registrado: Mar Abr 17, 2018 3:56 pm

[RESUELTO] Macro guardar un archivo PDF con DatosdeCelda

Mensaje por Joseph_Cordon »

Buena tarde. Soy nuevo y voy a intentar ser lo más específico posible con mi problema.

En estos foros he recopilado información para crear una macro que genere una hoja (En este ejemplo adjunto, la hoja se llama Contrato) en formato PDF. Hasta ahora funciona muy bien, ya que dado una dirección, va y lo guarda perfectamente.

El problema es que he intentado en varias ocasiones darle un nombre personalizado al archivo. Osea, si el contrato es de Juan Perez (El nombre está en la celda C2 de la hoja Datos) que el PDF generado, lo generé con el nombre Contrato Juan Perez.pdf

Si pudieran ayudarme con el código para que lo genere de tal manera estaria muy agradecido. Ya que como comento, he intentado realizarlo en varias ocasiones y no lo pude realizar correctamente.

Gracias por su ayuda de antemano.
Adjuntos
Contrato - copia.ods
(16.01 KiB) Descargado 312 veces
Última edición por mauricio el Vie May 25, 2018 3:46 pm, editado 2 veces en total.
Razón: Marcar icono de resuelto
Versi??n OpenOffice 4.1.1 en Windows 7 Professional
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Macro para guardar un archivo PDF con datos de Celda

Mensaje por FJCC-ES »

Código: Seleccionar todo

Sub ExHoUno
   Call BorrarAreas
        document = ThisComponent.CurrentController.Frame
      dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
       dim args2(0) as new com.sun.star.beans.PropertyValue
   args2(0).Name = "ToPoint"
  args2(0).Value = "imp1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
'FJCC----------------
oHojaDatos = ThisComponent.Sheets.getByName("Datos")
oCeldaC2 = oHojaDatos.getCellrangeByName("C2")
Nombre = oCeldaC2.String
URL = "file:///C:/Users/javier.lopez/Desktop/contratocompass/Contrato " & Nombre & ".pdf"
'FJCC ----------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())
    dim args4(2) as new com.sun.star.beans.PropertyValue
   args4(0).Name = "URL"
  args4(0).Value = URL 'FJCC
   args4(1).Name = "FilterName"
  args4(1).Value = "calc_pdf_Export"
   args4(2).Name = "FilterData"
  args4(2).Value = Array(Array("UseLosslessCompression",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Quality",0,90,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ReduceImageResolution",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("MaxImageResolution",0,300,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTaggedPDF",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("SelectPdfVersion",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportNotes",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarks",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenBookmarkLevels",0,-1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("UseTransitionEffects",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsSkipEmptyPages",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EmbedStandardFonts",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("AllowDuplicateFieldNames",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerToolbar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerMenubar",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("HideViewerWindowControls",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ResizeWindowToInitialPage",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("CenterWindow",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("OpenInFullScreenMode",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("DisplayPDFDocumentTitle",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialView",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Magnification",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Zoom",0,100,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PageLayout",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FirstPageOnLeft",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("InitialPage",0,1,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Printing",0,2,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Changes",0,4,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableCopyingOfContent",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EnableTextAccessForAccessibilityTools",0,true,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportLinksRelativeFsys",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PDFViewSelection",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ConvertOOoTargetToPDFTarget",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportBookmarksToPDFDestination",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("_OkButtonString",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("EncryptFile",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPasswords",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PreparedPermissionPassword",0,Array(),com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("Selection",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))
dispatcher.executeDispatch(document, ".uno:ExportToPDF", "", 0, args4())
   args2(0).Name = "ToPoint"
  args2(0).Value = "$F$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
End Sub
Joseph_Cordon
Mensajes: 6
Registrado: Mar Abr 17, 2018 3:56 pm

Re: Macro para guardar un archivo PDF con datos de Celda

Mensaje por Joseph_Cordon »

Buenísimo, muchas gracias!!! Dejo cerrado el tema
Versi??n OpenOffice 4.1.1 en Windows 7 Professional
Responder