Hey Richard,
warum postest du doppelt? Den gleichen Thread hast du doch schon im Calc-Forum geöffent? So etwas verwirrt doch nur....
Zu deinen vielfältigen Fragen:
1. die Dateien sollen nach folgenden Schema benannt werden: "DateinameTabellenname.prn" (Dateiname ohne Endung)
Lösbar solange deine Datei bereits eine qualifizeirte URL besitzt (Speichername).
2. die Dateien sollen im selben Ordner wie die Ursprungsdatei gespeichert werden
Lösbar, siehe oben.
3. die Dateien sollen als Text (CSV) mit fester Spaltenbreite gespeichert werden
Musst du wahrscheinlich selbst zusammenbauen!
3. die Dateien sollen als Text (CSV) mit fester Spaltenbreite gespeichert werden
?? Welche Kommas? Meist du Zahlen nach amerikanischen Schema speichern? (Tausendertrenner = Komma, Dezimaltrenner = Punkt) oder die Wertetrennung?
5. und es wär schön schön, wenn nach ausführen des Skripts, wieder die Ursprungsdatei in OO offen wäre.
Nutze "StoreToURL()" und deine akteulle Datei bleibt erhalten.
Das in Kurzform. Deine geposteten Codeschnipsel solltest du am besten wieder vergessen - die helfen wenig. Der Dispatcher ist für die Aufgabe wenig bis gar nicht geeignet.
Andererseits ist das Projekt nicht "mal eben so" zu schreiben oder zu lösen, erwarte also keine fertige Lösung hier.
Gehe mal auf die Suche, hier im Forum oder auch im internationalen forum (
http://www.oooforum.org) - einmal nach Calc-Export CSV, Calc-Filter "Text - txt - csv (StarCalc)" oder ähnlichem, dann nach der Methode "StoreToURL()". Mit den dann gefundenen Infos kommst du schon ein gutes Stück weiter.
den Dateinamen deines akltuellen Dokumentes bekommst du übrigens einfach über die URL Funktion raus:
schneidest du nun nach dem letzten "/" alles ab, dann hast du den aktuellen Pfad....und gleich in URL Schreibweise.
Oder du nutzt eben Curdir, das musst du dann aber noch in eine URL-Schreibweise umwandeln! (convertToURL() )
Die Tabellennamen bekommst du über die Eigenschaft "name" einfach heraus, die Tabellen sprichst du entweder mit de Namen an oder über die Indexnummer

also:
liefert dir den Namen des ersten Tabellenbalttes.
Das ganze löst du später über Schleifen - Blatt für Blatt
So, und nun viel Spass. Bei Codeteilen, wo du nicht weiterkommst: hier posten, dann schaun wir und helfen.
Viele Grüße
Thomas