import podatkov iz txt datoteke

Pomoč pri delu z MS Excelom
Odgovori
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Odgovor Napisal/-a GoldZ »

Datoteka, ki ste mi jo poslali je:
- ročno narejena (dela)
- z makrojem (ne dela)

:?:

Vsi podatki so vsekakor le vrednosti, ker TXT drugega niti ne pozna. :wink:

Mogoče še to, poslali ste mi datoteko z imenom "MERTEMP1.SMN.txt" :?:

Mogoče dosti sprašujem :) , a težko je kaj rešiti, če ne veš vsega...

P.S. Poslana datoteka je izvorna/preračunana :?:
Življenje je enostavno, če poznaš "The Secret".
GoldZ
luka_k
Prispevkov: 61
Pridružen: So Okt 01, 2005 9:00 pm

Odgovor Napisal/-a luka_k »

pozdravljen

no izvorne datoteke nimam doma ker je v programu (služba).

še enkrat poudarjam: če prekopiram v ta fajl ročno ali z mamkrom se
podatki v tej datoteki ne razlikujejo.so popolnoma enaki in so lepo
soltirani le program ki nadalje uporablja te podatke le-te pomeša.(seveda ne v tej datoteki,ampak v izpisu in pa v samem programskem prikazu) . tu v tej datoteki ostanejo podatki takšni kot so.no,če zadevo uredim ročno potem je vse ok,drugače pa ,kot sem omeni.

lp luka_k
GoldZ
Prispevkov: 137
Pridružen: Če Sep 01, 2005 10:20 am

Odgovor Napisal/-a GoldZ »

OK... sedaj mi je zadeva dosti bolj jasna...

A ta trenutek nimam nobenega predloga... dokler ne vidim izvorne datoteke... jutri??

Ker kot razumem, program potem več pravilno ne razbere podatkov... (ročno narejene da...)

Še vedno verjamem, da bo šlo... :wink:
Življenje je enostavno, če poznaš "The Secret".
GoldZ
luka_k
Prispevkov: 61
Pridružen: So Okt 01, 2005 9:00 pm

Odgovor Napisal/-a luka_k »

pozdravljen

ok jutri vam jo pošljem.
lahko noč.




lp luka_k
admin
Site Admin
Prispevkov: 3690
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pozdravljeni,
še enkrat poudarjam: če prekopiram v ta fajl ročno ali z mamkrom se
podatki v tej datoteki ne razlikujejo.so popolnoma enaki in so lepo
soltirani le program ki nadalje uporablja te podatke le-te pomeša
To ne bo držalo. Datoteki preprosto nista enaki in tu ni nikakršne dileme. Mogoče sa vam na pogled zdita enaki a nista. Razlikujata se vsaj v neki stvari in le ta ja dovolj, da se drugemu programu zmeša (če je seveda šlampasto napisan).

