Error al exportar a pdf

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

Error al exportar a pdf

Notapor ElOr » Vie Abr 26, 2019 9:26 pm

Buenas.

Me he hecho un programa de facturación, gracias Mauricio por tu estupendo manual, con base y calc ya me funciona todo excepto una cosa:

Cuando termino una factura la forma de guardar el archivo para enviárselo a los clientes es en PDF y al exportar con la siguiente macro me da el siguiente error:
"Error al guardar el documento FacturacionLibreOffice2:
Error general.
Error general de entrada/salida."

Os dejo la macro tal cual la tengo a ver si podéis ver el fallo, que yo soy bastante nuevo en esto de la programación, de hecho es mi primer proyecto en oOO Basic, y seguro que se me escapa algo...
Código: Seleccionar todo   Expandir vistaContraer vista
Sub GuardarArchivoEnPDF()
Dim oDlgCarpeta As Object
Dim sRuta As String
Dim oHoja As Object
Dim oNumeroFactura As Object
Dim oNombreCL As Object
Dim oFechaFactura As Object
Dim mOpciones(1) As New "com.sun.star.beans.PropertyValue"
Dim oDocument As Object
Dim Dispatcher As Object
Dim NombreDeFactura As String
      
   oDocument = ThisComponent.CurrentController.Frame
   Dispatcher =  createUnoService("com.sun.star.frame.DispatchHelper")

   oDlgCarpeta = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
   With oDlgCarpeta
      .Title = "Selecciona carpeta para guardar la factura"
      .DisplayDirectory = ConvertToURL("I:\cesar empresa\aasoinsa\facturas")
   End With
   
   If oDlgCarpeta.Execute() Then
      sRuta = oDlgCarpeta.Directory
      oHoja = ThisComponent.getSheets().getByName("Inicio")
      oNumeroFactura = oHoja.getCellRangeByName("F4")
      oNombreCL = oHoja.getCellRangeByName("B5")
      oFechaFactura = oHoja.getCellRangeByName("F5")
      NombreDeFactura = "Factura número " & oNumeroFactura.getString() & " " & oNombreCL.getString & " de " & oFechaFactura.getString & ".pdf"
      sRuta = ConvertToURL(sRuta & "\" & NombreDeFactura)
      mOpciones(0).Name = "URL"
      mOpciones(0).Value = sRuta
      mOpciones(1).Name = "filtername"
      mOpciones(1).Value = "Calc_pdf_Export"
      
      dispatcher.executeDispatch(oDocument, ".uno:ExportToPDF", "", 0, mOpciones())
   Else
      MsgBox "Proceso cancelado"
   End If
End Sub


Muchas gracias por adelantado por vuestro tiempo

Saludos desde España
ElOr
LibreOffice 6.0.7.3 x64 Windows 10
Avatar de Usuario
ElOr
 
Mensajes: 2
Registrado: Vie Abr 26, 2019 9:10 pm

Re: Error al exportar a pdf

Notapor Longi » Sab Abr 27, 2019 3:48 pm

Buenas!
Yo hago esas cosas desde un Writer, pero supongo que el error es del mismo tipo:
Supongo que generas una factura y no te da problemas, pero a la siguiente te da ese error.
Si es así, es simplemente que tienes el calc abierto. Deberías (e insisto, si no me equivoco), deberías establecer dentro de la rutina un cierre del documento antes de lanzar la macro la siguiente vez.

Ya contarás!

Un saludo! ;)
Openoffice 4.1.5, en Windows 10
Openoffice 4.1.3, en Windows 7
Libreoffice 6.0, en Windows 10
Longi
 
Mensajes: 546
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Error al exportar a pdf

Notapor ElOr » Lun Abr 29, 2019 8:33 pm

Muy buenas Longi, gracias por tu respuesta.

La verdad es que no, me da error desde la primera factura, vamos que no puedo exportar el a pdf, generar las facturas puedo sin problemas, por eso sólo he puesto el código de la macro que genera el pdf, porque entiendo que el resto, y así me lo parece, funciona perfectamente.

No sé cómo podría hacer el cerrar calc para generar el pdf, te comento: Suelo hacer varias facturas al día, no todos los días pero sí muchos, y el andar cerrando y abriendo Calc para hacerlas me parece poco funcional, además que yo llamo a las macros desde cuadros de díálogo que invoco desde Calc, además que la plantilla de la factura está en Calc.... No sé, soy un completo indigente en estos menesteres, el "programa" lo he heco mirando el manual de Mauricio y viendo mis dudas en el foro...

Si se necesitara subir el "programa" completo, no tengo problema, pero me parece echarle mucho morro ejejejjejeje.

Gracias de nuevo.

Saludos desde España
LibreOffice 6.0.7.3 x64 Windows 10
Avatar de Usuario
ElOr
 
Mensajes: 2
Registrado: Vie Abr 26, 2019 9:10 pm

Re: Error al exportar a pdf

Notapor mauricio » Sab Jun 01, 2019 10:41 pm

El error te indica o bien, un problema con el disco, o, lo más probable, con la ruta destino que estableces, asegurate de que este correctamente construida, que este en formato URL, y que tu sistema operativo soporte todos los caracteres usados en la ruta.
______________________________________________
"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


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 3 invitados