..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

iz txt v xlsx

Pomoč pri izdelavi makrov

OdgovorNapisal/-a admin » Sr nov 04, 2009 2:09 pm

???? an kaj se sedaj to zadnje nanaša? Vse kar pišete sva že naredila?
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3537
Pridružen: Sr jul 20, 2005 10:06 pm



Matjazev.NET
 

OdgovorNapisal/-a rick » Sr nov 04, 2009 2:58 pm

Lahko pa seveda tudi na nivoju operacijskega sistema (Oken) zaukažete naj slednja vse TXT datoteke odpirajo v Excelu - tega vam sicer ne priporočam a da se narediti.


no tega Matjaž seveda ne želim,rad bi,da mi makro naredi to kar storim ročno,če je mogoče.torej,da mi datoteke preimenuje txt v xlsx.če to storite ročno(lahko probate),potem vam datoteke ne poškoduje in lahko jih brez problema odpirate-preverjeno.če to storim z datoteko bat,pa se zgodi,kot sem vam že omenil.lahko to storimo z makrom???
da,vsaj probamo.za vaš trud se iskreno zahvaljujem.
lp
rick
 
Prispevkov: 216
Pridružen: So feb 17, 2007 9:18 pm

OdgovorNapisal/-a admin » Sr nov 04, 2009 3:12 pm

rick je napisal/-a:Če to storite ročno(lahko probate),potem vam datoteke ne poškoduje in lahko jih brez problema odpirate-preverjeno.če to storim z datoteko bat,pa se zgodi,kot sem vam že omenil

Nikakor ne morem ugotoviti kaj počnete a tale trditev ne pije vode. Da se razumeva. Vi trdite sledeče:
  1. Imate TEST.TXT datoteko - to je navadno tekstovno datoteko, ki jo lahko odprte z notepad-om.
  2. To datoteko ročno preimenujete iz TEST.TXT v TEST.XLSX in ko jo odprete v Excelu vam slednji ne javi napake.
  3. Imate to isto TEST.TXT datoteko - ki jo avtomatično preimenujete (to je z uporabo .BAT datoteke) v TEST.XLSX
  4. Sedaj odprete datoteko v Excelu in slednji javi napako!

Lahko staviva 10.000€ (ali več ;), če želite), jaz namreč trdim da to ni res! Točka 1 je namreč enakovredna točki 3 in zatorej je tudi točka 2 enakovredna točki 4... To je praktično osnovni postulat računalništva in dilema okoli tega je ekanovredna dilemi ali je naša zemlja ravna ali je krogla - jaz trdim, da je krogla.

Torej kaj vi počnete in kako to počnete je vprašanje saj namreč naredite nekaj drugega in ne samo preimenujete datoteko!
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3537
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a rick » Sr nov 04, 2009 10:47 pm

pozdravljeni,
žal mi je,da sem zašel....,davno tega sem res iz txt naredil xls,vendar ne na način,da sem preimenoval končnico.prepričan sem bil v svoj prav,se opravičujem,tudi jaz mislim,da je zemlja okrogla :) .no Matjaž,pa vendar me zanima zakaj ne morem odpreti datotek xlsx katere sem preimenoval z bat datoteko?lahko jih odprem,če sem v bat datoteko namesto xlsx napisal
xls.v službi uporabljamo samo te končnice in morajo takšne tudi ostati.
ali vam odpira xlsx?
za odgovor se zahvaljujem.
lp
rick
 
Prispevkov: 216
Pridružen: So feb 17, 2007 9:18 pm

OdgovorNapisal/-a Stenly » Če nov 05, 2009 7:36 am

Pozdravljeni

Zakaj pa iz Excela ne odpirate xls datoteke, podatke obdelate in te (txt) datoteke nespremenjene zaprete. Jaz uporabljam ta način.

Lp
Stenly
 
Prispevkov: 223
Pridružen: Sr jul 27, 2005 11:29 pm

