Բաց թողնել հիմնական բովանդակությունը

Ինչպե՞ս ցուցակի բոլոր ֆայլերը թղթապանակում և ենթապանակներում ներառել աշխատանքային թերթ:

Երբևէ փորձե՞լ եք բոլոր թղթապանակների անունները պանակից ցուցակի մեջ ներառել աշխատանքային թերթ, ներառյալ դրա ենթապանակներում տեղակայված ֆայլերը: Փաստորեն, Excel- ում պանակից և դրա ենթապանակից ֆայլերի անունները թվարկելու ուղղակի ուղի չկա, սակայն այսօր ես կներկայացնեմ մի քանի արագ հնարքներ այս գործը լուծելու համար:

Թվարկեք բոլոր ֆայլի անունները թղթապանակում և ենթապանակում `VBA կոդով

Թվարկեք բոլոր ֆայլերի անունները թղթապանակում և ենթապանակում արագ և հեշտությամբ Kutools- ի համար Excel- ի համար


Սովորաբար, Excel- ը կառուցելու առանձնահատկություն չունի այս խնդրի լուծման համար, բայց այս խնդիրը լրացնելու համար կարող եք կիրառել հետևյալ VBA կոդը:

1, Ակտիվացրեք նոր աշխատանքային թերթը, որում նշված կլինեն ֆայլի անունները:

2, Պահեք պահեք ALT + F11 Excel- ի ստեղները, և այն բացում է Microsoft Visual Basic հավելվածների համար պատուհան.

3: Սեղմեք Տեղադրել > Մոդուլներ, և տեղադրեք հետևյալ կոդը Մոդուլի պատուհան.

VBA կոդ. Թվարկեք ֆայլի բոլոր անունները թղթապանակում և ենթապանակում

Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
  Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
  rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
  For Each xSubFolder In xFolder.SubFolders
    ListFilesInFolder xSubFolder.Path, True
  Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
  Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
  GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
  GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function

4, Կոդը Մոդուլի մեջ մտցնելուց հետո սեղմեք F5 այս կոդը գործարկելու բանալին, և ա Մակրո երկխոսության պատուհանը հայտնվում է, ընտրեք Հիմնական ցուցակ մակրո անունը, ապա կտտացրեք Վազում կոճակը, տես նկարի նկարը.

փաստաթղթերի ցուցակի ֆայլեր 1 թղթապանակի ենթապանակում

5. Եվ է Թերթել պատուհան, խնդրում ենք ընտրել այն թղթապանակը, որը ցանկանում եք թվարկել բոլոր ֆայլի անունները, ներառյալ ենթապանակները, տես նկարի նկարը.

փաստաթղթերի ցուցակի ֆայլեր 2 թղթապանակի ենթապանակում

6, Թղթապանակը նշելուց հետո կտտացրեք OK կոճակը, և թղթապանակի և դրա ենթապանակների բոլոր ֆայլի անունները նշված են A2 բջիջից ընթացիկ աշխատանքային թերթում, տե՛ս սքրինշոթերը.

փաստաթղթերի ցուցակի ֆայլեր 3 թղթապանակի ենթապանակում
1
փաստաթղթերի ցուցակի ֆայլեր 4 թղթապանակի ենթապանակում

Վերոնշյալ կոդով դուք կարող եք պարզապես թվարկել ֆայլի անունները, երբեմն անհրաժեշտ է թվարկել այլ հատկանիշներ, ինչպիսիք են ֆայլի չափը, ֆայլի տեսակը, ստեղծված ժամանակը, պանակ պարունակող և այլն: Excel- ի համար նախատեսված գործիքներ պարունակում է օգտակար գործառույթ - Ֆայլի անվանացանկ, այս հատկության միջոցով դուք կարող եք արագ թվարկել բոլոր կամ հատուկ տեսակի ֆայլերի անունները թղթապանակում և դրա ենթապանակներում:

Excel- ի համար նախատեսված գործիքներ : ավելի քան 300 հարմար Excel հավելվածներով, 30 օրվա ընթացքում առանց սահմանափակումների փորձեք անվճար.

Տեղադրելուց հետո Excel- ի համար նախատեսված գործիքներԽնդրում ենք անել հետևյալ քայլերով.

1: Սեղմեք ձեռնարկություն > Ներմուծման արտահանման > Ֆայլի անվանացանկ, տես նկարի նկարը.

2, Մեջ Ֆայլի անվանացանկ երկխոսության տուփ, կատարեք հետևյալ գործողությունները.

A: Սեղմել փաստաթղթերի ցուցակի ֆայլեր 7 թղթապանակի ենթապանակումկոճակը ընտրելու համար այն թղթապանակը, որը ցանկանում եք թվարկել ֆայլի անունները;

BՆշեք այն ֆայլի տեսակը, որը ցանկանում եք ցուցակագրել այստեղից Ֆայլերի տեսակը Բաժին;

C: Ընտրեք ֆայլի չափի մեկ միավոր, որը ցանկանում եք ցուցադրել Ֆայլի չափի միավոր բաժնում:

ՆշումԵնթապանակից ֆայլերի անունները նշելու համար ստուգեք Ներառեք ֆայլերը ենթագրացուցակներում, կարող եք նաև ստուգել Ներառեք թաքնված ֆայլերը և պանակները ինչպես պետք է: Եթե ​​ստուգեք Ստեղծեք հիպերհղումներ տարբերակը, այն կստեղծի հղումներ հղումներ յուրաքանչյուր ֆայլի անունների և պանակների համար:

Ներբեռնեք և անվճար փորձեք հիմա:

3. Այնուհետեւ կտտացրեք OK կոճակը, ընտրված պանակում և դրա ենթապանակներում պարունակվող բոլոր ֆայլերը ցուցադրվել են հետևյալ հատկանիշներով նոր աշխատանքային թերթում: Տեսեք,

փաստաթղթերի ցուցակի ֆայլեր 8 թղթապանակի ենթապանակում

Կտտացրեք ՝ այս ֆայլի անվանացանկի օգտակար ծառայության մասին ավելի մանրամասն տեղեկություններ ստանալու համար:

Ներբեռնեք և անվճար փորձեք Kutools- ը Excel- ի համար:


Excel- ի համար նախատեսված գործիքներ. Excel- ի ավելի քան 300 հարմարավետ հավելումներով, 30 օրվա ընթացքում անվճար փորձեք առանց սահմանափակումների: Ներբեռնեք և անվճար փորձեք հիմա:

Գրասենյակի արտադրողականության լավագույն գործիքները

🤖 Kutools AI օգնականՀեղափոխություն կատարել տվյալների վերլուծության հիման վրա՝ Խելացի կատարում   |  Ստեղծեք ծածկագիր  |  Ստեղծեք հատուկ բանաձևեր  |  Վերլուծել տվյալները և ստեղծել գծապատկերներ  |  Invoke Kutools-ի գործառույթները...
Հանրաճանաչ հատկություններ: Գտեք, ընդգծեք կամ նույնականացրեք կրկնօրինակները   |  Deleteնջել դատարկ շարքերը   |  Միավորել սյունակները կամ բջիջները՝ առանց տվյալների կորստի   |   Կլոր առանց բանաձևի ...
Super Փնտրել: Բազմաթիվ չափանիշների VLookup    Բազմակի արժեք VLookup  |   VLookup բազմաթիվ թերթերում   |   Fuzzy Փնտրել ....
Ընդլայնված բացվող ցուցակ: Արագ ստեղծեք բացվող ցուցակը   |  Կախված բացվող ցուցակ   |  Բազմակի ընտրություն Drop Down ցուցակ ....
Սյունակի կառավարիչ: Ավելացրեք որոշակի քանակությամբ սյունակներ  |  Տեղափոխել սյունակները  |  Փոխարկել թաքնված սյունակների տեսանելիության կարգավիճակը  |  Համեմատեք միջակայքերը և սյունակները ...
Առանձնահատկություններ: Ցանցի կենտրոնացում   |  Դիզայնի տեսք   |   Մեծ Formula Bar    Աշխատանքային գրքույկի և թերթիկների կառավարիչ   |  Ռեսուրսների գրադարան (Ավտոմատ տեքստ)   |  Ամսաթիվ ընտրող   |  Միավորել աշխատանքային թերթերը   |  Գաղտնագրել/գաղտնազերծել բջիջները    Ուղարկեք նամակներ ըստ ցանկի   |  Սուպեր զտիչ   |   Հատուկ զտիչ (զտել թավ/շեղ/շեղված...) ...
Լավագույն 15 գործիքների հավաքածու12 Տեքստ Գործիքներ (Ավելացրեք տեքստ, Հեռացնել նիշերը, ...)   |   50+ Աղյուսակ Տեսակներ (Գանտի աղյուսակը, ...)   |   40+ Գործնական Բանաձեւեր (Հաշվարկել տարիքը ՝ ելնելով ծննդյան տարեդարձից, ...)   |   19 միացում Գործիքներ (Տեղադրեք QR կոդ, Տեղադրեք նկար ուղուց, ...)   |   12 Փոխարկում Գործիքներ (Բառեր համարներ, Արտարժույթի փոխակերպումը, ...)   |   7 Միաձուլում և պառակտում Գործիքներ (Ընդլայնված կոմբինատ տողեր, Պառակտված բջիջներ, ...)   |   ... եւ ավելին

Լրացրեք ձեր Excel-ի հմտությունները Kutools-ի հետ Excel-ի համար և փորձեք արդյունավետությունը, ինչպես երբեք: Kutools-ը Excel-ի համար առաջարկում է ավելի քան 300 առաջադեմ առանձնահատկություններ՝ արտադրողականությունը բարձրացնելու և ժամանակ խնայելու համար:  Սեղմեք այստեղ՝ Ձեզ ամենաշատ անհրաժեշտ հատկանիշը ստանալու համար...

Նկարագրություն


Office Tab- ը Tabbed ինտերֆեյսը բերում է Office, և ձեր աշխատանքը շատ ավելի դյուրին դարձրեք

  • Միացնել ներդիրներով խմբագրումը և ընթերցումը Word, Excel, PowerPoint- ով, Հրատարակիչ, Access, Visio և Project:
  • Բացեք և ստեղծեք բազմաթիվ փաստաթղթեր նույն պատուհանի նոր ներդիրներում, այլ ոչ թե նոր պատուհաններում:
  • Բարձրացնում է ձեր արտադրողականությունը 50%-ով և նվազեցնում մկնիկի հարյուրավոր սեղմումները ձեզ համար ամեն օր:
Comments (20)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Nice work, exactly what I was trying to create. But this is 1000% better.
This comment was minimized by the moderator on the site
Sorry... I gave you the wrong code (below), here is the code I modified..
Code:
Sub MainList()
On Error Resume Next
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Dim answer As Variant
answer = False
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select a Folder"
.AllowMultiSelect = False
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show = -1 Then
xDir = folder.SelectedItems(1)
Else
Exit Sub
End If
End With

Call ListFilesInFolder(xDir, True)
End Sub

Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1

' Add a space then the Folder Name to the Worksheet
rowIndex = rowIndex + 1
With Application.ActiveSheet.Cells(rowIndex, 1)
.Value = xFolder.Name
.Font.Size = 12
.Font.FontStyle = "Bold Italic"
End With
rowIndex = rowIndex + 1

For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
rowIndex = rowIndex + 1
End If

Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing

Call MainList
End Sub


This comment was minimized by the moderator on the site
I have modified your code to make it recycle and re-run the folder dialog continuously until you press Cancel.Unfornatually it generates some errors.1. If subfolders become involved in a folder selected then the next folder selected becomes out of numerical order.2. If subfolders become involved in a folder selected the Cancel button has to be repeated and repeated depending on how many folders you have added.
Code:
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End SubSub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub

any ideas ?
This comment was minimized by the moderator on the site
Does it work on MAC too?
This comment was minimized by the moderator on the site
Hey, so if I have to just extract an extension from the whole list, where should I make changes?
This comment was minimized by the moderator on the site
Really new to VBA. how do i use the above code but have the file path built into it so i don't have to search for it every time?
This comment was minimized by the moderator on the site
My VBA is saying that the variable folder is not defined. Anyone know why this is?
This comment was minimized by the moderator on the site
What was the purpose of the parameter ByVal xIsSubfolders As Boolean?
This comment was minimized by the moderator on the site
Extremamente elegante este código!
This comment was minimized by the moderator on the site
Sub "GetFileOwner()" in code above is not used.
This comment was minimized by the moderator on the site
Hello, jumpjack,
The above code works well in my Excel, which Excel version do you use?
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations