Note: The other languages of the website are Google-translated. Back to English

Kako našteti vse mape in podmape v Excelu?

Ste že kdaj trpeli zaradi te težave, ki vsebuje vse mape in podmape iz določenega imenika na delovni list? V Excelu ni na hiter in priročen način, da naenkrat dobite ime vseh map v določenem imeniku. Ta članek vam bo morda v pomoč pri reševanju naloge.

Seznam vseh map in podmap s kodo VBA

Kartica Office Omogočite urejanje in brskanje z zavihki v storitvi Office ter olajšajte svoje delo ...
Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%
  • Ponovno uporabi vse: Med priljubljene dodajte najbolj uporabljene ali zapletene formule, grafikone in kar koli drugega ter jih v prihodnosti hitro ponovno uporabite.
  • Več kot 20 besedilnih funkcij: Izvleček številke iz besedilnega niza; Izvleči ali odstrani del besedil; Pretvorite številke in valute v angleške besede.
  • Združi orodja: Več delovnih zvezkov in listov v eno; Združi več celic / vrstic / stolpcev brez izgube podatkov; Združi podvojene vrstice in vsoto.
  • Razdeljena orodja: Razdeli podatke na več listov na podlagi vrednosti; En delovni zvezek v več datotek Excel, PDF ali CSV; En stolpec na več stolpcev.
  • Prilepi preskoči Skrite / filtrirane vrstice; Štetje in vsota glede na Barva ozadja; V večjem obsegu pošiljajte osebna e-poštna sporočila več prejemnikom.
  • Super filter: Ustvarite napredne filtrirne sheme in uporabite za vse liste; Razvrščanje po tednih, dnevih, pogostosti in še več; filter s krepkim tiskom, formule, komentar ...
  • Več kot 300 zmogljivih funkcij; Deluje z Office 2007-2021 in 365; Podpira vse jezike; Enostavna uvedba v vašem podjetju ali organizaciji.

puščica modri desni mehurček Seznam vseh map in podmap s kodo VBA

Če želite iz določenega imenika dobiti vsa imena map, vam bo morda v pomoč naslednja koda VBA, naredite naslednje:

1. Držite tipko ALT + F11 in odpre tipko Okno Microsoft Visual Basic for Applications.

2. Kliknite Vstavi > Moduliin prilepite naslednjo kodo v Okno modula.

Koda VBA: navedite imena vseh map in podmap

Sub FolderNames()
'Update 20141027
Application.ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Choose the folder"
    .Show
End With
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
Set xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 5).Value = Array("Path", "Dir", "Name", "Date Created", "Date Last Modified")
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs.Cells(2, 1).Resize(1, 5).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 5).EntireColumn.AutoFit
Application.ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld.SubFolders
    xRow = Range("A1").End(xlDown).Row + 1
    Cells(xRow, 1).Resize(1, 5).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder.DateLastModified)
Next SubFolder
For Each subfld In prntfld.SubFolders
    getSubFolder subfld
Next subfld
End Sub

3. Nato pritisnite F5 tipko za zagon te kode in a Izberite mapo se bo odprlo okno, nato morate izbrati imenik, v katerega želite navesti imena map in podmap, glejte posnetek zaslona:

doc-list-ime-mape-1

4. Kliknite OK, pot do mape in podmap, imenik, ime, datum ustvarjanja in datum zadnje spremembe pa boste dobili v novem delovnem zvezku, glejte posnetek zaslona:

doc-list-ime-mape-1


Povezani članek:

Kako našteti datoteke v imeniku na delovnem listu v Excelu?


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (18)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala. Uporabil sem poziv cmd, da bi imel txt s svojimi mapami in ga kopiral v excel, zdaj pa mi olajšaš stvari :)
Ta komentar je moderator na spletnem mestu minimiziral
Kaj pa, če moram ustvariti povezavo tudi za mapo, kaj naj spremenim v kodiranju in ne moremo ustvariti gumba in nanj povezati isto kodo, tako da bo koristno za uporabnike, ki ne vedo, kako zagnati makre
Ta komentar je moderator na spletnem mestu minimiziral
Naredil sem točno to, kar zahtevaš. Postavil sem logotip svojega podjetja na preglednico, nato sem jo z desno tipko miške kliknil in dodelil makro (kar je zgornja koda). Vstavite lahko tudi navodila za uporabo za uporabnike.
Ta komentar je moderator na spletnem mestu minimiziral
Ta koda je resnično rešila dan. Hvala, ker ste ga delili.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, pravkar sem sledil vašim navodilom, vendar se mi pojavijo napake, ko pritisnem F5 za zagon. Spodnja napaka poudarja "Dim xWs As Worksheet". Ali lahko uporabim posodobljeno kodo? Napaka pri prevajanju: uporabniško definiran tip ni definiran
Ta komentar je moderator na spletnem mestu minimiziral
[quote]Pozdravljeni, pravkar sem sledil vašim navodilom, vendar se mi pojavijo napake, ko pritisnem F5 za zagon. Spodnja napaka poudarja "Dim xWs As Worksheet". Ali lahko uporabim posodobljeno kodo? Napaka pri prevajanju: uporabniško definiran tip ni definiranAvtor Caralyn[/quote] Ali uporabljate dodatek Kutools ali urejevalnik MS Excel VBA? Ker ne uporabljam dodatka, ne morem podvojiti vaše napake. Uporaba urejevalnika MS VBA deluje brez napak.
Ta komentar je moderator na spletnem mestu minimiziral
Ko zaženem to kodo, deluje, vendar prikaže samo prvo mapo v mapi, ki jo izberem. Na primer, ko zaženem kodo, izberem "C:\Users\Johnson\Music" (Opomba: v svoji glasbeni mapi imam 70 map). Ko se koda zažene, prikaže samo prvo mapo in nato navede vse mape v njej mapo. Rad bi, da navede vse mape v mapi Glasba.
Ta komentar je moderator na spletnem mestu minimiziral
Jaz sem z drugimi - deluje do neke mere.

