Ausgabe TabellenIndex

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

Moderator: Moderatoren

Wolfgang Lampert
****
Beiträge: 102
Registriert: Do, 13.05.2004 16:24
Wohnort: Neuss

Ausgabe TabellenIndex

Beitrag von Wolfgang Lampert »

Hi, ich komme nicht darauf, wie ich den Index der aktuellen Calc-Tabelle anzeigen kann:
Sub Tabelle_identifizieren 'aktive Tabelle identifizieren
Dim oDoc as Object, oSheet as Object
oDoc = StarDesktop.CurrentComponent
oSheet = oDoc.currentController.ActiveSheet 'aktive Tabelle identifizieren
msgbox oSheet.Name 'Test; ok
msgbox o.Sheet.???Index '???wie gebe ich den TabellenIndex aus

end sub
Vielen Dank für die Nachhilfe
Wolf
Wolfgang Lampert
****
Beiträge: 102
Registriert: Do, 13.05.2004 16:24
Wohnort: Neuss

Beitrag von Wolfgang Lampert »

Hi Stephan, danke für die Hilfe. funktioniert - aaaber, ich hatte gehofft, es gäbe eine einfachere 'Sheet.Property'. Mir kommt es im Moment darauf an, die Syntax zu verstehen. z.B. habe ich die folgende, direktere Routine geschrieben - funktioniert - aber wieso muss ich 'oCell.Sheet' und kann nicht 'oSheet.Sheet' wählen?
sub Tabellen_Namen_Index
DIM oDoc as Object, oSheet as Object 'Identifizierung Spreadsheet + Tabelle
Dim oCell as Object 'Identifizierung Zelle

oDoc = StarDesktop.CurrentComponent
oCell= oDoc.getCurrentSelection().getCellAddress() 'aktuelle Zelle bestimmen
oSheet = oDoc.Sheets(oCell.Sheet) 'aktuelle Tabellen identifizieren
msgbox "TabellenNamen: " + oSheet.name
msgbox "TabellenIndex: " + oCell.Sheet

end sub
mfg Wolf
Wolfgang Lampert
****
Beiträge: 102
Registriert: Do, 13.05.2004 16:24
Wohnort: Neuss

Beitrag von Wolfgang Lampert »

Hi Stephan, 'macht richtig Spass, auf diese Art zu kommunizieren. Deine Einstellung, ein Problem lösen zu wollen, ist wirklich Spitze.
Nun zu unserem mittlerweile 'gemeinsamen' Problemchen.
Die Kernfrage ist: kann ich eine Tabelle mit einer einzigen Methode so referenzieren, dass ich die Eigenschaften TabNamen & TabIndex ausgeben kann?
uuuund das geht mit Deiner Lösung auch nicht, denn Du hast nicht die Tabelle sondern ebenfalls einen Bereich (Range) innerhalb einer Tabelle referenziert.
sub Name_oder_Index
oDoc = Thiscomponent
oSheet = oDoc.CurrentController.ActiveSheet.Rangeaddress
REM TabIndex über BereichsReferenzierung
msgbox oSheet.Sheet REM Ausgabe TabenIndex
msgbox oSheet.StartColumn REM Ausgabe = 0
msgbox oSheet.StartRow REM Ausgabe = 0
msgbox oSheet.EndColumn REM Ausgabe = 255
msgbox oSheet.EndRow REM Ausgabe = 31999
msgbox oSheet.NameREM !!! FEHLERMELDUNG

REM TabNamen über TabellenReferenzierung
oSheet2 = oDoc.CurrentController.ActiveSheet
msgbox oSheet2.Name REM Ausgabe TabellenNamen
msgbox oSheet2.Sheet REM !!! und nun hierbei Fehlemeldung
end sub
So, und nun erst einmal ins Wochenende - Morgen soll es ja einemal sommerlich werden.
Gruss
Wolf
Antworten