izpis vseh datotek iz nekega direktorija

Pomoč pri izdelavi makrov
Odgovori
rick
Prispevkov: 216
Pridružen: So Feb 17, 2007 9:18 pm

izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a rick »

pozdravljeni,

ker nisem kos težavi, se obračam na vas... :)

torej, kot že naslov pove,kako bi v excel-ov list,
v stolpec "a" izpisal imena vseh datotek,ki se nahajajo v neki mapi.
seveda bi bilo fino,če bi se izpis začel v celici "a2", da lahko na vrhu vpišem
še naslov.za rešitev se iskreno zahvaljujem.
lp rick
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a cedra »

O tem je mislim tukaj že bilo govora, vendar pa prispevka, oz. prispevkov nisem našel. :(
Imam pa to sam spravljeno in tukaj je adminova koda, vsaj mislim, da je njegova:

Koda: Izberi vse

Sub PreglejVseDatotekeVMapi()
  ' določimo mapo, v kateri so datoteke, katerih seznam nas zanima
    Dim Mapa As String
    Mapa = Application.ActiveWorkbook.Path '"C:\Moji dokumenti" ' TU DOLOČITE IME MAPE
    
  ' pobrišem trenutni list in si ga zapomnim
    Dim MojList As Worksheet
    
    Set MojList = ActiveSheet
    Cells.Clear
    
  ' podatkeo vsaki datoteki bom zapisal v svojo vrstico
    Dim vrstica
    vrstica = 2
   
  ' pregledam vse Excelove datoteke v tej mapi
    Dim Datoteka
    Datoteka = Dir(Mapa & "\*.xls")
    Do While Datoteka <> ""
      ' vsako datoteko odprem
        Dim Zvezek As Workbook
        Dim polnoIme As String
        
        polnoIme = Mapa & "\" & Datoteka
        MojList.Cells(vrstica, 1) = polnoIme ', TextToDisplay:=polnoIme
        
            ' v sedmo kolono dam povezavo na datoteko
        MojList.Cells(vrstica, 7).Select
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=polnoIme ', TextToDisplay:=polnoIme
        Datoteka = Dir()
        vrstica = vrstica + 1
    Loop
    Dim Vseh_datotek As Integer
    
    Vseh_datotek = WorksheetFunction.CountA(Range("A:A"))
    
    If Vseh_datotek <> 0 Then
        MsgBox "Vseh Excel datotek v mapi """ & Mapa & """ je " & Vseh_datotek & " !", vbInformation
    Else
        MsgBox "V mapi """ & Mapa & """ ni Excel datotek ! ", vbExclamation
    End If
    
End Sub
lp,

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

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a admin »

cedra napisal/-a:O tem je mislim tukaj že bilo govora, vendar pa prispevka, oz. prispevkov nisem našel. :(
Tudi meni se zdi, da nov forum slabše išče, kot stari... Ah, ni vse zlato kar se sveti :)

Bom zdajle še enkrat ustvaril iskalni indeks celotnega foruma in upam, da bo kaj bolje.
lp,
Matjaž Prtenjak
Administrator
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a admin »

Cedra, hvala za opozorilo. Sem popravil iskanje po forumu.
lp,
Matjaž Prtenjak
Administrator
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a cedra »

Ja zdaj je pa to veliko boljše kot prej. Sem preizkusil in opazil še nekaj pri iskanju. Iščem npr.
PreglejVseDatotekeVMapi
- to najde. Če pa vpišem npr. le del iskanega pojma, ker se celega pač ne spomnim, pa v primeru
PreglejVse
ne najde nič in moram uporabiti
PreglejVse*
Tudi v primeru
VseDatoteke
ne najde nič in moram vpisati takole
*VseDatoteke*
pa najde. Tole je bolj namenjeno obiskovalcem foruma v pomoč pri iskanju... :D
Sem prebral tudi vaš blog, zelo zanimivo... :P
lp,

cedra
rick
Prispevkov: 216
Pridružen: So Feb 17, 2007 9:18 pm

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a rick »

pozdravljeni,
najprej bi se zahvalil cedra za kodo :)
bi pa želel popravek, oziroma v kodo bi rad na začetku vključil:
Dim PotDoDatotek As Variant

PotDoDatotek = Application.GetOpenFilename(MultiSelect:=True)
torej želel bi,da bi mi odprlo okno v katerem bi potem sam označil (ne vse datoteke,kot sem se sprva nerodno izrazil)
katere datoteke mi naj izpiše v stolpec "a".

seveda mi manjka prakse,nekaj sem poskušal,pa mi ne rata.
za vašo pomoč se zahvaljujem.
lp rick
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a cedra »

Najprej, za kodo se morate zahvaliti adminu in ne meni. Jaz sem imel samo shranjeno v svojem "arhivu", če lahko tako rečem... :)
Glede vaše želje, pa se mi zdi, da je, kako naj rečem, nekoliko nesmiselna. Zakaj enostavno ne pobrišete cele vrstice zapisa iz spiska, ki se vam naredi na listu in ga pač ne potrebujete? Saj je to enakovredno vaši želji. Morda se boste zamudili le kako sekundo več. :? Pa tudi mislim, da teh spiskov ne delate večkrat na dan, ali pač?
Sicer pa se bi jaz tega lotil tako, da bi morda prvo spisek zapisal v nek Listbox, tam označil vse potrebne zvezke in nato prenesel na list. Malo bi moral pobrskati po našem forumu, saj mislim, da bi se našla rešitev. Toda res ne vem, koliko je to smiselno v vašem primeru? :roll:
Če bi na vsak način radi rešili zadevo na vaš način, pa si najprej naredite neko formo, nanjo postavite Listbox in en gumb. To je mislim vse kar potrebujete. Napolnite z adminovo kodo Listbox, izberete na Listbox-u potrebne zapise in s pomočjo gumba prenesete zapise na list zvezka. Dalo pa bi se tudi brez gumba...
Saj formo vam mi v vašem zvezku tako ali tako ne moremo narediti. Malo se potrudite, ko se vam bo zataknilo, pa boste tukaj zanesljivo dobili kakšen namig :idea: oz. pomoč. :!:
lp,

cedra
rick
Prispevkov: 216
Pridružen: So Feb 17, 2007 9:18 pm

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a rick »

pozdravljeni,
najprej hvala cedra za pojasnilo...
želel sem približno takole:
grem v neko mapo in izberem datoteke katere mi naj izpiše
v stolpec "a1".a me morda niste razumeli?
meni se to sploh ne zdi nesmiselno,ker pač želim imeti seznam določenih
datotek na listu.
vaše pomoči bom seveda vesel, pa brez zamere seveda.
lp rick
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a admin »

Se sicer strinjam s 'cedro' in tudi pot lahko izberete takšno, kot vam jo je opisal. Imate pa spodaj makro, ki vam (kolikor pač razumem vaše želje), naredi natanko tisto, kar želite:

Koda: Izberi vse

'
'   www.matjazev.net
'     junij 2010
'
Sub IzberiVecDatotek()
  Dim datoteke As Variant
  Dim datoteka As Integer
  
  datoteke = Application.GetOpenFilename("Vse datoteke,*.*", 1, "Izberite datoteke...", , True)
  If TypeName(datoteke) = "Boolean" Then Exit Sub
  
  Range("A:A").Clear
  Range("A1") = "Datoteke..."
  For datoteka = 1 To UBound(datoteke)
    Cells(datoteka + 1, 1) = datoteke(datoteka)
  Next datoteka
End Sub
lp,
Matjaž Prtenjak
Administrator
rick
Prispevkov: 216
Pridružen: So Feb 17, 2007 9:18 pm

Re: izpis vseh datotek iz nekega direktorija

Odgovor Napisal/-a rick »

pozdravljeni,

najprej hvala Matjaž,dobro ste me razumeli,to sem želel ;)
no, še boljše bi bilo, če bi mi izpisalo samo ime datoteke
s končnico, torej brez poti.če se da tudi to urediti
bom seveda zelo hvaležen.za pomoč se iskreno zahvaljujem.
lp rick

p.s. forum je zelo pregleden , pohvalno
Odgovori