OdgovorNapisal/-a admin » Če nov 05, 2009 9:18 am

Novi Excel (2007 in novejši) vam takšne datoteke ne bo nikoli odprl ne da bi vas opozoril na napako!

Starejši Excel (Excel XP) pa končnice XLSX tako ali tako ne pozna, tekstovno datoteko s končnico XLS pa odpre, ne da bi uporabnika posebej opozarjal na dejstvo, da to ni njegova originalna datoteka.

Postopek preimenovanja datoteke tako ali tako ni pravilen in imeli ste pač srečo, da je deloval.
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3537
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a rick » Če nov 05, 2009 9:24 am

pozdravljen Stenly

vaša ideja se mi zdi pametna,se pravi,odprem z ekscelom in nato shranem kot xlsx.če to naredim potem mi datoteke res ne poškoduje .vendar Stenly,teh datotek je ogromno,torej bi bil smiselen makro,ki bi mi te datoteke odprl in jih nato shranil pod isto ime,vendar s končnicami xlsx.imate morda kako idejo.v mapi naj bi bilo po 100 datotek txt,no map pa bi bilo tudi precej.vidite,da je to ročno precej zamudno.
zame bi bil najbolj ugoden makro,kaj pa mislite vi?
za odgovor se zahvaljujem.
lp
rick
 
Prispevkov: 216
Pridružen: So feb 17, 2007 9:18 pm

OdgovorNapisal/-a Stenly » Če nov 05, 2009 5:04 pm

Pozdrav
Niste me pravilno razumeli. Jaz imam še več takih (txt) datotek (več 1000) v mapi. So pa smiselno poimenovane, tako da iz imena vem kam paše. V njih so podatki meritev, katere kasneje v excelu obdelam. Tako imam makro v neki excelovi datoteki, s katerim odprem točno določeno txt. datoteko, podatke prekopiram v polja za obdelavo in txt. datoteko zaprem. Ni mi pa jasno, zakaj želite iz txt. datotek ustvariti xls datoteko.
Lp
Stenly
 
Prispevkov: 223
Pridružen: Sr jul 27, 2005 11:29 pm

OdgovorNapisal/-a rick » Če nov 05, 2009 5:36 pm

pozdravljeni,

ok Stenly,službeni program mi podatke daje v txt datotekah,vendar jih moram jaz dalje vse prenesti v xls,ker so takšne službene zahteve in to je to.
torej,hočem reči,podatke iz txt ne obdelujem v excelu,ničesar od tega,samo format xls ali še boljše xlsx datoteke rabim.
a bi se dalo tukaj kaj storiti?
za odgovor se iskreno zahvaljujem.
lp rick
rick
 
Prispevkov: 216
Pridružen: So feb 17, 2007 9:18 pm

OdgovorNapisal/-a admin » Če nov 05, 2009 9:53 pm

Glede na želje/potrebe.... vas lahko preusmerim na možnost izdelave makrov po naročilu.
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
 
Prispevkov: 3537
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a Stenly » Če nov 05, 2009 11:59 pm

Pozdravljen

Tako bol na hitro:
Koda: Izberi vse
Sub Preimenuj()
'
On Error Resume Next
  For Each d In Array("*.txt")
    Dim i As Long
    With Application.FileSearch
        .NewSearch
        .LookIn = "C:\Test\"             ' bolj natančno definirajte, kje naj išče
        .Filename = d
        If .Execute() > 0 Then
            For i = 1 To .FoundFiles.Count
              datoteka = ExtractFileName(.FoundFiles(i))
              '
                  Workbooks.OpenText Filename:="C:\Test\" & datoteka, Origin:=852, StartRow:=1 _
        , DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(54, 1), Array(62, _
        1), Array(65, 1), Array(79, 1), Array(91, 1)), TrailingMinusNumbers:=True
    ActiveWorkbook.SaveAs Filename:="C:\Test\" & Left(datoteka, (Len(datoteka) - 3)) & "xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
              '
            Next i
        End If
    End With
   Next d

