Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




OpenOffice Calc 3.x Guide
Previous Page Home Next Page

Chapter 17 of the Getting Started guide (Getting Started with Macros) provides a basis for understanding the general macro capabilities in 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.

  1. Open a new spreadsheet.
  2. Enter numbers into a sheet.
  3. Enter numbers.
  4. Select cell A3, which contains the number 3, and copy the value to the clipboard.
  5. Select the range A1:C3.
  6. Use Tools > Macros > Record Macro to start the macro recorder. The Record Macro dialog is displayed with a stop recording button.
  7. Stop recording button.
  8. Use Edit > Paste Special to open the Paste Special dialog.
  9. Paste Special dialog.
  10. Set the operation to Multiply and click OK. The cells are now multiplied by 3.
  11. Cells multiplied by 3.
  12. Click Stop Recording to stop the macro recorder and save the macro.
  13. Select the current document. For this example, the current Calc document is Untitled. Click on the + next to the document to view the contained libraries. Prior to OOo version 3.0, new documents were created with a standard library; this is no longer true. In OOo version 3.0, the standard library is not created until the document is saved, or the library is needed. If desired, create a new library to contain the macro (but this is not necessary).
  14. Select the Standard library if it exists.
  15. Click New Module to create a module in the Standard library. If no libraries exist, then the Standard library is automatically created and used.
  16. Image:CG3Ch12F5a.png

  17. Click OK to create a module named Module1.
  18. Select the module and name the macro.
  19. 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 Untitled2 document (see Listing 1).

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("")

 rem --------------------------------------------------------------
 dim args1(5) as new
 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.

OpenOffice Calc 3.x Guide
Previous Page Home Next Page

  Published under the terms of the Creative Commons License Design by Interspire