Zame je ta točka, da ustvari nove s/s, podrobnosti o mapi, ki sem jo pokazal (v celicah A1), rumeno označeno vrstico v vrstici 2 z naslovi, ki jim ne sledi nič drugega!

Mapa, ki jo gledam, je prazna, razen podmap (tj. podatkovne datoteke ne obstajajo) in podmape se sploh ne prikažejo.

Ali mi lahko kdo pomaga navesti podmape in njihove datoteke?
Ta komentar je moderator na spletnem mestu minimiziral
Spremenil sem ga, da bi dodal velikost:



Imena podmap()
'Posodobitev 20141027
Application.ScreenUpdating = Napačno
Dim xPath kot niz
Dim xWs kot delovni list
Dim fso kot objekt, j As Long, mapa1 kot objekt
Z Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Izberi mapo"
.Pokaži
Končaj s
On Error Resume Next
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Aplikacija.Delovni zvezki.Dodaj
Nastavite xWs = Application.ActiveSheet
xWs.Cells(1, 1).Vrednost = xPath
xWs.Cells(2, 1).Resize(1, 6).Value = Array("Pot", "Dir", "Ime", "Datum Created", "Datum Last Modified","Size")
Nastavite fso = CreateObject ("Scripting.FileSystemObject")
Nastavi mapo1 = fso.getFolder(xPath)
mapa getSubFolder1
xWs.Cells(2, 1).Spreminjanje velikosti(1, 6).Notranjost.Barva = 65535
xWs.Cells(2, 1).Resize(1, 6).EntireColumn.AutoFit
Application.ScreenUpdating = Res
End Sub
Sub getSubFolder (ByRef prntfld kot predmet)
Zatemni podmapa kot predmet
Dim subfld kot objekt
Dim xRow As Long
Za vsako podmapo v prntfld.SubFolders
xVrstica = Obseg("A1").Konec(xlDown).Vrstica + 1
Celice(xRow, 1).Resize(1, 6).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, Submap. DateLastModified, SubFolder.Size)
Naslednja podmapa
Za vsak podfld v prntfld.SubFolders
getSubFolder subfld
Naslednji subfld
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Ko vključite funkcijo SubFolder.Size, skript ne navaja več vseh podmap, temveč le prvo raven.
Kako lahko vključim velikost in prikažem vse podmape?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo. Prosim, če mi lahko pomagate pri kodi, ki jo težko najdem.

Spodaj so zahteve za kodo.



1. VBA naj gre skozi vse mape in podmape
in preverite vsako vrsto datoteke. Uporabnik naj poda samo pot za
zgornjo mapo. Koda mora nato preveriti vse mape in podmape
v zgornji mapi.



2. Po preverjanju datotek mora koda stisniti vse datoteke
ki niso bili dostopni več kot 3 mesece. Obdobje dostopa je
nekaj, kar bi moral v prihodnosti spremeniti, če bo potrebno. Moralo bi
dovolite mi, da ga spremenim na 1 mesec ali 5 mesecev, če je potrebno.



3. Ko stisnete datoteke, bi morala koda izbrisati datoteko
izvirne datoteke, ki so bile stisnjene.



4. Stisnjena datoteka mora biti shranjena na isti poti kot
izvirna datoteka.
Ta komentar je moderator na spletnem mestu minimiziral
Odlično orodje! Po dolgih raziskavah so našli to natančno igračo :)
Ta komentar je moderator na spletnem mestu minimiziral
Ravno tisto, kar sem potreboval, in popolnoma jasna navodila, kako naj deluje. Najlepša hvala
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala!, zelo koristno.
Ta komentar je moderator na spletnem mestu minimiziral
To je delovalo in kako... Najlepša hvala. Samo en dodatek – v 3. koraku sem moral klikniti korak v korak in nato je za izbiro mape delovala samo tipka F5.
Ta komentar je moderator na spletnem mestu minimiziral
Najlepša hvala za to uporabno kodo. ali je to možno shraniti rezultat v isti delovni zvezek ne v nov?
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, prav to smo potrebovali za snemanje map za naše stranke.
Ta komentar je moderator na spletnem mestu minimiziral
Odlično delo... Zelo mi je v pomoč, najlepša hvala
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL