BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Export und Upload aus Calc

Alles zur Programmierung im LibreOffice.
Antworten
Niels$
Beiträge: 25
Registriert: Di 25. Dez 2012, 19:47

Export und Upload aus Calc

Beitrag von Niels$ » Mi 20. Jan 2021, 17:30

Moin zusammen,

ich möchte über ein Makro ein Blatt nach CSV im UTF8-Format exportieren und dieses UTF8 auf einen HTTPS-Server hochladen. Nun habe ich etwas recherchiert und der Upload scheint in Python recht einfach zu sein, für LO-Basic habe ich dazu nichts gefunden. Anders herum habe ich Python nicht gefunden, wie ich den Export gestalte (welchen ich ja 'einfach' aufzeichnen würde).
Kann man nun aus dem LO-Basic noch ein Python-Makro starten oder ist der Export der Daten in Python auch einfach?
Ich kann leider nur etwas MS-Basic und muss mich so oder so einlesen - von daher ist es egal wo.

Niels

gogo
Beiträge: 1072
Registriert: Sa 5. Feb 2011, 19:07

Re: Export und Upload aus Calc

Beitrag von gogo » Mi 20. Jan 2021, 18:29

Du kannst Libreoffice-Makros auch "von außen" aufrufen:

Code: Alles auswählen

os.system('libreoffice macro:///BIBLIOTHEK.MODUL.MAKRONAME\\()')
Unter Windows wird der Befehl "libreoffice" vermutlich "libreoffice.exe" heißen - musst Du suchen.

Wenn Du dem Makro Parameter übergeben willst:

Code: Alles auswählen

os.system('libreoffice macro:///BIBLIOTHEK.MODUL.MAKRONAME\\("ParameterA", "ParameterB"\\)')
BIBLIOTHEK.MODUL.MAKRONAME ersetzt Du durch den Ort wo Dein Makro zu finden ist. z.B. Standard.Module1.MeinMakroYXZ
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Export und Upload aus Calc

Beitrag von Wanderer » Mi 20. Jan 2021, 23:00

Niels$ hat geschrieben:
Mi 20. Jan 2021, 17:30
...
ich möchte über ein Makro ein Blatt nach CSV im UTF8-Format exportieren und dieses UTF8 auf einen HTTPS-Server hochladen. Nun habe ich etwas recherchiert und der Upload scheint in Python recht einfach zu sein, für LO-Basic habe ich dazu nichts gefunden.
...
Da es fertige FTP-Clients gibt, frage ich mich, ob es nicht wesentlich einfacher wäre den Upload-Befehl einfach per SHELL() als Kommandozeile von BASIC aus zu starten.

Beispiel z.B. WinSCP
https://superuser.com/questions/239860/ ... mmand-line

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Niels$
Beiträge: 25
Registriert: Di 25. Dez 2012, 19:47

Re: Export und Upload aus Calc

Beitrag von Niels$ » Fr 22. Jan 2021, 14:00

Danke für Eure Anregungen. WinSCP kann meines Erachtens nicht über ein HTTP-Put eine Datei hochladen, das spricht nur mit einem WebDAV. Aber ich habe ein PowerShell-Script, was das Ganze mit curl löst. Das ist vielleicht ganz gut so, denn ich habe mir bereits in der DotNet-Weld die Ohren an der Digest Authentication gebrochen, dass scheinen die MS-Methoden nich vollumfänglich zu beherrschen.
Ich bin jetzt mit Makroaufzeichnung und wenigen manuellen Anpassungen im Makro schon relativ weit. Ich bereite die Daten auf und exportiere sie. Nun fehlt nur noch der Makro-Start, da werde ich jetzt etwas forschen und ggf. nerven. Hier ist das Herausforderung, dass das Powershell-Script aus dem richtigen Pfad heraus gestartet wird, damit es die curl-Komponenten findet.

Niels

Niels$
Beiträge: 25
Registriert: Di 25. Dez 2012, 19:47

Re: Export und Upload aus Calc

Beitrag von Niels$ » Fr 22. Jan 2021, 15:23

Eben stand ich noch vor dem Abgrund - jetzt bin ich einen Schritt weiter :lol:
Ich schreibe jetzt aus dem Makro eine CMD-Datei, die ich ausführen will. Doch wie starte ich die aus dem LO-Basic-Macro? Ich habe schon viel gesucht, doch ich finde immer nur, wie ich LO von der Befehlszeile aus starten kann und was es da alles für Parameter gibt. Vermutlich fehlen mir mal wieder die richtigen Suchworte.

Niels

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Export und Upload aus Calc

Beitrag von Wanderer » Fr 22. Jan 2021, 16:42

Hallo,

Ich habe absichtlich SHELL() geschrieben.

Schau z.B. hier
https://ask.libreoffice.org/en/question ... ro-solved/

Findet man schnell per Suchmaschine mit

Code: Alles auswählen

libreoffice basic shell command 
Notfalls gibt es auch die normale Hilfe
https://help.libreoffice.org/3.3/Basic/ ... on_Runtime

Mfg, Jörn

PS Für die Pfade kann man auch im Skript mit cd arbeiten
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

Niels$
Beiträge: 25
Registriert: Di 25. Dez 2012, 19:47

Re: Export und Upload aus Calc

Beitrag von Niels$ » Fr 22. Jan 2021, 21:12

Danke Jörn,

wer lesen kann ist wie immer im Vorteil :oops:
Um nicht zu viel mit Pfaden jonglieren zu müssen habe ich da bereits den Kram, wie von Dir vorgeschlagen ausgelagert. Ich erstelle dynamisch eine cmd-Datei, in der ich explizit das Laufwerk meines Arbeitsverzeichnisses wähle und dann mit cd in den Pfad wechsle. Dabei ist der Pfad sicherheitshalber noch in Anführungszeichen, falls jemand Leerzeichen in‘s Spiel bringt.

Niels

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten