auf markierte Bereiche prüfen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

auf markierte Bereiche prüfen

Beitrag von clag »

Moin Kenner und Könner,

wie prüft man am besten/zuverlässigstem mit Baisc Code, ob mehrere Bereiche ausgewählt sind ?
wenn es relevant ist, ob ein oder mehrere Bereiche markiert sind.

Ein Indikator ist thisComponent.CurrentSelection.Count , der steht leider aber nur zur Verfügung wenn
tatsächlich mehrere Bereiche ausgewählt sind und man muss das mit On Error Resume Next abfangen,

Code: Alles auswählen

  nRanges = 1	
  On Error Resume Next
  nRanges = oCalc.CurrentSelection.Count
schöner sieht diese Version aus, aber irgendwie gefällt es mir nicht ein Fehlerereignis derart zu verwenden


Ein anderer Indikator wäre thisComponent.Currentselection.absoluteName ist immer verfügbar,

Code: Alles auswählen

  if InStr(oCalc.Currentselection.absoluteName,";") > 1 then 
    nRanges = oCalc.CurrentSelection.Count
  else
    nRanges = 1
  end if
aber diese Variante stützt sich eben nur auf das Nebenprodukt ";"

Welche der Varinaten wär zu bevorzugen und warum oder gibt es noch weitere Möglichkeiten?
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: auf markierte Bereiche prüfen

Beitrag von Karolus »

Code: Alles auswählen

doc = thisComponent
selection = doc.CurrentSelection
selection.supportsService("com.sun.star.sheet.SheetCell" ) 'nur Einzelne Zelle'
selection.supportsService("com.sun.star.sheet.SheetCellRanges" ) 'nur Mehrere Zellen|Bereiche'
selection.supportsService("com.sun.star.sheet.SheetCellRange" ) 'ein rechteckigerBereich|Einzelne Zelle'
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: auf markierte Bereiche prüfen

Beitrag von clag »

Hallo Karolus,

besten Dank für die schnelle Antwort
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Antworten