clear delete selected cell cells spreadsheet Josef Frysak How to clear only the selected cells of the spreadsheet?

Get the selected cells by calling "getCurrentSelection" of the XModel interace.

This function will return a CellCursor. Now use the CellCursors

"XSheetOperation" interface to delete the cells.

For further details see http://wi.wu-wien.ac.at/rgf/diplomarbeiten/BakkStuff/2008/200809_Frysak/200809_Frysak_Automating_OOo_ooRexx_Nutshells.pdf.

-- try to get a script context, will be .nil, if script was not invoked by OOo x_ScriptContext = uno.getScriptContext() if (x_ScriptContext <> .nil) then do -- invoked by OOo as a macro -- get context x_ComponentContext = x_ScriptContext~getComponentContext -- get desktop (an XDesktop) x_Desktop = x_ScriptContext~getDesktop -- get current document x_Document = x_ScriptContext~getDocument end else do -- called from outside of OOo, create a connection -- connect to Open Office and get component context x_ComponentContext = UNO.connect() -- create a desktop service and its interface service = "{%see com.sun.star.frame.Desktop}" s_Desktop = x_ComponentContext~getServiceManager~{%see com.sun.star.lang.XMultiServiceFactory%XMultiServiceFactory}~createInstance(service) x_Desktop = s_Desktop~{%see com.sun.star.frame.XDesktop%XDesktop} -- get the last active document x_Document = x_Desktop~getCurrentComponent() end -- frist get the current selection x_Model = x_Document~{%see com.sun.star.frame.XModel%XModel} selection = x_Model~getCurrentSelection() -- then clear all cell flags (= deleting all content) x_SheetOp = selection~{%see com.sun.star.sheet.XSheetOperation%XSheetOperation} x_SheetOp~clearContents(1+2+4+8+16+32+64+128+256+512) ::requires UNO.CLS
Initial version