Speichern unter...
Moderator: Moderatoren
Speichern unter...
Hallo,
Da ich im calc-Segment des Forums auf die folgende Frage keine befriedigende Antwort erhalten habe, versuche ich es noch einmal hier. Ich hoffe ich werde deshalb nicht zu sehr ausgebuht.
ich habe eine calc-Formularvorlage (ots) die nach dem Ausfüllen unter jeweils einem neuen Namen als ods-Dokument abgespeichert werden soll.
Der Name wird in der Zelle S1 des Formulars aus verschiedenen Zellen des Formulars heraus als String generiert.
Ich suche nun nach einem Makro, das die Datei an einem bestimmten Ort (Pfad) unter dem Namen aus S1 speichert und außerdem das Formular ausdruckt.
Meine (aufgezeichnete) Lösung dazu ist sehr umfangreich und kompliziert und dauert richtig lang und außerdem ist sie immer noch halb manuell.
Wer kann mir helfen?
Gruß,
fiz
Da ich im calc-Segment des Forums auf die folgende Frage keine befriedigende Antwort erhalten habe, versuche ich es noch einmal hier. Ich hoffe ich werde deshalb nicht zu sehr ausgebuht.
ich habe eine calc-Formularvorlage (ots) die nach dem Ausfüllen unter jeweils einem neuen Namen als ods-Dokument abgespeichert werden soll.
Der Name wird in der Zelle S1 des Formulars aus verschiedenen Zellen des Formulars heraus als String generiert.
Ich suche nun nach einem Makro, das die Datei an einem bestimmten Ort (Pfad) unter dem Namen aus S1 speichert und außerdem das Formular ausdruckt.
Meine (aufgezeichnete) Lösung dazu ist sehr umfangreich und kompliziert und dauert richtig lang und außerdem ist sie immer noch halb manuell.
Wer kann mir helfen?
Gruß,
fiz
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Speichern unter...
Das Makro wirst Du Dir selbst schreiben müssen - Du findest hier verschiedene Lösungsansätze für Deine Frage, die schon mehrfach gestellt wurde.
Suchbegriffe sind: getCellRangeByName() und storeToURL()
Viel Erfolg. Bei konkreten Fragen meldest Du Dich wieder?!
Suchbegriffe sind: getCellRangeByName() und storeToURL()
Viel Erfolg. Bei konkreten Fragen meldest Du Dich wieder?!
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)
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)
Re: Speichern unter...
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Speichern unter...
Danke euch beiden
Re: Speichern unter...
Hallo karolus,
habe deinen Vorschlag nach bestem WIssen und Gewissen angepasst. Sieht nun so aus:
Leider kriege ich bei Ausführung einen Laufzeitfehler. Woran könnte das liegen?
Gruß,
fiz
habe deinen Vorschlag nach bestem WIssen und Gewissen angepasst. Sieht nun so aus:
Code: Alles auswählen
sub SelektionEnde
oDoc=thisComponent
Sheet = oDoc.Sheets(0) '[erstes Arbeitsblatt]
Cell = Sheet.getCellByPosition(18, 0) '[Zelle A1]
Filename = Cell.String
Path = "file:////P:/Selektion/Zeitschriften/" '[Pfad anpassen bei Windows]
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "FilterName"
args1(0).Value = "StarOffice XML (Calc)"
oDoc.storeasurl(Path & Filename & "ods" ,args1())
end sub
Gruß,
fiz
Re: Speichern unter...
Dein Path enthält zu viele "Slasches" nach "file:". Drei müssen es sein, vier sind es aber. Es müsste also so heißen:fiz hat geschrieben:Leider kriege ich bei Ausführung einen Laufzeitfehler. Woran könnte das liegen?Code: Alles auswählen
... Path = "file:////P:/Selektion/Zeitschriften/" '[Pfad anpassen bei Windows] ...
Code: Alles auswählen
...
Path = "file:///P:/Selektion/Zeitschriften/" '[Pfad anpassen bei Windows]
...
Re: Speichern unter...
Zwei Anmerkungen habe ich dann noch zu deinem Basic-Code:
Dies ist nicht die Zelle A1, sondern die Zelle S1, während "Sheet.getCellByPosition(0,18)" die Zelle A19 wäre.fiz hat geschrieben:Code: Alles auswählen
... Cell = Sheet.getCellByPosition(18, 0) '[Zelle A1] ...
Der Filtername "StarOffice XML (Calc)" gehört zu einem "OpenOffice.org 1.0 Spreadsheet", also .sxc. Für ein .ods wäre der Filtername "calc8" angebrachter. Hier findest du die vollständige Liste der Filternamen: http://wiki.services.openoffice.org/wik ... etDocumentfiz hat geschrieben:Code: Alles auswählen
... args1(0).Value = "StarOffice XML (Calc)" oDoc.storeasurl(Path & Filename & "ods" ,args1()) ...
Re: Speichern unter...
Danke Euch beiden,
Wie im ersten Poste geschrieben, möchte ich tatsächlich die Zelle S1 auslesen. Habe nur den Kommentar aus Karolus' Code nicht angepasst.
Der Hinweis auf die Anzahl der Slashes und den Filter war auf jeden Fall gut.
Jetzt läufts!
Gruß,
fiz
Wie im ersten Poste geschrieben, möchte ich tatsächlich die Zelle S1 auslesen. Habe nur den Kommentar aus Karolus' Code nicht angepasst.
Der Hinweis auf die Anzahl der Slashes und den Filter war auf jeden Fall gut.
Jetzt läufts!
Gruß,
fiz