auf markierte Bereiche prüfen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: auf markierte Bereiche prüfen

Re: auf markierte Bereiche prüfen

von clag » Do, 30.04.2015 07:19

Hallo Karolus,

besten Dank für die schnelle Antwort

Re: auf markierte Bereiche prüfen

von Karolus » Do, 30.04.2015 06:31

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'

auf markierte Bereiche prüfen

von clag » Do, 30.04.2015 05:35

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?

Nach oben