Using the macro recorder
From Apache OpenOffice Wiki
< Documentation | OOo3 User Guides | Calc Guide
Chapter 13 of the Getting Started guide (Getting Started with Macros) provides a basis for understanding the general macro capabilities in OpenOffice.org using the macro recorder. An example is shown here without the explanations in the Getting Started guide. The following steps create a macro that performs paste special with multiply.
- Open a new spreadsheet.
- Enter numbers into a sheet.
- Select cell A3, which contains the number 3, and copy the value to the clipboard.
- Select the range A1:C3.
- Use Tools > Macros > Record Macro to start the macro recorder. The Record Macro dialog is displayed with a stop recording button.
- Use Edit > Paste Special to open the Paste Special dialog.
- Set the operation to Multiply and click OK. The cells are now multiplied by 3.
- Click Stop Recording to stop the macro recorder. The OpenOffice.org Basic Macros dialog opens.
- Select the current document. For this example, the current Calc document is Untitled 1. Existing documents show a library named Standard. This library is not created until the document is saved, or the library is needed, so at this point your new document does not contain a library. You can create a new library to contain the macro, but this is not necessary.
- Click New Module. If no libraries exist, then the Standard library is automatically created and used. In the New Module dialog, type a name for the new module or leave the name as Module1.
- Click OK to create a module named Module1. Select the newly created Module1, enter the macro name PasteMultiply and click Save.
- The created macro is saved in Module1 of the Standard library in the Untitled 1 document. Listing 1 shows the contents of the macro..
Listing 1. Paste special with multiply.
sub PasteMultiply
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(5) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Flags"
args1(0).Value = "A"
args1(1).Name = "FormulaCommand"
args1(1).Value = 3
args1(2).Name = "SkipEmptyCells"
args1(2).Value = false
args1(3).Name = "Transpose"
args1(3).Value = false
args1(4).Name = "AsLink"
args1(4).Value = false
args1(5).Name = "MoveMode"
args1(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
end sub
More detail on recording macros is provided in Chapter 13 (Getting Started with Macros) in the Getting Started guide; we recommend you read it if you have not already done so. More detail is also provided in the following sections, but not as related to recording macros.
| Content on this page is licensed under the Creative Common Attribution 3.0 license (CC-BY). |


