Szövegformázó makró készítés

Szövegszerkesztő
Avatar
matulabaacsi
Önkéntesek
Hozzászólások: 37
Csatlakozott: 2010. január 6., szerda 19:33

Szövegformázó makró készítés

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

Szevasztok! Open Office-t használok és volna vele kapcsolatban egy sürgős kérdésem.

Van egy teszt szövegem txt-ben. A szerkezete a következő: 1 sor kérdés, 3 sor válaszlehetőség.
Nekem arra lenne szükségem, hogy kinyomtassam a cuccot és a kérdések legyenek kiemelve. (vastagon szedett vagy aláhúzott tökmindegy...)
A műveletet fel is vettem egy makróba (első sor HOME, majd SHIFT+END, majd CTRL+B, majd 4x lefelé nyíl hogy a következő kérdéshez lépjek), ekkor meg is volt faszányosan a makró, csak az vele a gond hogy hiába futtatom le, egyszer csinálja meg a műveletet, nem pedig a teljes dokumentumon szalad vele végig. Magyarul nem tudom hogy lehetne végteleníteni a makrót.
Elvileg valami BASIC script szerkesztő van a csomagban, de lövésem sincs mi micsoda benne. Utoljára VBscriptben okoskodtam kicsit kezdő szinten, ez meg teljesen más.

Várnám az ötletet, segítséget, mit lehet vele kezdeni, mert a tipikus programozó toolokban (mint PSpad, Notepad++) hiába van makró, szövegformázás nem lehetséges. Tudom a Perl alkalmas script nyelv ilyesféle szövegek cincálására, de nincs annyi időm hogy ebbe most beletanuljak.

Szóval? Egyéb ötletek, alkalmazások e feladatra?
Köszi! :P

Admin: Minden új kérdéshez készíts új hozzászólást külön, ne folytasd az előzőt.
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4106
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Makrókészítés

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

Üdv!

Nehezen értettem meg (vagy egyáltalán nem is) a feladatot: A kérdés sor után 3 üres sor van, ahová a nyomtatványon kézzel írják majd be a választ? Mert akkor az egészet egyszerre (az üres sorokat is) vastaggá lehet tenni néhány mozdulattal.
Ha viszont a válaszok (pl. 3 választási lehetőség) már a txt fájlban is benne vannak, és azokat "kiemeletlenül" kell hagyni, akkor a mellékelt megoldást tudom hirtelen ajánlani.
Csatolmányok
Bold.odt
(11.21 KiB) Letöltve 205 alkalommal.
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
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
matulabaacsi
Önkéntesek
Hozzászólások: 37
Csatlakozott: 2010. január 6., szerda 19:33

Re: Makrókészítés

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

Zizi64 írta:Üdv!

Nehezen értettem meg (vagy egyáltalán nem is) a feladatot: A kérdés sor után 3 üres sor van, ahová a nyomtatványon kézzel írják majd be a választ? Mert akkor az egészet egyszerre (az üres sorokat is) vastaggá lehet tenni néhány mozdulattal.
Ha viszont a válaszok (pl. 3 választási lehetőség) már a txt fájlban is benne vannak, és azokat "kiemeletlenül" kell hagyni, akkor a mellékelt megoldást tudom hirtelen ajánlani.
Szia! Köszi a választ, otthon meg fogom nézni!
Igen, a teszt.txt így néz ki:

Kérdés1?
a) válasz
b) válasz
c) válasz
Kérdés2?
...

tehát egybe van folyva a szöveg és nem olvasható normálisan (530 kérdés van, tehát nem álltam le soronként megformázni).
Szerintem jó lenne az a makro funkció az oo-ban csak "butácska" :)
Elősször arra gondoltam, hogy hogyan lehetne a kérdőjeleket tartalmazó sorokat megvastagítani. Elvileg Calc-ban van vmi függvény ilyenekre, de nem egyszerű megtalálni...
Bocs, ha nem volt egyértelmű a kérdésem, úgy gondoltam, hogy a tesztek általában mindenki előtt egyértelműen a kérdés + megadott válaszok formátumot jelentik.
Ha hazaérek, megnézem a javaslatod! Kösz!
• by: matulabaacsi
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4106
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szövegformázó makró készítés

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

Üdv!

