(gelöst) sWriter, Tabelle ansprechen

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

Moderator: Moderatoren

LokutusvB
***
Beiträge: 77
Registriert: Di, 03.11.2009 09:52

(gelöst) sWriter, Tabelle ansprechen

Beitrag von LokutusvB »

Hallo,

ich versuche mich gerade ein wenig an der OpenOffice-Manupulation durch externe Programme. Wie ich in einem scal-Dokument in die Zellen der Tabelle schreiben kann, ist mir soweit klar.

In Delphi z.B.:
sh := Document.Sheets.getByName(sheet);
bm := sh.getCellbyPosition(xpos,ypos);
bm.setString(inhalt);

Wie mache ich das aber in einem sWriter-Dokument, wo im schlimmsten Falle mehrere Tabellen enthalten sind? Ich habe im Netz schon ein wenig nach Makros gesucht, konnte da aber für sWriter-Tabellen leider noch nichts finden.

Gruß
LvB
Zuletzt geändert von LokutusvB am Mi, 04.11.2009 16:20, insgesamt 1-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: sWriter, Tabelle ansprechen

Beitrag von komma4 »

Willkommen im Forum

Code: Alles auswählen

oTables = ThisComponent.Texttables()

oTabelle1 = oTables.getByName( "Aufstellung" )
oTabelle2 = oTables.getByIndex( 2 ) 

Hilft Dir das?


Nutze Xray!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
LokutusvB
***
Beiträge: 77
Registriert: Di, 03.11.2009 09:52

Re: sWriter, Tabelle ansprechen

Beitrag von LokutusvB »

hallo komma4!

Danke dir, dein Ansatz hat mir sehr geholfen! :-)

Meine Lösung lautet:

Code: Alles auswählen

function OO_Utils.InsertInTextTable(table, xpos, ypos: Integer; txt: String): Boolean;
var
  tables, aktTable, bm :Variant;
begin
  tables := Document.getTextTables;
  aktTable := tables.getByIndex(table);
  bm := aktTable.getCellbyPosition(xpos, ypos);
  bm.setString(txt);
  Result := True;
end;
Ich bin die ganze Zeit von einem Fehler ausgegangen, obwohl es die ganze zeit schon funktioniert hätte. Der Einfachheit halber habe ich ein World-Dokument mit Tabellen in OpenOffice Writer geöffnet und einfach als ODT-Dokument gespeichert. Mit diesem Dokument habe ich mich jetzt einige Stunden geplagt, nichts hat funktioniert. Daraufhin habe ich ein neues Dokument in sWriter erstellt, Tabellen eingefügt, und siehe da, schon geht es. Mal kann sich das Leben auch extra schwehr machen :(.

Na trozdem danke für deine Hilfe!.
Antworten