Szám kiíratása szövegként

Makró készítés, parancsfájl írás és az API használata

Szám kiíratása szövegként

HozzászólásSzerző: machobymb » 2018. augusztus 27., hétfő 17:41

Sziasztok!

Writer-ben szeretném egy számított mező tartalmát kiíratni szövegként, mint Calc-ban a NumberText, MoneyText. Van erre lehetőség?

Üdv:
Laci
LibreOffice 6.1.0 - Debian testing
LibreOffice 6.1.0 - Windows 7 / Windows 8.1 / Windows 10
machobymb
 
Hozzászólások: 15
Csatlakozott: 2012. május 30., szerda 12:48

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. augusztus 27., hétfő 20:47

Nem néztem még a nálam telepített hordozható 6.1.0-ban, hogy valóban benne van-e, de ígérték, hogy a 6.1.0-ban már benne lesz a funkció:
http://libreoffice.hu/10-ft-azaz-tiz-fo ... matikusan/

De itt is jelzik, hogy a writerben is használható a kiterjesztés, "G" (Graphite) típusú fonttal együtt működhet:
https://extensions.libreoffice.org/exte ... mbertext-1
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. augusztus 28., kedd 13:26

Sajnos az első link alatti videó is csak azt mutatja, hogy hogyan MŰKÖDIK a dolog, de az nem, hogy hogyan kell létrehozni a szám- szöveg "értékpárt"... Viszont ott a hír alatt a hír közzétevőjétől megkérdezheted: hátha tudja...
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: machobymb » 2018. augusztus 31., péntek 9:03

Nekem ráadásul Ariel betűtípusú szöveggel kell, hogy menjen (tudtommal az nem Graphite), mert egy munkahelyi sablonban ez van beállítva.
LibreOffice 6.1.0 - Debian testing
LibreOffice 6.1.0 - Windows 7 / Windows 8.1 / Windows 10
machobymb
 
Hozzászólások: 15
Csatlakozott: 2012. május 30., szerda 12:48

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. augusztus 31., péntek 13:10

Hát... azt írta, hogy graphite kell... Az Arial-lal valószínűleg nem fog menni. De én a másikkal sem tudom működésre bírni egyelőre.

Én ilyenkor az alábbi irányok egyikébe szoktam elindulni:
- Megcsinálom abban az applikációban a dokumentumot, amiben rendelkezésre áll a funkció.
- Barkácsolok hozzá saját makrót.
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. szeptember 1., szombat 12:36

Itt egy próbálkozás makróval:

Numbertext Writerben.odt
(26.29 KiB) 5 alkalommal.
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. szeptember 1., szombat 22:01

Kicsit továbbfejlesztve:

Numbertext Writerben2.odt
(29.62 KiB) 7 alkalommal.


Most így néz ki a makró:

Kód: Egész kijelölése   KinyitásÖsszecsukás
REM  *****  BASIC  *****

Option Explicit

Sub KeyPressed(Event As Object)
   IF Event.KeyCode <> 1280 THEN Exit Sub

Dim oDoc as object
Dim sNum, sText, sName as string
Dim oForm, oCtrl, oFuncAcc as object
Dim aPassedArray as variant
Dim oUserDefProp as object
   
   oDoc = ThisComponent
   oCtrl = Event.Source.Model
   sNum = oCtrl.Text   
   oForm = oCtrl.Parent
   oFuncAcc = createunoservice("com.sun.star.sheet.FunctionAccess")
   aPassedArray = Array(sNum,"hu-HU")
   sText = oFuncAcc.callFunction("NUMBERTEXT", aPassedArray)
   oForm.getByName("txtOutput").Text = stext
   
   sName = "Mezo01_Szov"
   aPassedArray = Array(sNum,"HUF","hu-HU")
   sText = oFuncAcc.callFunction("MONEYTEXT", aPassedArray)
   oUserDefProp = oDoc.DocumentProperties.UserDefinedProperties
   oUserDefProp.setPropertyValue(sName,sText)
