Macro-recorder (Calc)
Naar navigatie springen
Naar zoeken springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Calc kent een marco-recorder. Dus dat je handelingen verricht, en Calc die onthoudt. De macro-recorder vindt je via
Tools » Macros » Record maco
Als dit menu-item niet aanwezig is, moet je 't eerst activeren via
Tools » Options » Advanced.
Macro's om LibreOffice Basic te leren?
De resulterende macro wordt opgeslagen als LibreOffice Basic-code. Helaas lijkt de gegenereerde code niet erg nuttig te zijn om zelf een programmeer-probleem op te lossen. Hier is een voorbeeld (nov. 2019) waarin vier cellen gekopiëerd worden naar een paar plekken verderop:
REM ***** BASIC ***** sub record_01 rem ---------------------------------------------------------------------- rem define variables dim document as object dim dispatcher as object rem ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "ToPoint" args1(0).Value = "$A$3" dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1()) rem ---------------------------------------------------------------------- dim args2(0) as new com.sun.star.beans.PropertyValue args2(0).Name = "By" args2(0).Value = 1 dispatcher.executeDispatch(document, ".uno:GoDownSel", "", 0, args2()) rem ---------------------------------------------------------------------- dim args3(0) as new com.sun.star.beans.PropertyValue args3(0).Name = "By" args3(0).Value = 1 dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args3()) rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array()) rem ---------------------------------------------------------------------- dim args5(1) as new com.sun.star.beans.PropertyValue args5(0).Name = "By" args5(0).Value = 1 args5(1).Name = "Sel" args5(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5()) rem ---------------------------------------------------------------------- dim args6(1) as new com.sun.star.beans.PropertyValue args6(0).Name = "By" args6(0).Value = 1 args6(1).Name = "Sel" args6(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args6()) rem ---------------------------------------------------------------------- dim args7(1) as new com.sun.star.beans.PropertyValue args7(0).Name = "By" args7(0).Value = 1 args7(1).Name = "Sel" args7(1).Value = false dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args7()) rem ---------------------------------------------------------------------- dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array()) end sub