End Sub
Function ExtractFileName(fPath As String) As String
    Dim i As Long, lcut As Long, llen As Long

    i = InStr(i + 1, fPath, "\")
    Do While i > 0
        lcut = i
        i = InStr(i + 1, fPath, "\")
    Loop

    If lcut > 0 Then
        llen = Len(fPath) - lcut
        ExtractFileName = Mid(fPath, lcut + 1, llen)
    Else
        ExtractFileName = ""
    End If
End Function

To so kode iz tega foruma (mal je pač treba pobrskat - za v bodoče). Zadeva je bol na hitro dana skupaj. Jaz ne uporabljam offica 2007 (tu ne vem, če bo delovalo).

Lp
Stenly
 
Prispevkov: 223
Pridružen: Sr jul 27, 2005 11:29 pm

OdgovorNapisal/-a rick » So nov 07, 2009 3:03 am

pozdravljen Stenly
najprej hvala,
mal me gripa daje,pa se zato javljam šele sedaj....
probal sem makro,pa se ne zgodi ničesar :(
na c disk sem dal mapo Test,noter pa nekaj txt datotek,ki jih ni preimenovalo.kaj mislite,da delam narobe?uporabljam pa excel 2007,ampak
to menda naj nebi bil problem,ali jih vam preimenuje?
za odgovor se zahvaljujem
lp rick
rick
 
Prispevkov: 216
Pridružen: So feb 17, 2007 9:18 pm

OdgovorNapisal/-a Stenly » So nov 07, 2009 2:38 pm

Jaz Exe. 2007 ne uporabljam več, ker sem imel preveč težav (http://www.matjazev.net/forum/viewtopic.php?t=940&highlight=2007).
Nič se ne zgodi, ker pride do neke napake. V kodi zbrišite "On Error Resume Next". Kjer je napaka se bo ustavilo. Zadevo skušajte popravit. Jaz sem makro nahitro vrgel skupaj in z mojim znamjem. Pri meni je ok. V kolikor pač temu ne boste kos, bo res najbolje, da se obrnete na Matjaževo pomoč.

Lp
Stenly
 
Prispevkov: 223
Pridružen: Sr jul 27, 2005 11:29 pm

OdgovorNapisal/-a rick » So nov 07, 2009 5:04 pm

potzdravljeni,
se strinjam,da excel 2007 ni najboljši,doma ga lahko zamenjam s starim,vendar boljšim,toda
v službi si pa to ne morem privoščiti.
naredil sem,kar ste rekli in ustavi se mi že kar na četrti vrstici:
Koda: Izberi vse
With Application.FileSearch

no,tukaj pa sem bos,nevem,kako naj nadaljujem.
imate še kakšno idejo?
za odgovor se zahvaljujem.
lp
rick
 
Prispevkov: 216
Pridružen: So feb 17, 2007 9:18 pm

OdgovorNapisal/-a Stenly » So nov 07, 2009 8:01 pm

Pozdravljen
Ne vem, zakaj se tam zaustavi. Nemara spet kak hrošček. Meni na xp-ju dela.
Makro naj bi delal pa tako:
V kodi mpreimenuj, se sprehodimo skozi vse dat. txt. v določenem dir.
Ob vsaki najdeni datoteki se kliče f. extract, kjer se izlušči samo ime datoteke, potem sem s snemanjem prišel do makra za odpret in zapret in shranit. Tu je precej parametrov.
Makro sem na hitro vrgel skupi in pri meni dela. Glavni kodi za iskanje in filtriranje so na tem forumu, kot še veliko drugega.
Svetujem vam, da vse še enkrat probate na xp-ju.
Stenly
 
Prispevkov: 223
Pridružen: Sr jul 27, 2005 11:29 pm

PrejšnjaNaslednja

Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 1 gost

cron