Oldal: 1 / 1

[Megoldva] Makro

Elküldve: 2022. december 28., szerda 18:14
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

Re: Makro

Elküldve: 2022. december 28., szerda 23:23
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.

Re: Makro

Elküldve: 2022. december 28., szerda 23:36
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

Re: Makro

Elküldve: 2022. december 29., csütörtök 23:33
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

Re: Makro

Elküldve: 2022. december 30., péntek 10:26
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.

Re: Makro

Elküldve: 2023. január 2., hétfő 18:47
Szerző: Zoltan
Köszönöm megegyszer,sikerült egyet összeollozni es a magam igenyeire szabni. :)