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]