Deseo controlar LibreOffice no OpenOffice.
Código del Ejemplo del link propuesto en la respuesta anterior:
Dim oServicio As Object
Dim Escritorio As Object
Dim Document As Object
Dim oHoja As Object
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
oServicio = CreateObject("com.sun.star.ServiceManager")
Escritorio = oServicio.createInstance("com.sun.star.frame.Desktop")
Dim args(1) As Object
args(0) = oServicio.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
args(0).Name = "Hidden"
args(0).Value = True
Document = Escritorio.loadComponentFromURL("private:factory/scalc", "_blank", 0, args)
oHoja = Document.getSheets().getByIndex(0)
Call oHoja.getcellbyposition(0, 0).setFormula("Federico")
Call oHoja.getcellbyposition(0, 0).SetPropertyValue("CellBackColor", RGB(200, 30, 30))
Call oHoja.getcellbyposition(0, 1).setFormula("ForoOpen")
Call oHoja.getcellbyposition(0, 1).SetPropertyValue("CellBackColor", RGB(300, 30, 30))
Call Document.getCurrentController.getFrame.getContainerWindow.setVisible(True)
Call Document.getCurrentController.getFrame.getComponentWindow.setVisible(True)
oHoja = Nothing
Document = Nothing
Escritorio = Nothing
oServicio = Nothing
End Sub
En la PC que tiene instalado LibreOffice 5 y LibreOffice_4.4_SDK me da el siguiente error: “No se puede crear el componente ActiveX” en la línea oServicio = CreateObject(“com.sun.star.ServiceManager”).
Mientras que en la PC que tiene instalado OpenOffice, además de lo anterior, funciona correctamente.