[RESUELTO] Ruta guardar en PDF

Discute sobre la aplicación de hojas de cálculo
Responder
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

[RESUELTO] Ruta guardar en PDF

Mensaje por ugab »

Estimados buenos días, tengo una planilla de pedidos, lo que quiero hacer es que luego de imprimir las 2 copias, guarde el archivo como pdf según parámetros dados, pero no hay caso no guarda.
Copio la macro por si alguien me puede ayudar.
rem IMPRESION ----------------------------------------------

rem define variables
rem dim document as object
rem dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$AA$96:$AO$125" ' AREA IMPRESION DEL RECIBO

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())

rem ----------------------------------------------------------------------
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Copies"
args6(0).Value = 2
args6(1).Name = "Collate"
args6(1).Value = true

dispatcher.executeDispatch(document, ".uno:Print", "", 0, args6())

rem dispatcher.executeDispatch(document, ".uno:Print", "", 0, args6())


rem GUARDA EL PDF--------------------------------------------------------

oSheet = ThisComponent.CurrentController.getActiveSheet
REM sRuta = oDlgCarpeta.Directory
recibo = oSheet.getCellRangeByName("Am101").value
dia = day(date)
mes = month(date)
ano = year(date)
hora = time
dim opdf1(3) as new com.sun.star.beans.PropertyValue
opdf1(0).Name = "URL"
rem opdf1(0).Value = "file:////home/epf/PDF/" + dia + " " + mes + " " + ano + " " + hora + " " + recibo + " " + Usuario + ".pdf"
REM opdf1(0).Value = "file:////home/cpch/PDF/" + dia + " " + mes + " " + ano + " " + hora + " " + recibo + " " + Usuario + ".pdf"
REM opdf1(0).Value = "file:///C:/DATOS/Parque/PDF/" & mes & " " & ano & " " & hora & " " & recibo & " " & Usuario &".pdf"
rem opdf1(0).Value = "C/DATOS/Parque/Pdf" & dia & " " & mes & " " & ano & " " & hora & " " & recibo & " " & Usuario & ".pdf"
rem opdf1(0).Value = "file:///home/parque/Parque/PDF/" + dia + " " + mes + " " + ano + " " + hora + " " + recibo + " " + Usuario + ".pdf"
opdf1(1).Name = "FilterName"
opdf1(1).Value = "calc_pdf_Export"
opdf1(2).Name = "FilterData"
opdf1(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,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,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("DocumentOpenPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PermissionPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))
opdf1(3).Name = "SelectionOnly"
opdf1(3).Value = False

dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 0, opdf1())
dispatcher.executeDispatch(document, ".uno:DeletePrintArea", "", 0, Array()) Estimados les dejo como arme la ruta, no es 100% como la quería pero me sirvio, gracias como siembre
opdf1(0).Value = "file:///C:/DATOS/Parque/PDF/pdf" & "Cuota" & dia & "-" & mes & "-" & ano & "-" & recibo & ".pdf"
Última edición por ugab el Lun Mar 13, 2023 2:01 pm, editado 1 vez en total.
OpenOffice 4.1.5 en Windows 10 - Ubuntu
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Ruta guardar en PDF

Mensaje por FJCC-ES »

Todas las líneas donde el código asigna un valor al URL (opdf1(0).Value) empiezan con REM o rem. Una línea de código que empieza con REM o rem es un comentario y no se ejecuta. Borre el texto REM en la línea que asigna el URL donde quiere guardar el PDF.

Código: Seleccionar todo

opdf1(0).Name = "URL"
rem opdf1(0).Value = "file:////home/epf/PDF/" + dia + " " + mes + " " + ano + " " + hora + " " + recibo + " " + Usuario + ".pdf"
REM opdf1(0).Value = "file:////home/cpch/PDF/" + dia + " " + mes + " " + ano + " " + hora + " " + recibo + " " + Usuario + ".pdf"
REM opdf1(0).Value = "file:///C:/DATOS/Parque/PDF/" & mes & " " & ano & " " & hora & " " & recibo & " " & Usuario &".pdf"
rem opdf1(0).Value = "C/DATOS/Parque/Pdf" & dia & " " & mes & " " & ano & " " & hora & " " & recibo & " " & Usuario & ".pdf"
rem opdf1(0).Value = "file:///home/parque/Parque/PDF/" + dia + " " + mes + " " + ano + " " + hora + " " + recibo + " " + Usuario + ".pdf" 
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: Ruta guardar en PDF

Mensaje por ugab »

Disculpa omití decir que lo he hecho y no me guarda nada.
Estoy con Windows 10
OpenOffice 4.1.5 en Windows 10 - Ubuntu
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: Ruta guardar en PDF

Mensaje por FJCC-ES »

Esta macro guarda las celdas AA96:AO125 de la hoja actual en el archivo C:\Users\fjcc\Desktop\Test.pdf. ¿Si cambia la ruta, funciona la macro en su sistema?

Código: Seleccionar todo

Sub Main

document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
'dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$AA$96:$AO$125" ' AREA IMPRESION DEL RECIBO

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:DefinePrintArea", "", 0, Array())

rem GUARDA EL PDF--------------------------------------------------------

oSheet = ThisComponent.CurrentController.getActiveSheet
REM sRuta = oDlgCarpeta.Directory
'recibo = oSheet.getCellRangeByName("Am101").value
'dia = day(date)
'mes = month(date)
'ano = year(date)
'hora = time
dim opdf1(3) as new com.sun.star.beans.PropertyValue
opdf1(0).Name = "URL"
opdf1(0).Value = "file:///C:/Users/fjcc/Desktop/Test.pdf" 

opdf1(1).Name = "FilterName"
opdf1(1).Value = "calc_pdf_Export"
opdf1(2).Name = "FilterData"
opdf1(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,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("IsAddStream",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("FormsType",0,0,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("ExportFormFields",0,true,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("DocumentOpenPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("RestrictPermissions",0,false,com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("PermissionPassword",0,"",com.sun.star.beans.PropertyState.DIRECT_VALUE),Array("",0,,com.sun.star.beans.PropertyState.DIRECT_VALUE))
opdf1(3).Name = "SelectionOnly"
opdf1(3).Value = False

dispatcher.executeDispatch(document, ".uno:ExportDirectToPDF", "", 0, opdf1())
dispatcher.executeDispatch(document, ".uno:DeletePrintArea", "", 0, Array()) 
End Sub
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: Ruta guardar en PDF

Mensaje por ugab »

Hola muchas gracias por la ayuda, primero que nada.
Probé y si funciona, pero cuando le paso el siguiente código no graba nada.
opdf1(0).Value = "file:///C:/Users/mlcol/OneDrive/Escritorio/PDF/" & dia & " " & mes & " " & ano & " " & hora & " " & recibo & " " & Usuario & ".pdf"
Lo raro que en Ubuntu funciona sin problema, el error se da en Windows
La verdad no se donde le estoy errando
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Ruta guardar en PDF

Mensaje por Longi »

Buenas!
Yo no me aclaro con Linux (uno tiene muchas limitaciones), pero creo que las rutas son distintas en Linux y en Windows, de tal manera que donde en Windows se usa "/" en Linux se usa "\".
Mira a ver si usando la función ConvertTOURL(.....................) a ver qué pasa. (No garantizo nada, más bien garantizo que no funcionará, pero al menos te cambia de posición la barra).

Un saludo!
Openoffice 4.1.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
ugab
Mensajes: 141
Registrado: Mar May 17, 2011 9:46 pm

Re: [RESUELTO] Ruta guardar en PDF

Mensaje por ugab »

Estimados les dejo como arme la ruta, no es 100% como la quería pero me sirvio, gracias como siembre

opdf1(0).Value = "file:///C:/DATOS/Parque/PDF/" & "Cuota" & dia & "-" & mes & "-" & ano & "-" & recibo & ".pdf"
OpenOffice 4.1.5 en Windows 10 - Ubuntu
Responder