Error al exportar a pdf

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Avatar de Usuario
ElOr
Mensajes: 2
Registrado: Vie Abr 26, 2019 9:10 pm

Error al exportar a pdf

Mensaje por ElOr »

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

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
Longi
Mensajes: 804
Registrado: Dom Ene 20, 2013 9:05 pm
Ubicación: Ourense, Galicia, España

Re: Error al exportar a pdf

Mensaje por Longi »

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.7, en Windows 10
Libreoffice 6.4.2, en Windows 10
Avatar de Usuario
ElOr
Mensajes: 2
Registrado: Vie Abr 26, 2019 9:10 pm

Re: Error al exportar a pdf

Mensaje por ElOr »

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
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Error al exportar a pdf

Mensaje por mauricio »

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
Responder