Mac McClain wrote:
I created (using record macro) a simple macro to insert a row, hilite a few
things and copy them up to the line where the insertion was done. Easy enough.
The repeat of this is pretty cumbersome but worse than that it will always do
the insert and copy at the same spot. How do I get it to understand that the
insertion should start where the hilited cell currently is? Thanks in advance.
You did not post the generated macro, but I would guess that if you look
at it, that it includes hard coded addresses such as "D14" rather than
by inspecting the location of the active cell. One could argue for
either case...
What would you like the macro to do?
It is my guess that you want your macro to
* Notice the currently active cell. Ask yourself, what should the macro
do if you happened to select more than a single cell? I will assume that
the answer is "I only care about the currently active cell".
Now, insert a row at the active cell. The "1" for insertByIndex
indicates that only one row should be inserted...
Dim oRanges 'A blank range created by the document
Dim oCell 'The current active cell
Dim oSheet 'Currently active sheet
REM Select an empty range object to leave the cursor in only the
active cell.
REM The purpose is to make certain that more than a single cell is not
selcted.
oRanges =
ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
ThisComponent.CurrentController.Select(oRanges)
oCell = ThisComponent.CurrentSelection
oSheet = oCell.getSpreadsheet()
oSheet.getRows().insertByIndex(oCell.getCellAddress.Row, 1)
I hope that this provides a nice start...
--
Andrew Pitonyak
My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
My Book: http://www.hentzenwerke.com/catalog/oome.htm
Info: http://www.pitonyak.org/oo.php
See Also: http://documentation.openoffice.org/HOW_TO/index.html
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]