Szeretnék egyszerű POST hívást intézni egy szerverhez VBA makróból Libreoffice Calc programban.
Ismerem a WEBSERVICE() függvényt, de az csak GET hívást csinál aminek limitációi vannak, például az átadható adat maximális mérete, aminek bele kell férnie az URL megengedett maximális hosszába.
Excel-hez elérhetők példák amelyeknél Windows platform specifikus API hívásokat csinálnak. Nekem Linux-ra kellene (Ubuntu 18 x64).
Libreoffice verzió: 6.0 és 6.3 (ez utóbbi snap-ből telepítve)
Bármilyen ötletet ás segítséget előre is köszönök.
Hozzászólások
Itt találtam példakódot, bár base-hez, de nem hiszem, hogy megoldás a problémádra. Python script használatával nem megoldható? A portabilitás miatt úgyis jobb elfelejteni a VBA-t.
Köszi, de jobb lenne VBA megoldás.
Miért ragadszkodsz hozzá?
Hogy faék egyszerűen tudjon mozogni a kód a fájlal együtt és ne kelljen bonyolult folyamat a telepítéshez.
Jogos, bocs.
Itt jártál már?
Átnéztem, egy "Inet" objektumot használnak és arra hivatkoznak, ehhez találtam infót, de sajnos ez is Win only megoldás:
https://stackoverflow.com/questions/35756740/excel-vba-reference-for-in…
Ugye Win-hez van elérhető kód POST híváshoz VBA-ból, nekem Linux-ra kellene. Köszi azért.
A LibreOffice-ba be van építve a Python interpreter, lehet írni makrókat Pythonban. A VBA nekem nem tűnik logikus választásnak. Egy microsoftos technológia Linuxon és LibreOffice-szal nem biztos, hogy a legjobb választás. Akkor már inkább a saját Basic nyelvét nézném. Az api.libreoffice.org-on lehet keresgélni, illetve volt ez már kérdés az ask.libreoffice.org-on is. https://ask.libreoffice.org/en/question/5074/send-data-to-a-url-via-a-post/
Python nekem is sokkal jobb mint VBA mert az eredeti kódom egy része is Python-ban van.
Mikor megnyitom a Macro editor-t, akkor csak VBA kódolási lehetőséget látok. Nézem neten de nem világos hogy hova kell beírnom a Python kódot vagy hol kell kitallóznom azt. Erről tudnál írni?
Ha Python tud működni akkor megoldásnak megfelelő.
Köszi.
Szerk.: közben ezt nézem:
http://christopher5106.github.io/office/2015/12/06/openoffice-libreoffi…
Ezt a link tartalmazza a válaszokat.
[ MEGOLDVA ]
Köszi mindenkinek.
Így, csak methodban 'get' helyett 'post'?
Most sajnos nem tudom kipróbálni.
Köszi, látom ezzel meglehet oldani, csak ehhez is extra plugin-t kell telepíteni.