[Erledigt] Aus Writer in Makro die Calc-Tabelle abfragen
Verfasst: Do, 22.04.2010 16:22
Hallo,
ich habe für die Serienbrief-Funktion von Writer eine Verbindung mit einer Datenquelle aus Calc hergestellt. Wie kann ich aus Writer heraus die aktuelle Tabelle abfragen?
Hilfe und Suche bringt mir viele Angaben zu Tabellennamen und DataSource, aber das bezieht sich alles auf Base oder wird nur innerhalb eines Calc-Dokuments verwendet. Oder geht das ähnlich wie mit DatabaseContext?
Ich habe herausgefunden, dass ich aus Calc heraus ein Tabellenblatt mit thisDocument.Sheets.getByName benutzen kann. Aber wie bekomme ich von meinem "thisDocument" (nämlich dem Text) den Zugriff auf das Calc-Dokument?
Hinweis: Zur weiteren Verarbeitung im Makro benötige ich nach und nach: den Namen des aktuellen Sheets (das ich zuvor durch "Datenquelle austauschen" manuell ausgewählt habe), einzelne Werte bestimmter Zellen, eine Schleife über die Spalten 3 ff. Deswegen suche ich etwas wie (mit Anleihen bei der C#-Schreibweise), wo ich mit oSheet fortfahren kann:
Danke für Ratschläge! Jürgen
/Edit: Frage erweitert: nicht nur den Tabellennamen, sondern das gesamte Arbeitsblatt in eine Variable holen. Dazu Hinweis über mein Ziel eingefügt.
ich habe für die Serienbrief-Funktion von Writer eine Verbindung mit einer Datenquelle aus Calc hergestellt. Wie kann ich aus Writer heraus die aktuelle Tabelle abfragen?
Hilfe und Suche bringt mir viele Angaben zu Tabellennamen und DataSource, aber das bezieht sich alles auf Base oder wird nur innerhalb eines Calc-Dokuments verwendet. Oder geht das ähnlich wie mit DatabaseContext?
Ich habe herausgefunden, dass ich aus Calc heraus ein Tabellenblatt mit thisDocument.Sheets.getByName benutzen kann. Aber wie bekomme ich von meinem "thisDocument" (nämlich dem Text) den Zugriff auf das Calc-Dokument?
Hinweis: Zur weiteren Verarbeitung im Makro benötige ich nach und nach: den Namen des aktuellen Sheets (das ich zuvor durch "Datenquelle austauschen" manuell ausgewählt habe), einzelne Werte bestimmter Zellen, eine Schleife über die Spalten 3 ff. Deswegen suche ich etwas wie (mit Anleihen bei der C#-Schreibweise), wo ich mit oSheet fortfahren kann:
Code: Alles auswählen
oCalcTable = thisDocument.DataSource as CalcDocument
oSheet = oCalcTable.GetCurrentSheet()
/Edit: Frage erweitert: nicht nur den Tabellennamen, sondern das gesamte Arbeitsblatt in eine Variable holen. Dazu Hinweis über mein Ziel eingefügt.