von Stephan » Di, 18.03.2008 22:03
Gibts dazu ein Demo oder ein HowTo?
Du solltest dazu das engliche Forum durchforsten. Ich kann Dir aus Zeitgründen hier nurmal einen VBA-Schnipsel aus diesem englischen Forum für Zugriff auf OOo posten:
Code: Alles auswählen
Private Sub CommandButton1_Click()
' Get the Service Manager object -- from whence everything else comes.
' The biggest first difference between programming languages accessing OOo
' is often in how you initially obtain the ServiceManager.
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
' Get the Desktop object.
Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
' Use this empty array when no arguments are needed.
Dim aNoArgs()
' Create a new empty spreadsheet.
Set oCalcDoc = oDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, aNoArgs())
' Get the first spreadsheet from the bunch of spreadsheets in the document.
Set oSheet = oCalcDoc.getSheets().getByIndex(0)
' Plug in some stuff.
Call oSheet.getCellByPosition(0, 0).SetFormula("Month")
Call oSheet.getCellByPosition(1, 0).SetFormula("Sales")
Call oSheet.getCellByPosition(0, 1).SetFormula("Jan")
Call oSheet.getCellByPosition(0, 2).SetFormula("Feb")
Call oSheet.getCellByPosition(0, 3).SetFormula("Mar")
Call oSheet.getCellByPosition(1, 1).SetValue(3827)
Call oSheet.getCellByPosition(1, 2).SetValue(3978)
Call oSheet.getCellByPosition(1, 3).SetValue(4103)
' Save the spreadsheet.
Call oCalcDoc.storeToURL("file:///c:/documents and settings/dbrewer/desktop/calcdoc.sxw", aNoArgs())
' Now save it as an Excel file.
Dim aSaveArgs(0)
Set aSaveArgs(0) = oServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
aSaveArgs(0).Name = "FilterName"
aSaveArgs(0).Value = "MS Excel 97"
Call oCalcDoc.storeToURL("file:///d:/calcdoc.xls", aSaveArgs())
End Sub
Gruß
Stephan
[quote]Gibts dazu ein Demo oder ein HowTo?[/quote]
Du solltest dazu das engliche Forum durchforsten. Ich kann Dir aus Zeitgründen hier nurmal einen VBA-Schnipsel aus diesem englischen Forum für Zugriff auf OOo posten:
[code]Private Sub CommandButton1_Click()
' Get the Service Manager object -- from whence everything else comes.
' The biggest first difference between programming languages accessing OOo
' is often in how you initially obtain the ServiceManager.
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
' Get the Desktop object.
Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
' Use this empty array when no arguments are needed.
Dim aNoArgs()
' Create a new empty spreadsheet.
Set oCalcDoc = oDesktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, aNoArgs())
' Get the first spreadsheet from the bunch of spreadsheets in the document.
Set oSheet = oCalcDoc.getSheets().getByIndex(0)
' Plug in some stuff.
Call oSheet.getCellByPosition(0, 0).SetFormula("Month")
Call oSheet.getCellByPosition(1, 0).SetFormula("Sales")
Call oSheet.getCellByPosition(0, 1).SetFormula("Jan")
Call oSheet.getCellByPosition(0, 2).SetFormula("Feb")
Call oSheet.getCellByPosition(0, 3).SetFormula("Mar")
Call oSheet.getCellByPosition(1, 1).SetValue(3827)
Call oSheet.getCellByPosition(1, 2).SetValue(3978)
Call oSheet.getCellByPosition(1, 3).SetValue(4103)
' Save the spreadsheet.
Call oCalcDoc.storeToURL("file:///c:/documents and settings/dbrewer/desktop/calcdoc.sxw", aNoArgs())
' Now save it as an Excel file.
Dim aSaveArgs(0)
Set aSaveArgs(0) = oServiceManager.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
aSaveArgs(0).Name = "FilterName"
aSaveArgs(0).Value = "MS Excel 97"
Call oCalcDoc.storeToURL("file:///d:/calcdoc.xls", aSaveArgs())
End Sub[/code]
Gruß
Stephan