Hallo Stefan,

Stefan Weigel schrieb:
> Auf diese Weise kann ich zwar Bereiche und einzelne Zellen
> unterscheiden, nicht aber, ob eine einzelne Zelle markiert ist oder
> nur den Fokus hat.
>
> Wie könnte ich dies unterscheiden?

Ich fürchte Du wirst eine elegante Lösung erwarten, die habe ich
momentan aber nicht. Für den 'Hausgebrauch' sollte es genügen zu prüfen
wie die Markierung auf den dispatch-Befehl:

.uno:JumpToNextCell

reagiert.

z.B.:

sub test()
dim oCell as object
oCell = thisComponent.getCurrentselection()
if oCell.supportsService("com.sun.star.sheet.SheetCell") then
                vor_row = oCell.getCellAddress().Row
                vor_column = oCell.getCellAddress().Column
                document   = ThisComponent.CurrentController.Frame
                dispatcher = 
createUnoService("com.sun.star.frame.DispatchHelper")
                dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 
0,
Array())
                oCell = thisComponent.getCurrentselection()
                nach_row = oCell.getCellAddress().Row
                nach_column = oCell.getCellAddress().Column
                If vor_row = nach_row AND vor_Column = nach_column Then
                                Msgbox "Zelle war markiert"
                        Else
                                'Auswahl ggf. wieder auf Ausgangszelle setzen,
                                'Koordinaten sind in vor_row und vor_column 
noch gespeichert
                                Msgbox "Zelle war ausgewählt"
                End If
        elseif oCell.supportsService("com.sun.star.sheet.SheetCellRange") then
                msgbox "Bereich"
        elseif oCell.supportsService("com.sun.star.sheet.SheetCellRanges") then
                msgbox "Mehrere Bereiche"
end if
end sub


Gruß
Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an