-- Example 14 -- From Ahammer, Andreas: <http://wi.wu-wien.ac.at/rgf/diplomarbeiten/index.html#bakk_07> -- open a blank *.sxc - file and test the autofill-function -- Retrieve the Desktop object, we need its XComponentLoader interface to load -- a new document oDesktop = UNO.createDesktop() -- get the UNO Desktop service object xComponentLoader = oDesktop~XDesktop~XComponentLoader -- get componentLoader -- interface /* open the blank *.sxw - file */ url = "private:factory/scalc" xCalcComponent = xComponentLoader~loadComponentFromURL(url, "_blank", 0, .UNO~noProps) /* get first sheet in spreadsheet */ xSheet = xCalcComponent~XSpreadSheetDocument~getSheets~XIndexAccess~getByIndex(0) ~XSpreadSheet /* insert some text */ CALL UNO.setCell xSheet, 0, 0, "1" -- cell "A1" CALL UNO.setCell xSheet, 1, 0, "=(A1*3)" -- cell "B1" CALL UNO.setCell xSheet, 2, 0, "=($A$1*10*RAND())" -- cell "C1" CALL UNO.setCell xSheet, 3, 0, "1" -- cell "D1" /* and AutoFill it */ to_bottom = bsf.getConstant("com.sun.star.sheet.FillDirection", "TO_BOTTOM") getCellSeries(xSheet, "A1:C10")~fillAuto(to_bottom, 1) getCellSeries(xSheet, "D1:D10")~fillAuto(to_bottom, 2) /* save the result - we need it for the next example */ storeURL = makeURL("testnumbers.sxc") -- save the document in the current folder xCalcComponent~XStorable~storeAsURL(storeURL, .UNO~noProps) ::requires UNO.CLS -- get UNO support ::routine getCellSeries use arg xSheet, aRange return xSheet~XCellRange~getCellRangeByName(aRange)~XCellSeries -- A function for getting the file in the current folder ::routine makeUrl return ConvertToURL(directory() || "\" || arg(1))