If only one cell is selected, then you can simply obtain the
CurrentSelection property from the document. Things are more complicated
if you must worry about multiple things being selected... it looks like
you can also grab the selection property from the current controller.
If you want only the cell that contains the cursor, and you want to
ignore the rest, you can tell the controller to select an empty range
that was created by the document. The following subroutine does the
following:
1.Save the current selection. This is useful if more than a single cell
is active.
2.Select an empty range so that only the cell with the cursor is
selected. The cell is selected with an outline around the cell, but it
is not completely blacked out. If you use the controller to select a
range, this method can also be used to change the selection from a
completely selected cell, to merely an active cell.
3.Use the CellAddressConversion service to obtain the address of the
active cell. This is new to 1.1.1, part of the "linked controls"
implementation.
Listing 2.12: Find the active cell.
REM Author: Paolo Mantovani
REM email: [EMAIL PROTECTED]
Sub RetrieveTheActiveCell()
Dim oOldSelection 'The original selection of cell ranges
Dim oRanges 'A blank range created by the document
Dim oActiveCell 'The current active cell
Dim oConv 'The cell addres conversion service
REM store the current selection
oOldSelection = ThisComponent.CurrentSelection
oRanges =
ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
ThisComponent.CurrentController.Select(oRanges)
'get the active cell!
oActiveCell = ThisComponent.CurrentSelection
REM a nice service I've just found!! :-)
oConv =
ThisComponent.createInstance("com.sun.star.table.CellAddressConversion")
oConv.Address = oActiveCell.getCellAddress
Print oConv.UserInterfaceRepresentation
Print oConv.PersistentRepresentation
'restore the old selection (but loosing the previous active cell)
ThisComponent.CurrentController.Select(oOldSelection)
End Sub
Dinesh Chothe wrote:
XTextViewCursorSupplier xViewCursorSupplier =
( XTextViewCursorSupplier )UnoRuntime.queryInterface (
XTextViewCursorSupplier.class, xTextDocument );
For getting current position from current document I did as above.
Now while doing this same for spreadsheet it doesnt work by passing
xSpreadsheet instead of xTextDocument.
How would I access current active cell in spreadsheet?
On Tue, Jul 8, 2008 at 5:26 PM, Andrew Douglas Pitonyak <[EMAIL PROTECTED]>
wrote:
Dinesh Chothe wrote:
Hello,
I want to get current position of cursor from documents XTable or
XTextDocument
also for calc I want to get current cells position. How do I?
I am using OoSDK2.3 and java...
I believe that the view cursor has a property TextTable and a property
Cell. The cell has a property CellName.
--
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]
--
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]