Mure on vaja lahendada. Nii on prn fail ja sealt on vaja andmed saada exceli tabelisse. Muidu võiks isegi käsitsi teha, aga faile on rohkem.
Üks näidis fail ka alla pool.
Spoiler
########################E#########E###########################################################E###########################################################»
r r N A I S E D r M E H E D r
r Kokku Ē*********Ä*********Ä*********Ä*********Ä*********Ä*********×*********Ä*********Ä*********Ä*********Ä*********Ä*********¶
r r Alla 25 | 25-29 | 30-39 | 40-49 | 50-55 | Üle 56 r Alla 25 | 25-29 | 30-39 | 40-49 | 50-60 | Üle 61 r
########################I#########I#########+#########+#########+#########+#########+#########I#########+#########+#########+#########+#########+#########¹
KOKKU r 18857 r 1419 | 1703 | 4502 | 3755 | 1731 | 2673 r 298 | 290 | 752 | 688 | 643 | 403 r
########################I#########I#########+#########+#########+#########+#########+#########I#########+#########+#########+#########+#########+#########¹
Tallinn r 4828 r 391 | 375 | 989 | 1090 | 494 | 777 r 56 | 45 | 155 | 170 | 188 | 98 r
Kohtla-Jrve l. r 578 r 56 | 56 | 134 | 110 | 46 | 110 r 4 | 5 | 16 | 26 | 13 | 2 r
Narva linn r 734 r 91 | 97 | 164 | 129 | 64 | 98 r 11 | 8 | 15 | 24 | 27 | 6 r
Prnu linn r 688 r 56 | 65 | 150 | 138 | 72 | 91 r 12 | 10 | 26 | 24 | 28 | 16 r
Sillame linn r 178 r 37 | 11 | 36 | 24 | 12 | 24 r 13 | 3 | 10 | 6 | | 2 r
Tartu linn r 1503 r 88 | 132 | 397 | 294 | 139 | 185 r 31 | 24 | 61 | 55 | 56 | 41 r
Harjumaa r 1257 r 123 | 112 | 338 | 241 | 95 | 166 r 24 | 6 | 53 | 31 | 45 | 23 r
Hiiumaa r 196 r 10 | 18 | 44 | 46 | 21 | 14 r 12 | 2 | 15 | 5 | 6 | 3 r
Ida-Virumaa r 740 r 77 | 59 | 156 | 178 | 59 | 103 r 15 | 10 | 17 | 37 | 23 | 6 r
Jgevamaa r 611 r 27 | 44 | 133 | 128 | 55 | 102 r 14 | 19 | 25 | 19 | 32 | 13 r
Jrvamaa r 662 r 32 | 68 | 152 | 150 | 71 | 76 r 3 | 13 | 37 | 33 | 12 | 15 r
Lnemaa r 511 r 20 | 47 | 142 | 102 | 46 | 58 r 8 | 12 | 34 | 23 | 11 | 8 r
Lne-Virumaa r 1041 r 74 | 112 | 269 | 191 | 92 | 133 r 14 | 11 | 58 | 38 | 28 | 21 r
Plvamaa r 536 r 18 | 63 | 146 | 97 | 46 | 83 r 10 | 13 | 20 | 15 | 15 | 10 r
Prnumaa r 617 r 78 | 50 | 160 | 92 | 53 | 76 r 9 | 14 | 29 | 22 | 25 | 9 r
Raplamaa r 624 r 43 | 56 | 146 | 127 | 64 | 83 r 7 | 10 | 29 | 29 | 15 | 15 r
Saaremaa r 568 r 30 | 62 | 177 | 96 | 46 | 63 r 4 | 12 | 39 | 17 | 13 | 9 r
Tartumaa r 758 r 51 | 65 | 194 | 116 | 67 | 118 r 27 | 23 | 30 | 26 | 18 | 23 r
Valgamaa r 533 r 35 | 53 | 136 | 100 | 42 | 79 r 6 | 14 | 14 | 20 | 16 | 18 r
Viljandimaa r 961 r 38 | 88 | 253 | 183 | 82 | 130 r 7 | 18 | 43 | 41 | 42 | 36 r
Vrumaa r 733 r 44 | 70 | 186 | 123 | 65 | 104 r 11 | 18 | 26 | 27 | 30 | 29 r
########################Z#########Z#########L#########L#########L#########L#########L#########Z#########L#########L#########L#########L#########L#########
Tõstad faili Excelisse nii nagu on. Siis võtad esimese veeru aktiivseks ja Data alt Text to columns. Tüübiks paned Delimited ja järgmises aknad määrad Delimiteriks r tähe. Siis võtad aktiivseks selle veeru, kus ülejäänud kraam ja kordad tegevust, Delimiteriks seekord |.
Ok. Sain asja loetavale kujule. Nüüd järgmine probleem. kaustas on ~20 prn faili. Vaja kõigile scripti rakendada ja pärast salvestada exeli failideks.
Kuidas see süsteem põhimõtselt peaks välja nägema?
1) Avatakse fail, tehakse toiminud ja salvestatakse uue nimega.
2) Avatakse kõik failid korraga ?
Või on mõni parem võimalus veel-.
J
Kas ei oleks mõistlikum uurida, milleks see süsteem võimeline on, mis neid prn faile genereerib?
Äkki saaks sealt andmed kohe kuidagi mõistlikumalt kätte?
See, mis sa siin näitasid - see on porno ja nii andmeid ei töödelda!
Nii et on tegemist arhiivis olevate failide konvertimisega kaasaegsemale kujule?
Kui neid on palju, siis oleks otstarbekas skript valmis kribada, mis töö regulaaravaldiste abil automaatselt ära teeb.
Kui on tegemist Windowsi süsteemiga ja regulaaravaldised pole otse kasutatavad, on abiks Cygwin - võimaldab bash skripte jooksutada, regulaaravaldisi ja muid mugavusi kasutada. _________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus.
Nagu Dogbert ütles, siis ainuke mõistlik lahendus on kirjutada mingi programm, mis selle töö ära teeb. Selline programm peaks koosnema kahest osast:
* Esiteks programm, mis võtab võtab ühe selles imelikus formaadis faili ja konverteerib selle teise formaati (näiteks cvs-i).
* Teiseks on tarvis seda esimest programmi lihtsalt jooksutada kõigi su failide peal. Selleks piisab mõnest lühikesest skriptist kas siis Dogberti pakutud CygWinis või näiteks Windowsi PowerShellis.
Kuid endiselt on õhus küsimused, millele sa vastanud pole...
Kas sa siis ikkagi oskad programmeerida või mitte. Arvestades seda, et sa ei pöördunud oma probleemiga kohe programmeerimise foorumisse, siis ma oletaks, et eriti ei oska. Samas mainisid sa vahepeal, et said asja loetavale kujule ja tahad nüüd skripti rakendada kõigile kaustas olevatele failidele - selle järgi ma nagu oletaks, et sa juba kirjutasidki mingi skripti. Võta nüüd kinni... _________________ Mõistus otsas? Pane pinusse...
Proged oskan.
Mõtlesin natuke ise. Idee on selline, et tuleb vba script(macro).
Kuna failid on kataloogides, tavaliselt ~20 faili ühes kataloogis.
Algul teeb masiivi katloogis leiduvatest prn failidest. Seejärel avab faili, paigutab andmed excelisse. Salvestab exeli failiks. Lõpuks sulgeb ja võtab järgmisse.
Ehk igas kataloogis hakan käsitsi käivitama scripti.
Kuidas tundub?
Kui sul neid katalooge on palju, siis on see ju ikka suht tüütu tegevus või mis. Kindlasti saaks seda asja ka katalooge mööda käima õpetada. _________________ Mõistus otsas? Pane pinusse...
Väike mõistujutt.
Kunagi oli keegi mitte eriti tark inimene, kes leidis, et just sellisel kujul on tore andmeid säilitada (tegemist on trükivormiga - eraldi andmete säilitamise peale ei mõeldudki). Nüüd ollakse nende andmetega hädas, sest nad ei ole mõistlikult töödeldavad. Nii pannaksegi andmeid töötlema usin noor, kellele antakse ülesandeks andmed ühe suletud süsteemi poolt toetatavasse formaati panna.
X aasta pärast ollakse hädas, sest andmed on formaadis, mida enam keegi ei kasuta ja mille kohta puudub ka täpne avatud dokumentatsioon. Palgatakse jälle noor, kes hakkab andmeid töötlema, et neid panna formaati Y.
Ehk siis - on märksa paremaid formaate andmete säilitamiseks, eriti juhul, kui andmed peaksid aastakümneid säilima. Mõnda neist on võimalik ka Exceliga avada.
Mina olen igatahes päris mures, sest nii mõneski ettevõttes on personaliosakond kokkuhoiu nimel loobunud vanadest perfokaartidest ja kogu arvestus käib elektrooniliselt. Jääb ainult loota, et vahendeid uuendades ei pea hüüatama "ah, ei saa aru, mis seal vanas baasis on - teeme uue puhtalt lehelt". Töötajate andmeid tuleb nimelt päris kaua säilitada.
Ega excel fail ei ole tõepoolest õige formaat andmete säilitamiseks, jutt jumala õige! _________________ Tee inimesele lõke ja tal on soe üheks päevaks, pista ta põlema ja tal on soe elu lõpuni. (Terry Pratchett)
e.k spikker: muhk on kumer, lohk on nõgus.
Nii ärge kritiseeriga formaati, seda lihtne teha. Pakkuge parem välja. Ka minu ülatus oli suur, et andmeid nii hoidakse. Eelmine inimene oli enne mind jõudnud nii kaugele,
et kirjutas mingi scripti mis tõstis kõik ~3000 faili ühte katloogi. Ühesõnaga tegi asja veel hullemaks, lõhkus struktuuri. Õnneks jäätis prn failid alles.
Andmed läksid excelis esimesse veergu. Siis käsiti minul neid faile sorteerima hakata aastata järgi ja esimesest veerust andmeid laial tõstma.
Seda scripti mina enda silmaga näinud ei ole. Tal vist häbi selle pärast. Kõrgelt haritud inimene. Ok see selleks. Kataloogide mööda võib muidugi käima panna. See eriti tööd ei lisa.
Natuke sobrades ma leidsin mõned prn failid mis olid hoopis kooloniga eraldatud. Mõistlik siis vast kõik kataloogid käsitsi läbi käia. Lõpuks peaks minema kogu värk exceli pivot'itess. See juba tulevik.
Kas andmed on igas PRN failis samal kujul ja sama asja kohta (st. päis ja esimene veerg ühesugused)? Kui nii, siis üpris lihtsakoelise VBA jupiga on võimalik nad ühtsele CSV kujule viia, mida söövad kõik arvestatavad arvutusprogrammid.
Private Sub CommandButton1_Click()
'Sheet4.UsedRange.Clear '' puhastus
'teelist ("C:\WINNT\Profiles\andresa\Desktop\H96D1") 'folderi sisust teeb listi ja kirjutab tabelisse
i = 1 'a1:a..n failide nimed ja asukohad
Do Until IsEmpty(Cells(i, 1)) = True
Nüüd olen natuke hädas. Esimine asi. Igakord kui ma exceliga prn faili avan, annab hoiatuse. Kas oled ikka kindel ja niii. Kuidas seda ära saab jätta.
Vea teda pildis. Kahju kui koug värk selle taha jääb
Katsu Workbooks.OpenText asemel kasutada tavalisi VBA sisend-väjund funktsioone. Ilmselt on parem kirjutada selleks eraldi funktsioon, näiteks midagi sellist:
vb:
Function GetFileContents(FileName AsString)AsString
Application.DisplayAlerts = False
Kas see ei võta kisa vähemaks?
Suurepärane! Tänan
Mille poolest on tavaline VBA sisend-väljund f parem kui Workbooks.opentext?
2korda2 kirjutas:
Väike mõistujutt.
X aasta pärast ollakse hädas, sest andmed on formaadis, mida enam keegi ei kasuta ja mille kohta puudub ka täpne avatud dokumentatsioon. Palgatakse jälle noor, kes hakkab andmeid töötlema, et neid panna formaati Y.
Ehk siis - on märksa paremaid formaate andmete säilitamiseks, eriti juhul, kui andmed peaksid aastakümneid säilima. Mõnda neist on võimalik ka Exceliga avada.
Tõesti kardad, et exceli tabelist ei saa andmeid mõne aja pärst kätte? Alati saab ju vanema office tõmmata, need ei kao kuhugi ma arvan.
Missugune dokumentatsioon peaks tabelite kohta olema? Paku palun parem formaat välja siis
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.