Encontre un error libro aprendiendo Aoo

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

Encontre un error libro aprendiendo Aoo

Notapor marcosdavid » Jue Nov 24, 2016 7:27 am

ACLARACION ¡el libro esta exelente y muy didactico! esto es solo un aporte positivo:
Este error aparece en los libros de nuestros amigos Mauricio Baeza y en el libro de Eduardo Badiola

Si ejecutan esta macro sin que previamente exista el archivo dara el siguiente error:

Error de ejecución de BASIC.
Se ha producido una excepción
Type: com.sun.star.lang.IllegalArgumentException
Message: Unsupported URL <file:///home/marcos/calc.ods>: "type detection failed".


Estoy ejecutando LibreOffice 5.1.4.2 en linux mint 18

el problema esta en la siguiente macro en la pagina 151
Esta es la macro qui tiene un error
Código: Seleccionar todo   Expandir vistaContraer vista
Sub AbriendoGuardandoDocumentos2()
Dim sRuta As String
Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object

   sRuta = "private:factory/scalc"
   oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )

   'Nos indica si el archivo esta guardado físicamente
   MsgBox oDoc.hasLocation()

   sRuta = ConvertToUrl( "/home/mau/Mi archivo de Calc.ods" )
   oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )

   MsgBox oDoc.hasLocation()

End Sub


SOLUCION:
Este codigo es el mismo que el anterior solo con una correccion.
Código: Seleccionar todo   Expandir vistaContraer vista
Sub AbriendoGuardandoDocumentos2()
Dim sRuta As String
Dim mOpciones(0) As New "com.sun.star.beans.PropertyValue"
Dim oDoc As Object

   sRuta = "private:factory/scalc"
   oDoc = starDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )
   
   MsgBox oDoc.hasLocation()

   sRuta = ConvertToUrl( "/home/marcos/calc.ods" )
   oDoc.storeAsURL( sRuta, mOpciones() )
   
   MsgBox oDoc.hasLocation()
   
End Sub


El unico cambio es cambiar esta linea ubicada despues de "convertToUrl"
Código: Seleccionar todo   Expandir vistaContraer vista
oDoc = StarDesktop.loadComponentFromURL( sRuta, "_blank", 0, mOpciones() )

Cambiarla por esta otra
Código: Seleccionar todo   Expandir vistaContraer vista
oDoc.storeAsURL( sRuta, mOpciones() )
Libre Office 5.1.4.2
Linux MInt 18
marcosdavid
 
Mensajes: 4
Registrado: Vie Oct 17, 2014 4:11 am

Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados