[Megoldva] Makro

Makró készítés, parancsfájl írás és az API használata
Zoltan
Hozzászólások: 3
Csatlakozott: 2022. december 28., szerda 18:10

[Megoldva] Makro

Hozzászólás Szerző: Zoltan »

Sziasztok

Olyan Makrora lenne szüksegem a munkahelyemen ahol az aktualis lap C5 es F5 cellaibol nevet alkotva elmenti PDF-kent az adott lapot.
Elöre is köszönöm ha valaki segitene. ;)

Zoltan
OpenOffice 4.1
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 3952
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Makro

Hozzászólás Szerző: Zizi64 »

A legegyszerűbben Andrew Pitonyak (angol nyelvű) ingyenes makróprogramozási könyveiben találsz szinte kész példákat. A feladat részeire mindenképpen.
https://www.pitonyak.org/oo.php

Először is meg kell "fognod" (GET) az aktuális dokumentumot, majd az munkalapot, aminek aztán meg "kell fognod" az egyik illetve a másik celláját, aminek a szöveges tartalmát ".string" kiveszed egy-egy szöveges változóba. Aztán összekombinálod őket az igényeidnek megfelelően.

"Ki kell találnia a makrónak", hogy hová mentse a PDF fájl. Ehhez vagy le kell kérned az éppen megdolgozott dokumentum URL-jét amiből ki kell bányásznod a "Full Path" mentési helyet, vagy meg kell adnod azt konstansként a kódban, hogy hová akarod menteni, vagy be kell kérned egy szokásos "browser ablak" makróból történő elindításával azt. A Windows "path" formátumból (amiben \ jelek vannak C:\, stb...) konvertálnod kell általános URL formátumba (amiben / jelek, és az ékezetes betűk helyett kódok vannak.)

Ezután a PDF Export filtert kell felvértezned a megfelelő paraméterekkel. (csak az aktuális munkalapot, vagy a kijelölést (elvégezni a kijelölést)... stb... Majd elvégezni magát a mentést a StoreToURL() vagy a StoreAsURL() függvénnyel.

Mindezeknek a kezeléséhez Objektumváltozókat és a megfelelő adattípusú egyéb változókat kell felvenned. Ha nem vagy jártas az Objektum-orientált programozásban, akkor azzal kell kezdened a tanulást.

Maga a StarBasic egy végtelenül egyszerű Basic dialektus, de amiket meg kell hívnod a Basic kódból azok az API függvények. API: Application Programming Interface. Na, abból van pár ezer darab, mindegyik sok-sok tulajdonsággal és metódussal. Ezekkel gyakorlatilag MINDEN funkcióját tudod vezérelni a LibreOffice-nak vagy az OpenOffice-nak.
Azokat írott anyagból lehetetlen mind áttanulmányozni. Jobb, ha az épp szükségesnek kilistázod a létező tulajdonságait az egyik nagyszerű Object Inspector kiterjesztéssel, a nevük XrayTool vagy MRI. Én az XrayTool-t használom, abban tudok segíteni.
https://berma.pagesperso-orange.fr/index2.html

Célszerű használni az "Option Explicit" kapcsolót, hogy az IDE figyelmeztessen, ha elfelejtesz deklarálni egy változót a program elején, amit később használsz.

Célszerű továbbá a LibreOffice legfrissebb Still verzióját telepíteni, mert az OpenOffice egyre inkább elveszti a kompatibilitását az újabb operációs rendszer verziókkal, az újabb fájltípus szabványokkal (legyen az a natív ODF vagy idegen formátum). Ugyanis nem nagyon van fejlesztője az Apache-nak erre a projektre, míg a The Document Fundation, ami a LibreOffice-t menedzseli, (relatíve) sok önkéntes fejlesztővel rendelkezik.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: 6.4.7;
winPenPack/PortableApps: LO3.3.1-7.4.4, AOO4.1.13
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 3952
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Makro

Hozzászólás Szerző: Zizi64 »

A Fórumokon is van rengeteg példakód, amit szinte egy-az-egyben beépíthetsz a tiedbe:
https://forum.openoffice.org/en/forum/v ... hp?t=79013
https://forum.openoffice.org/en/forum/v ... hp?t=25480
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: 6.4.7;
winPenPack/PortableApps: LO3.3.1-7.4.4, AOO4.1.13
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Zoltan
Hozzászólások: 3
Csatlakozott: 2022. december 28., szerda 18:10

Re: Makro

Hozzászólás Szerző: Zoltan »

Kedves Zizi64,
Nagyon köszönöm a kimerítő választ,igyekszem ha időm engedi beleasni magam,mert igen érdekes téma. Remélem nem haladja meg a képességeimet. :lol: :D
OpenOffice 4.1
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 3952
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Makro

Hozzászólás Szerző: Zizi64 »

Kód: Egész kijelölése

Remélem nem haladja meg a képességeimet.
Én azóta tanulom, hogy elkezdtük a cégemnél használni az - akkor még - OpenOffice.org-programját, annak is az 1.x verzióját. És még most se vagyok a LibreOffice makró-programozásában igazán profi. De azért odafigyeléssel gyors (rész)sikereket el lehet érni. Teljes tudásra ne számíts rövid idő alatt!
Az eddig linkelt honlapokon kívül van még néhány, ahol hasznos információ található. Belinkelhetném az AOO és a LO az API leírását (listáját) is (te is megtalálhatod ha nagyon akarod), de az rettentően száraz lista, csak NAGYON gyakorlott programozóknak ad közvetlen segítséget.

Ha nem megy, vagy ha sürgős, tudok vállalni (cégesen) efféle munkát.

Mert nyilván HELYETTED, ingyen nem írom meg ezeket a makrókat - és ahogy az lenni szokott, ilyenkor jönnek a kapcsolódó problémák is, amit szintén meg kell oldani... De ha a saját makrókezdeményeidet, ODF típusú példafájljaidat ide feltöltöd, annak (az adott részprogramnak) a működésre bírásában ingyen segítek.
Sok sikert!
Kovács Tibor (Win10x64Prof/W7x64P: 6.4.7;
winPenPack/PortableApps: LO3.3.1-7.4.4, AOO4.1.13
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Zoltan
Hozzászólások: 3
Csatlakozott: 2022. december 28., szerda 18:10

Re: Makro

Hozzászólás Szerző: Zoltan »

Köszönöm megegyszer,sikerült egyet összeollozni es a magam igenyeire szabni. :)
OpenOffice 4.1
Válasz küldése