[Megoldva] Makro
[Megoldva] Makro
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
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
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Makro
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.
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Makro
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
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: Makro
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.
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.
OpenOffice 4.1
- Zizi64
- Globális moderátorok
- Hozzászólások: 4071
- Csatlakozott: 2008. november 12., szerda 21:22
- Tartózkodási hely: Budapest
Re: Makro
Kód: Egész kijelölése
Remélem nem haladja meg a képességeimet.
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 (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
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].
Re: Makro
Köszönöm megegyszer,sikerült egyet összeollozni es a magam igenyeire szabni.
OpenOffice 4.1