Macro-recorder (Calc)
Naar navigatie springen
Naar zoeken springen
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