Tuli taas pitkästä aikaa leikittyä splittien & splättien, muuttujien sun muiden kaa...
LibreOffice Calc/Basic ei taivu varsinkaan ilman VBA supporttia aivan yhtä jouhevasti kuin esim. MS Excel/VBA, mutta saapi senkin taipumaan kun jaksaa perehtyä lähemmin com.sun.star...hilpakkeisiin.
Muutoin OO & LO toimivat varsin hienosti ottaen huomioon, että ne on toteutettu varsin pitkälle pelkin community voimin.
Monet avoimen lähdekoodin projektit epäonnistuvat sen takia, että ne yrittävät mallintaa asioita, joita ei voi saavuttaa. Basic-tuki ei tuota juuri mitään etua verrattuna siihen, että ohjelmaan olisi liitetty rikkaat Python-kirjastot, mutta kuulemma on olemassa jotain julkishallinnon ihmisiä, joiden on pakko käyttää Basic:ia ja joilla on esim. isot VBA-makrokokoelmat.
VBA:ia taas ei voi kopioida, koska se on MS:n omistama.
Calc:in pitäisi olla graafinen liittymä Python:ille, koska useimmat sillä tehdyt asiat voi tehdä myös Python:illa.
Calc on varsinkin aika lelu verrattuna Excel:iin, mutta se olisi huomattavasti parempi Python-kirjastoilla.
UNO on minusta turha, koska olisi parempi käyttää jotain GObject:ia tms.
No toki saa taipumaan Python:n kirjastojen avulla, ei siinä mitään. Aikanaan tuli väännettyä vähän enemmänkin koodia, tätä nykyä masiinassa ei ole varsinaisesti mitään muuta hilpaketta jossa on jonkinnäköinen IDE, kuin LibreOffice Basic. Toki saan aikaan pelkällä Notepad/Wscript kombinaatiolla jos jonkin näköistä. Nykyään on tullut oltua jo pidemmän aikaa eläkkeellä ja teen asioita ainoastaan huvikseni. Rahasta en enää, varsinkaan puurra, yhtään mitään. Sen verran Python ympyröistä, että latasin joskus aikaa sitten IronPythonin Visual Studion kylkeen. Rakentelin huvikseni yhden SOAP -pohjaisen viritelmän ja kääntelin. Kun tsiikasin mitä repository directoryyn oli ilmestynyt, alkoi välittömästi jurppimaan, yhden vaivaisen app'in takia Python hilpake oli kasannut about 1/2 gigaa ylimääräistä tarpeetonta paskaa kovalevylleni. Lähti muuten alta aikayksikön koneestani, enkä ole sen koomin ko. skeidaan sekaantunut 🤢
Office on myös paradoksaalinen siinä mielessä, että tosiasiassa on olemassa paljon parempia ilmaisia työkaluja, mutta niiden käyttäminen vaatii usein paljon enemmän tietokonetietoa kuin mitä keskiarvo-käyttäjä hankkii.
Esim. LaTeX on ilmainen ja se on lopulta paljon parempi kuin Word.
Calc:in taas voi korvata Python-skriptillä, joka luullakseni jaksaa myös prosessoida paljon isomman datasetin.
mavavilj kirjoitti:
Esim. LaTeX on ilmainen ja se on lopulta paljon parempi kuin Word.
No, LaTeX on hyvä suurissa dokumenteissa, mutta enpä viitsisi pikkuhomiin sitä.
Paremmuus riippuu pitkälti, mitä haluaa tehdä.
Näpyttele mitä näpyttelet, kooditasolla homma ei ole kiinni scriptistä vaan kääntäjästä. Pysytään nyt aiheessa eli LibreOfficessa, josta Calc on vain yksi osa. Valittavissa olevat scriptikielet ovat Basic, BeanShell, JavaScript & Python. Pythonin käyttö vaatii Pythonin asennuksen, muihin riittelee JRE/JDK. Scripti käännetään siis ajettaessa aivan samoin kuin esim. VBA makrot. Nyt voipi olla niin, että Oracle on asettanut pieniä rajoituksia siihen mitä voi suoraan vääntää ilman, että käpistelee erikseen asetustiedostoja. Esimerkkinä: JRE eli pelkkä runtime, jota meikäläinen käyttää, ei ainakaan salli instanssin luomista WebDavDocumentContent servicestä (com.sun.star.ubc.WebDAVDocumentContent),
jolloin WebDAVContentProvider/WebDAVFolderContent objektit ovat hyödyttömiä, koska ei ole mitään mihin pukata sisältöä. Tosin eipä se järin suuri menetyskään ole, aina löytyy keinot kiertää 😉 Kun asentelin LibreOfficen about kuukausi sitten huomasin, että sillä ei voi pukata Windowsin Outlook (new) app'in kautta LibreOfficesta sähköpostia/joukkokrjeitä johtuen siitä, että LibreOfficessa on käytössä SimpleMAPI joten oli rakennettava itse tilalle palikka, että e-postit voi halutessaan pistää menemään vaikka Microsoft Exchange servun välityksellä. Nyt en ole mitenkään mainostamassa OO/LO pakettien erinomaisuutta, vaan juurikin rajoitukset herättivät mielenkiinnon ryhtyä taas vaihteeksi koodaamaan.
Eläkepäivieni ratoksi, ryhdyin porttaamaan vanhoja VBA-viritelmiäni LibreOffice [Star]Basic ympäristöön. Huolimatta IDE:n tarjoamista varsin basic komponenteista sekä joidenkin UNO palveluiden rajoitteista saa sillä kuitenkin jonkin näköistä väännettyä kunhan käyttää tarpeeksi mielikuvitusta eikä hetimiten hermostu vaikkei heti niin taipuisikaan. Jossain kohtaa olen joutunut rakentelemaan ComVisible .NET wrappereita, mikä onnistuu ihan Windowsin peruspalikoilla ilman SDK pakettien tai VS:n asentelua. Olen purkanut 3 tyyppikirjastojen rekisteröintiin välttämättöntä NETFX työkalua Windows 11 SDK (ISO) paketista, mikä onnistuu 7zip'llä vaivatta. Tarvitsee ainoastaan nimetä cab-paketista kopioidut tiedostot uudelleen, ja that's it. Koskapa LibreOfficeen sisällytetty [Star]Basic ei omaa kunnolla toimivia työkaluja kuten esim. StrConv joka kykenisi kääntämään tiedostosta byte taulukkoon luetun datan Unicode muotoon jonka voisi pukata esim. tietokantaan tai Base64 merkkijonon kääntämistä suoraan binary taulukkoon jonka voisi tallentaa suoraan esim. .pdf tiedostoksi jne... Joten olen välillä väännellyt vbc commandline kääntäjällä yksinkertaisia parin funktion ComVisible NET.dll kirjastoja joita voi hyödyntää Basic makroissa CreateObject -metodin avulla.