Calc / aktive Tabelle ermitteln

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

Moderator: Moderatoren

Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Calc / aktive Tabelle ermitteln

Beitrag von Wolf »

Hallo,

Eine Frage.

Weiss jemand, wie man die gerade aktive Tabelle (Name oder Nummer) in einer Calc-Tabelle ermitteln kann?

Also ein Tabellendokument mit z.B. 4 Blaettern. Die Namen sind willkuerlich z.B. in [Blatt1], [Verweise], [test], [Anhang] benannt und der Cursor befindet sich gerade in Tabelle [test].
Nun will ich per Makro ermitteln, in welcher Tabelle der Cursor steht.

Hat das schon jemand gemacht?

Danke an alle.

Wolf
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: Calc / aktive Tabelle ermitteln

Beitrag von Wolf »

Hallo,

Ja und schon habe ich eine Antwort gefunden.
Die habe ich mir in eine Function gepackt. Siehe unten.

Code: Alles auswählen

Function fnActiveTab () as String
'-------------------------------------------------
' ermitteln des Names der Aktuellen Tabelle
'-------------------------------------------------
 Dim oDoc As Object 

   oDoc=StarDesktop.CurrentComponent
   
   fnActiveTab = oDoc.CurrentSelection.Spreadsheet.getName()

end function
Hier noch der Aufruf:

Code: Alles auswählen

Dim sText as String

  sText=fnActiveTab()
  msgbox sText
Danke Allen.

Wolf

Wolf
ghostwriter
**
Beiträge: 35
Registriert: Mo, 17.09.2007 14:48

Re: Calc / aktive Tabelle ermitteln

Beitrag von ghostwriter »

Hi Wolf,

folgende Codes müssten funktionieren:

Code: Alles auswählen

Sub TabellenIndex
oDoc = Thiscomponent
oSheet = oDoc.CurrentController.ActiveSheet.Rangeaddress
msgbox oSheet.sheet
End Sub 

Sub TabellenName
odoc=thiscomponent
osheet=odoc.currentcontroller.activesheet
msgbox osheet.name
End Sub
Schöne Grüsse.

Jakob
Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Re: Calc / aktive Tabelle ermitteln

Beitrag von Wolf »

ghostwriter hat geschrieben:Hi Wolf,

folgende Codes müssten funktionieren:

Code: Alles auswählen

Sub TabellenIndex
oDoc = Thiscomponent
oSheet = oDoc.CurrentController.ActiveSheet.Rangeaddress
msgbox oSheet.sheet
End Sub 
Hallo Jakob,

Danke, o.g. Code habe ich dann auch in meine Bibliothek aufgenommen.
Nochmals vielen Dank fuer die Hilfe.

Wolf
Antworten