Hallo, Andreas schrieb: > kann man Calc und Writer von MSAccess fernsteuern ? > Also so wie das mit Access und Excel geht, wenn das ganze > MS-Office zu > Verfügung steht.
ja, ist alles problemlos mit VBA möglich. Einige Links für die (Makro-)Programmierung von OOo: http://www.calc-info.de/links.htm#makroprogrammierung > Ich möchte gern aus Access Daten an Calc übertragen, also einerseits > direkt Zellen einzeln füllen z.B.: 'Achtung VBA Private Sub CommandButton1_Click() Call wert_nach_Calc(1.234) End Sub Sub wert_nach_Calc(Wert) Set oServiceManager = CreateObject("com.sun.star.ServiceManager") Set oDesktop = oServiceManager.createInstance("com.sun.star.frame.Desktop") Dim aNoArgs() URL = "private:factory/scalc" Set Doc = oDesktop.loadComponentFromURL(URL, "_blank", 0, aNoArgs()) Doc.Sheets().getByName("Tabelle1").getCellRangeByName("A1").Value = Wert End Sub > und andererseits auch ganze Recordsets > überschaufeln für Reports. Ist genau das Gleiche, nur das man vorzugsweise die Daten in ein Array packt und dieses mit SetDataArray(): http://api.openoffice.org/docs/common/ref/com/sun/star/sheet/XCellRangeData.html#setDataArray schreibt, damit es schneller geht. Das Array muß dabei einen speziellen Aufbau haben, denn man wohl am Leichtesten durch ein Beispiel mit getDataArray() versteht: '... x = oSheet.getCellRangeByName("B14:E20") 'Daten aus Bereich x in Array: xDataArray() = x.getDataArray() 'Daten aus erster Spalte (B14 bis B20) in Array: Redim Preserve xSource(UBound(xDataArray())) For i = LBound(xSource()) To UBound(xSource()) xRow() = x(i) xSource(i) = xRow(0) Next I 'xSource() enthält nun die Werte aus B14:B20 abgeleitet von: http://prdownloads.sourceforge.net/ooodocs/ComboBox_in_a_Sheet_En.sxc (Link nicht mehr erreichbar) Gruß Jörg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
