Re: wywoływanie zewnętrznych aplikacji
Witam,
chciałem powrócić do tematu.
Nurtuje mnie czy ktoś próbował (z sukcesami) otworzyć aplikację OpenOffice'a (Writer lub Calc)?
Udało mi się wygooglować przykład opisujący sposób otwarcia OpenOffice'a Calc'a z poziomu Excela:
Kod:
Sub ControlOOo()
Rem The service manager is always the first thing to create.
Rem If OOo is not running, it is started.
Set oManager = CreateObject("com.sun.star.ServiceManager")
Rem Create the desktop.
Set oDesktop = oManager.createInstance("com.sun.star.frame.Desktop")
Rem Open a new empty Calc document.
Dim args()
Dim s As String
Set s = "private:factory/scalc"
Set oDoc = oDesktop.loadComponentFromURL(s, "_blank", 0, args())
Dim oSheet As Object
Dim oSheets As Object
Dim oCell As Object
Set oSheets = oDoc.sheets.CreateEnumeration
Set oSheet = oSheets.nextElement
Set oCell = oSheet.getCellByPosition(0, 0)
oCell.setFormula ("Hello From Excel") 'Cell A1
oCell.CellBackColor = RGB(127, 127, 127)
End Sub
i próbuję przełożyć to samo do Symfonii Handel Premium:
Kod:
dispatch objServiceManager
dispatch objDesktop
dispatch calc
int args(1)
objServiceManager.Create("com.sun.star.ServiceManager")
objDesktop= objServiceManager.createInstance("com.sun.star.frame.Desktop")
calc=objDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, args())
i oczywiście dostaje błąd składni języka (Oczekiwane wyrażenie) - chodzi o args...
Czy ktoś pracuje z OpenOffice'm z poziomu Symfonii? Czy ktoś mógłby mi z tym pomóc (bardzo raczkuje jeśli chodzi o Basic'a w OO, więc byłbym wdzięczny za jakiś przykład :)