Seite 1 von 1
Wechseln des Tabellenbattes
Verfasst: Do, 04.08.2005 08:05
von hoefri55
Hallo,
Tabellen ins Calc-Dokument einfügen klappt schon, aber wie wechsele ich zwischen den Blättern?
Danke, Friedhelm
Verfasst: Do, 04.08.2005 11:26
von ykcim
Es gibt zwei Wege um auf Arbeitsblätter zuzugreifen:
Über den Namen oder über die interne Nummer.
Über den Namen:
myDoc = thisComponent
mySheet = myDoc.Sheets().getByName("Tabelle2")
Über die interne Nummer:
myDoc = thisComponent
mySheet = myDoc.Sheets(0)
Die Zählung der Sheets beginnt bei 0.
mfg
Michael
klappt auch!
Verfasst: Do, 04.08.2005 11:58
von hoefri55
Herzlichen Dank, das klappt einfach supi.
Aber mein nächstes Problem lauert schon.
Zur Verdeutlichung schildere ich vielleicht mal die gesamte Aufgabe.
Ich möchte eine gesamte Zeile in einem Calc-Tabellenblatt markieren, ausschneiden, in ein anderes Blatt wechseln und die Zeile dort wieder einfügen.
Friedhelm
Verfasst: Do, 04.08.2005 12:47
von zap
Hi Friedhelm,
das Problem ist nicht so genau definiert. Es kommt z.B. darauf an, ob du Formeln oder Ergebnisse kopieren moechtest. Das nachfolgende Makro kopiert stumpf die Daten von Zeile 11 zu Zeile 11 im naechsten Blatt. Die bisherige Zeile 11 im 2. Blatt wird nach unten verschoben, die im 1. Blatt wird geloescht.
Code: Alles auswählen
option compatible
sub zeile_ausschneiden_einfuegen
oTabellen = ThisComponent.Sheets
t1 = oTabellen.getByName("Sheet1") ' muss wahrscheinlich durch Tabelle1 ersetzt werden
t2 = oTabellen.getByName("Sheet2")
' Zeile mit Index 10 auswaehlen. Das ist die 11. Zeile, da die
' interne Zaehlung bei 0 beginnt
t1_zeile = t1.Rows.getByIndex(10)
' Daten kopieren
Daten = t1_zeile.getDataArray ()
' Zeile loeschen
t1.Rows.removeByIndex(10, 1)
' 1 Zeile an Index 10 einfuegen
t2.Rows().insertByIndex (10, 1)
t2_zeile = t2.Rows.getByIndex (10)
t2_zeile.setDataArray (Daten)
end sub
zap
Verfasst: Mo, 08.08.2005 08:54
von hoefri55
Genau das war es, was ich brauchte.
Danke,
Friedhelm