Jaaaa...!!!
A "van egy teszt szövegem" részt én úgy értelmeztem, hogy van egy szöveg, ami nem végleges, még csak próba-, teszt állapotban van...
A makró funkció szerintem nem butácska, csak bele kell mélyedni egy kicsit. (Nem csak felvenni lehet makrót, hanem szabadon írni is, ahol azt csinálsz amit akarsz (azon belül persze, amit LEHET & TUDSZ).
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
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
matulabaacsi
Önkéntesek
Hozzászólások: 37
Csatlakozott: 2010. január 6., szerda 19:33

Re: Szövegformázó makró készítés

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

Kipróbáltam a feltöltött fájlodat, de a gombra kattintva semmi sem történt!
Persze jó lenne a makro funkció, ha lehetne vele normálisan dolgozni, tehát legalább annyi, hogy ismételgesse a fájl végéig a lépéseket. Ez mindent megoldana még az olyan magamfajtának is, aki scriptben nem tud mit csinálni.
Haverom is rá lett eresztve, és azt mondja, a Notepad++ tud végtelenített makrózást. Hétvégén ki lesz próbálva, mert akkor egyszerű karaktercsereék makrózásával simán html kóddal lehetne a textet kiegészíteni. Még a végén az ő ötlete hozza a megoldást?! :)
Azért köszönöm a fáradozásodat, ha eredményre jutok, rögvest közzéteszem.
• by: matulabaacsi
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4106
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szövegformázó makró készítés

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

Üdv!

Én letöltöttem egy másik gépen is, és ott is működött!

Engedélyezted a makrók futtatását?

Ha igen, akkor: ne innen (erről a honlapról) nyisd meg, hanem előbb töltsd le, aztán nyisd meg;
különben "csak olvasható"-ként nyílik meg és nem enged semmilyen változást, így a formátum változtatást sem!

25x(3+1)sornyi formázást végez a makró, ha gondolod, felrakom ide a kódot.
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
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
matulabaacsi
Önkéntesek
Hozzászólások: 37
Csatlakozott: 2010. január 6., szerda 19:33

Re: Szövegformázó makró készítés

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

Igen, a kódot megköszönném, ellenben a haver is rá volt eresztve a problematikára, és ebben a pillanatban közölte az eredményét, ami mellesleg nem igényel sok tudást.
Egyszerűen Notepad++ban csinált egy makrót karaktercserére html-kódokkal és a hosszas gondolkodás után kb 2mp alatt meglett az eredmény. (A Notepad++ tud végtelenített makrózást a fájl végéig.)
Kérdés sorok bold-al kiemelve, válaszok meg extraként sorszámozott listába szerkesztve. Egyszerű és nagyszerű, de köszi neked is a fáradságot! :super:
• by: matulabaacsi
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4106
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szövegformázó makró készítés

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

Üdv!

Tényleg van valami hibája a megoldásomnak, mert ha nincs nyitva másik OOo Writer fájl a példafájlom megnyitásakor, akkor tényleg nem hajlandó rendesen futni a makró, de ha már működik az OOo, mikor megnyitom ezt a példafájlt, akkor rendesen formáz.

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

sub bold1
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")


'A Dim sorokat előre vettem, többször (ciklikusan) nem kell/szabad ugyanazt a változót dimenzionálni:

dim args4(0) as new com.sun.star.beans.PropertyValue
dim args5(1) as new com.sun.star.beans.PropertyValue
dim args6(1) as new com.sun.star.beans.PropertyValue
dim args7(1) as new com.sun.star.beans.PropertyValue
dim args8(1) as new com.sun.star.beans.PropertyValue


'Egyszer az elejére ugrik: 

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())


'Aztán Pl. 25-ször: (kijelöl, vastagít, és 3-sorral lejjebb ugrik); a fájl végét kéne inkább figyelni,
' hogy elértük-e, de azt '/pillanat' nem tudom, hogy kell. 

for i=1 to 25

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:EndOfLineSel", "", 0, Array())

rem ----------------------------------------------------------------------

args4(0).Name = "Bold"
args4(0).Value = true

dispatcher.executeDispatch(document, ".uno:Bold", "", 0, args4())

rem ----------------------------------------------------------------------

args5(0).Name = "Count"
args5(0).Value = 1
args5(1).Name = "Select"
args5(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args5())

rem ----------------------------------------------------------------------

args6(0).Name = "Count"
args6(0).Value = 1
args6(1).Name = "Select"
args6(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args6())

rem ----------------------------------------------------------------------

args7(0).Name = "Count"
args7(0).Value = 1
args7(1).Name = "Select"
args7(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args7())

rem ----------------------------------------------------------------------

args8(0).Name = "Count"
args8(0).Value = 1
args8(1).Name = "Select"
args8(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args8())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:GoToStartOfLine", "", 0, Array())

next i

end sub
Gyakorlatilag azt csináltam, amit te is, csak kicsit átrendeztem, és egy FOR ciklust beleírtam.
Kovács Tibor, W11/10/7x64Pro, Linux: 7.5.8-25.x.y.z
PortableApps: LO, AOO: időlegesen feldobva, ha nagyon kell...
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].
Válasz küldése