Bolj pa me muči druga stvar. Vi pravite da imate program, ki meritve izpisuje v TXT datoteko (do sem vse OK)... potem vi vzamete to TXT datoteko in v njej nekaj preračunate (tudi OK) .... potem pa jo vrnete nazaj v isti progam (e tukaj pa je malce "smešno"). Če je temu res tako, zakaj podatkov ne obdela sam program?... A na to vi verjetno nimate vpliva :(

Sicer so pa vsi odgovori, ki ste jih dobil povsem pravilni in datoteki se preprosto RAZLIKUJETA in po vsej verjetnosti je je temu kriv izvoz v txt. No obstaja pa tudi možnost, da je program tako bedast, da mu ne ustreza končnica datoteke...
lp,
Matjaž Prtenjak
Administrator
luka_k
Prispevkov: 61
Pridružen: So Okt 01, 2005 9:00 pm

Odgovor Napisal/-a luka_k »

pozdravljen
pričakoval sem takšno vprašanje....
pogram,ki ga uporabljamo je profesionalen,seveda pa je pomankljiv.
ne bi rad govoril za kakšno področje gre.seveda se strinjam s tem kar ste napisali,vprašanje je ,kaj moram sedaj narediti?

poglejte Matjaž; ko sem zadevo izvedel z makrom se je datoteka shranila
na ime stare originalne datoteke.(se pravi,sem original povozil)
no,tu so bili podatki zmešani.če sem nato v to novo datoteko ročno
lepil podatke pa je stvar delovala normalno.torej tudi v novo ustvarjeni datoteki gre ročno,"avtomatsko" pa je "štala".
hvala za posluh.

lp_luka
admin
Site Admin
Prispevkov: 3690
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

luka_k napisal/-a: poglejte Matjaž; ko sem zadevo izvedel z makrom se je datoteka shranila
na ime stare originalne datoteke.(se pravi,sem original povozil)
Ok, vse lepo in prav.
luka_k napisal/-a: no,tu so bili podatki zmešani.če sem nato v to novo datoteko ročno
lepil podatke pa je stvar delovala normalno. torej tudi v novo ustvarjeni datoteki gre ročno,"avtomatsko" pa je "štala".
Poglejte. TXT datoteka je za razliko od DOC ali XLS datotek povsem "odprta datoteka", kar pomeni, da vanjo lahko pišete in po njej šarite kolikor hočete. Nikjer v sami datoteki ni napisana njena struktura ali kaj podobnega. Če vam torej makro naredi datoteko, ki je neuporabna, potem pa jo vi ročno popravite ste s tem samo dokazali, da makro pač deluje napačno. Tu ni nobene magije. Makro naredi datoteko, ki je napačna in vi jo ročno popravite - to je povsem povsem enakovreno, kot da vi zaženete notepad in v njem celotno datoteko napišete. Kaj več vam pri najboljši volji ne morem pomagati.

Poglejte; Da bi sem mi kakorkoli lahko prebili do rešitve, potem morate vi narediti sledeče:
  1. TXT datoteko odpreti v Excelu.
  2. Jo popraviti v Excelu (do tega koraka, ste, kolikor vidim uspešno prišli!)
  3. Shranite datoteko v Excelu z uporabo 'Shrani kot' ukaza. Brez kakršnegakoli ročnega telovadenja!!!!!
  4. Uvozite datoteko v vaš program.
Tretjo in četrto točko ponavljajte tako dolgo, dokler stvar ne uspe. Ko stvar uspe si natančno zapomite katero opcijo ste izbrali pri ukazu 'Shrani kot' in nam jo povejte. Potem bomo makro lahko popraviti (ob tem zapišite tudi celoten makro, kot izgleda do tega trenutka).

Kaj pa če takšne opcije v 'Shrani kot' ne najdete? E, potem pa mi nimamo kaj početi ker v tem primeru Excel pač ne zna izvoziti natančno takšne datoteke, kot jo pričakuje program. V takšnem primeru pa je izvoz pač potrebno napisati z VBA proceduro, vendar pa je pri tem potrebno natančno poznati zahtevano strukturo datoteke.

Sedaj pa še malce prakse, da se enkrat končno razumemo kaj so TXT datoteke. Recimo, da vi želite v TXT datoteko zapisati števila 1 2 in 3. To lahko naredite na poljubno mnogo načinov in nekateri so prikazani spodaj. Program pa mora znati takšno datoteko brati. In vsak program pač pričakuje neko strukturo. Konkreto to pomeni, da bi morali v programu napisati sledeče pogoje, če bi želeli brati takšno datoteko (pogoji so zapisani v oklepaju)

Koda: Izberi vse

1 2 3 (med številkami je NATANČNO en presledek)
1;2;3 (med številkami je podpičje)
1       2       3 (med številkami je tabulator)
1   2                      3 (med številkami je POLJUBNO MNOGO presleddkov)
1;2   3 (med številkami je podpičje ALI poljubno mnogo presledkov)
1-2-3 (med številkami je znak minus)
No, Excel zna recimo narediti nekatre izmed teh izvozov. Če vaš program pričakuje drugačno strukturo, vam (sam) Excel ne more pomagati.
lp,
Matjaž Prtenjak
Administrator
luka_k
Prispevkov: 61
Pridružen: So Okt 01, 2005 9:00 pm

Odgovor Napisal/-a luka_k »

pozdravljen Matjaž
najprej hvala za obširno razlago,ki jo teoretično razumem.
poizkusil sem vse variante,ki ste jih našteli,delal sem povaših navodilih
in korakih,vendar nisem uspel.vsi makri ki sem jih napisal(posnel)
delujejo vendar niso uporabni nadalje za obdelavo. žal.posnel sem vsaj
deset različnih makrov,vendar vedno ista pesem.mislim,da bom ta primer opustil......
vprašal bi samo:ali lahko z makrom odprem že obstoječo txt datoteko in nato vanjo
skopiram podatke in jo nazadnje tudi zaprem.tako počnem ročno in mi uspe.
je to možno?
za odgovor se najlepše zahvaljujem.

lp luka_k
admin
Site Admin
Prispevkov: 3690
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

luka_k napisal/-a: vprašal bi samo:ali lahko z makrom odprem že obstoječo txt datoteko in nato vanjo skopiram podatke in jo nazadnje tudi zaprem.tako počnem ročno in mi uspe. je to možno?
Seveda je možno :). Toda kam v datoteko naj podatke skopira?
lp,
Matjaž Prtenjak
Administrator
luka_k
Prispevkov: 61
Pridružen: So Okt 01, 2005 9:00 pm

Odgovor Napisal/-a luka_k »

pozdravlje Matjaž

ostali ste mi samo še vi....

takole počnem ročno:
nahajam se v odprtem delovnem zvezku excel(zvezek1.xls)
na namizju imam datoteko baza.txt (za razumevanje,sicer v programu)
-odprem datoteko baza.txt
-izberi vse
-kopiraj
in nato
-select cels v odprtem excel-u(list1)
-prilepi
nato nekaj preračunam ( to bi zmogel)
in zopet
-select cels
-kopiraj
grem v že odprto datoteko baza.txt
-izberi vse(ta ukaz morda ni potreben,saj je še vedno vse onačeno)
-prilepi

to je to, na koncu shrani spremembe v datoteki baza.txt

upam da sem bil razumljiv.opisal sem vam točno tako,kot to počnem
ročno.hvala za vaš trud. s spoštovanjem.

lp luka_k
admin
Site Admin
Prispevkov: 3690
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Oh, sem čisto pozabil na vas :(

Sem poskusil in vi nekaj počnete narobe... Poskusite sledeče:
  • Odprite prazno Excelovo datoteko
  • V celice napišite poljubno vsebino.
  • Izberite vse celice in kopirajte vsebino.
  • Odprite beležnico in pravkar skopirano vsebino prilepite v prazen dokument ter posnamite.
  • Vrnite se v Excel ter datoteko posnamite kot TXT ločeno s tabulatorji.
  • Primerjajte obe datoteki in videli boste da sta datoteki popolnoma isti!
Kaj sem vam s tem dokazal? Preprosto; če v datoteko lepite ali datoteko naredite tako, da v Excelu izberete shrani kot TXT (ločeno s presledki) dobite isto datoteko.... to pomeni da vam vsi vseskozi pravilno svetujemo!
lp,
Matjaž Prtenjak
Administrator
Odgovori