End sub
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. szeptember 2., vasárnap 17:11

Természetesen külső indítással bármilyen mezőnek az értékét ki tudod így szöveggel íratni, akár egyetlenegy, akár több darabról van szó. Vagy a mezők névgenerálását kell úgy irányítani, hogy a makróval meg tudd állapítani mely párok tartoznak össze ("Szoveg1" - Szam1"; "Szoveg2" - "Szam2"), vagy az összes névpárt hard-kódolnod kell a makróba. A gondot csak a makró indítása okozza: gombot kell feltenned a dokumentum felületére, vagy gyorsbillentyűt kell használnod, vagy saját menüpontot... és nem szabad megfeledkezned, hogy a megfelelő időben meg is nyomd/rákattints. Esetleg mentési, betöltési, vagy egyéb programeseményhez is rendelheted a makrót, de a mező értékének a változásához én nem tudtam rendelni eddig.

A lényeg: hogy a NUMBERTEXT(), MONEYTEXT() függvény működésre bírható Writerben is, "Graphite" betűkészlet nélkül is. A többi már csak programozási tudás kérdése.
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: machobymb » 2018. szeptember 7., péntek 12:11

Köszönöm a rengeteg belefektetett munkát. Mellékletként elküldöm, hogy mit szeretnék:
Beírom, hogy az első sorban lévő mezőbe (ledolgozott) mennyi napot dolgozik a dolgozó, majd kiszámítom a többi mező segítségével (ktavolsag, kkmdij, kodavissza, kledolgozott = ledolgozott), hogy mennyi térítési díj jár neki (kkifiz), és ezt szövegesen (kkifizszov, formátumkód: @[NatNum12]0) is kiírja.

A dátum mező frissül automatikusan, a többi F9-re sajnos nem. Meg azt tapasztaltam, hogy ha beállítom a térítési díj mező mezőre a számítást, akkor utána legközelebb az értéket látom csak, nem látom a képletet. Ez miért van vajon?
Csatolmányok
Mezo-numbertext-writer.odt
(27.44 KiB) 5 alkalommal.
LibreOffice 6.1.0 - Debian testing
LibreOffice 6.1.0 - Windows 7 / Windows 8.1 / Windows 10
machobymb
 
Hozzászólások: 15
Csatlakozott: 2012. május 30., szerda 12:48

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. szeptember 7., péntek 19:15

Ha a valódi dokumentumod ettől nem sokkal bonyolultabb (értem ezalatt, hogy túl sok strukturált szöveg nincs benne), akkor a Calc-kal történő megvalósítást ajánlom elsősorban. Tudsz beírni egyszerűbb szövegeket és számokat, és sokkal jobban számol, mint a Writer. És még a NUMBERTEXT(), MONEYTEXT() függvény is működik benne. Csak azt kell meggondolni, hogy hogyan oszd fel a cellákat. Én az ilyen esetekben 0,75 cm széles oszlopokat csinálok, és ahol szélesebb hely kell, ott összevonok több cellát. Így a szövegeket, számokat 0,75 cm osztásközzel ("tabulátorral") tudom elrendezni.
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: Szám kiíratása szövegként

HozzászólásSzerző: machobymb » 2018. szeptember 8., szombat 22:59

A dokumentum nem sokkal bonyolultabb ennél, de később is szeretnék más dokumentumokat is hasonlóan megcsinálni, amiket eddig Microsoft-os Word-ben használtunk a munkahelyen, hogy egyszer csak ki tudjuk váltani, mivel előbb-utóbb szükség lesz rá, mivel nem vásárolhatunk és előbb-utóbb fontos lenne a "kifehérítés". Ehhez az általam használtakat megcsinálnám, de avége lehet, hogy az lesz hogy web-es alkalmazást írunk PHP-ban és template-ekkel kiváltjuk, vagy lesz új munkaidő nyilvántartó, amiből csak nyomtatni kell. De gondolkozok Java programon is, amennyiben a jelenlegi Writer-rel még kompatibilis a jOpenDocument kiegészítő (mezőket generálni, majd Java programon keresztül elérni).
LibreOffice 6.1.0 - Debian testing
LibreOffice 6.1.0 - Windows 7 / Windows 8.1 / Windows 10
machobymb
 
Hozzászólások: 15
Csatlakozott: 2012. május 30., szerda 12:48

Re: Szám kiíratása szövegként

HozzászólásSzerző: Zizi64 » 2018. szeptember 9., vasárnap 7:34

szeretnék más dokumentumokat is hasonlóan megcsinálni, amiket eddig Microsoft-os Word-ben használtunk a munkahelyen,


Mi régen a kalibrálási bizonyítványainkat készítettük Word-del (még a Word 6-os verzióval). A hozzá kapcsolódó számítások Excel 5-ben voltak kidolgozva. A bizonyítvány formázottan tartalmazta a kalibrált műszer és az etalonok adatait, a kalibrálás körülményeit, egyéb hivatalos adatokat normál szöveges formában; valamint a mérések (a kalibrálás) adatait táblázatos formában.
Aztán váltottunk: - akkor még OpenOffice-ra - de most már nagyon régen LibreOffice-szal dolgozunk.

A táblázatot eredetileg az Excel számításokból másolással emeltük át a szövegszerkesztőbe. De a munka jelentős részét a táblázatkezelőben kellett elvégezni: bevinni a mérési adatokat, megadni az éppen használt etalonok pontossági adatait, stb. Egy idő után rájöttem, hogy azt a minimális formázott szöveget be tudom vinni a Calc-ba is. Egy ilyen 3-4 oldalas dokumentumból egy oldal a megrendelés adatait, egy oldal az etalonok adatait és a kalibrálás körülményeit, egy oldal a kalibrálás táblázatos eredményeit, és egy opcionális oldal a kalibrálás adatainak grafikonon ábrázolt adatait tartalmazza.
Sőt: automatizálni (makrózni) is tudtam a szöveges jellegű adatok bevitelét adatbázis jellegű adathalmazokból - úgy a Vevőink, mint a kalibráló etalonjaink adataiból - a számításokat és adatformázásokat pedig - amit a Calc másik munkalapjain elvégzünk -, egyszerű hivatkozással juttatjuk a kinyomtatandó "végeredmény" (bizonyítvány) lapra. (A formázások alatt a számok tizedesjegyeinek megfelelő beállítását értem, amely tulajdonságot úgy tudtuk hivatkozni, hogy a számítások végén megfelelő tizedesjegyszámú szöveges adatokká konvertáljuk (dinamikusan, esetenként változó tizedesjegy számmal) a számokat, és annak az eredményét hivatkozzuk a fő lapon. Még a grafikon opcionális megjelenését/eltüntetését is makróval oldottam meg.)

Tehát, az a tény, hogy 3-4 álló A4-es lapon kvázi szöveges dokumentumot kell kinyomtatnom EREDMÉNYként, nem akadályozott meg abban, hogy ne a Szövegszerkesztőt, hanem egy másik alkalmazást (a Calc-ot) használjam hozzá. Ehhez még hozzászerkesztettem egy nyilvántartó makrórendszert is, illetve a Vevők és Etalonok adatainak karbantartó rutinjait is. Mindezt úgy, hogy a valódi ADATBÁZIS kezeléshez egyáltalán nem értek, és nem tudom használni Base-t.

Csupán arra a feltételezésre építettem az ötletet, hogy a CALC sokkal jobban tud szöveget formázni, mint amennyire a WRITER számolni tud.
Sok sikert!
Kovács Tibor (Win7x64Prof; W10x64prof: LO4.4.7, LO6.1.2;
winPenPack, PortableApps: AOO4.1.5, LO3.3.1-6.1.2
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címe elejének szerkesztésével - tedd hozzá: [Megoldva].
Avatar
Zizi64
Globális moderátorok
 
Hozzászólások: 3238
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest


Vissza: Testreszabás és kibővítés

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 vendég