Seite 1 von 1

Mehrfachselection erkennen

Verfasst: Sa, 26.04.2008 02:10
von tuxator
Hallo Allerseits,
wie kann ich in Calc eine Mehrfachselection, also Anzahl und Inhalt der Zellen, erkennen?
Das Range-Objekt gibt mir immer nur die zuletzt markierte Zelle zurück.
Hintergrund: Vom Benutzer ausgewählte Daten in Spalte A sollen gegen ausgewählte Daten in Spalte B getauscht werden. Dabei muß die Auswahl zwar von der Anzahl her gleich sein, aber nicht zwingend ein zusammenhängender Bereich.
Bin für jeden Tipp dankbar.
Viele Grüße

Re: Mehrfachselection erkennen

Verfasst: Sa, 26.04.2008 14:31
von ykcim
Hallo,

grundsätzlich kann man erkennen ob es ich bei dem Markiertem um einen Breich oder eine Zelle handelt.
Wenn es sich um einen Bereich handelt muss man diesen dann entsprechend weiter bearbeiten.

Code: Alles auswählen

odoc=thisComponent
   oZelle=oDoc.getCurrentSelection()
   checkzelle=HasUnoInterfaces( oZelle, "com.sun.star.table.XCell" )
   if checkzelle then
     msgbox "Sie haben eine Zelle markiert"
   else
    msgbox "Sie haben einen Bereich markiert"
  end if
mfg
Michael

PS. Die FAQ ist ab nächste Woche wieder online

Re: Mehrfachselection erkennen

Verfasst: So, 27.04.2008 11:23
von komma4
Vielleicht auch prüfen, ob überhaupt Zellen, und nicht Rahmen, oder andere Objekte selektiert sind:

Code: Alles auswählen

If Not oZelle.supportsService(_
	"com.sun.star.table.CellProperties" ) Then
	msgbox "keine Zelle(n) markiert"
	exit sub
End If
HTH

Re: Mehrfachselection erkennen

Verfasst: Mo, 28.04.2008 17:16
von tuxator
Hallo Michael, hallo Winfried,

Danke Euch beiden für die Tipps. Hilft mir schon ein ganzes Stück weiter.
Manchmal braucht man nur einen kleinen Klapps. :D

Viele Grüße