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

จะแสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดใน Excel ได้อย่างไร?

คุณเคยประสบกับปัญหานี้ที่แสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดจากไดเร็กทอรีที่ระบุลงในแผ่นงานหรือไม่? ใน Excel ไม่มีวิธีที่รวดเร็วและสะดวกในการเรียกชื่อโฟลเดอร์ทั้งหมดในไดเร็กทอรีเฉพาะพร้อมกัน เพื่อจัดการกับงานบทความนี้อาจช่วยคุณได้

แสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดด้วยรหัส VBA

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ; ทำงานร่วมกับ Office 2007-2021 และ 365; รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ

ลูกศรสีฟ้าฟองขวา แสดงรายการโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดด้วยรหัส VBA

หากคุณต้องการรับชื่อโฟลเดอร์ทั้งหมดจากไดเร็กทอรีที่ระบุรหัส VBA ต่อไปนี้อาจช่วยคุณได้โปรดดำเนินการดังนี้:

1. กด ALT + F11 และจะเปิดไฟล์ หน้าต่าง Microsoft Visual Basic for Applications.

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ลงในไฟล์ หน้าต่างโมดูล.

รหัส VBA: แสดงรายการโฟลเดอร์และชื่อโฟลเดอร์ย่อยทั้งหมด

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. จากนั้นกด F5 กุญแจสำคัญในการเรียกใช้รหัสนี้และไฟล์ เลือกโฟลเดอร์ หน้าต่างจะปรากฏขึ้นจากนั้นคุณต้องเลือกไดเร็กทอรีที่คุณต้องการแสดงชื่อโฟลเดอร์และโฟลเดอร์ย่อยดูภาพหน้าจอ:

doc-list-folder-name-1

4. คลิก OKและคุณจะได้รับเส้นทางโฟลเดอร์และโฟลเดอร์ย่อยไดเรกทอรีชื่อวันที่สร้างและวันที่แก้ไขล่าสุดในสมุดงานใหม่ดูภาพหน้าจอ:

doc-list-folder-name-1


บทความที่เกี่ยวข้อง:

วิธีแสดงรายการไฟล์ในไดเรกทอรีไปยังแผ่นงานใน Excel


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (18)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก ฉันใช้ cmd prompt เพื่อให้มี txt กับโฟลเดอร์ของฉันแล้วคัดลอกบน excel แต่ตอนนี้คุณทำให้ทุกอย่างง่ายสำหรับฉัน :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
จะเกิดอะไรขึ้นหากฉันต้องการสร้างลิงก์สำหรับโฟลเดอร์ด้วย ฉันควรแก้ไขอะไรในการเข้ารหัสและเราไม่สามารถสร้างปุ่มและเชื่อมโยงรหัสเดียวกันกับมันได้ ดังนั้นมันจะมีประโยชน์สำหรับผู้ใช้ที่ไม่ทราบวิธีเรียกใช้มาโคร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันทำตามที่คุณขอแล้ว ฉันวางโลโก้บริษัทของฉันบนแผ่นงาน จากนั้นคลิกขวาที่โลโก้แล้วกำหนดมาโคร (ซึ่งเป็นรหัสด้านบน) คุณยังสามารถแทรกวิธีใช้คำแนะนำผู้ใช้ได้อีกด้วย
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
รหัสนี้ช่วยชีวิตได้อย่างแท้จริง ขอบคุณสำหรับการแบ่งปัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันเพิ่งทำตามคำแนะนำของคุณ แต่ฉันได้รับข้อผิดพลาดเมื่อกด F5 เพื่อเรียกใช้ ข้อผิดพลาดด้านล่างเน้น "Dim xWs As Worksheet" มีรหัสที่อัปเดตที่ฉันสามารถใช้ได้หรือไม่ ข้อผิดพลาดในการคอมไพล์: ไม่ได้กำหนดประเภทที่ผู้ใช้กำหนด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
[quote]สวัสดี ฉันเพิ่งทำตามคำแนะนำของคุณ แต่ฉันได้รับข้อผิดพลาดเมื่อกด F5 เพื่อเรียกใช้ ข้อผิดพลาดด้านล่างเน้น "Dim xWs As Worksheet" มีรหัสที่อัปเดตที่ฉันสามารถใช้ได้หรือไม่ ข้อผิดพลาดในการคอมไพล์: ไม่ได้กำหนดประเภทที่ผู้ใช้กำหนดโดย Caralyn[/quote] คุณใช้ Kutools add-on หรือโปรแกรมแก้ไข MS Excel VBA หรือไม่? เนื่องจากฉันไม่ได้ใช้ส่วนเสริม จึงไม่สามารถทำซ้ำข้อผิดพลาดของคุณได้ การใช้ MS VBA Editor ทำงานโดยไม่มีข้อผิดพลาด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อฉันเรียกใช้รหัสนี้ มันใช้งานได้ แต่จะแสดงเฉพาะโฟลเดอร์แรกที่อยู่ด้านข้างของโฟลเดอร์ที่ฉันเลือก ตัวอย่างเช่น เมื่อฉันรันโค้ด ฉันเลือก "C:\Users\Johnson\Music" (หมายเหตุ: ฉันมี 70 โฟลเดอร์ในโฟลเดอร์เพลงของฉัน) เมื่อโค้ดรัน จะแสดงเฉพาะโฟลเดอร์แรกแล้วแสดงรายการโฟลเดอร์ทั้งหมดภายในนั้น โฟลเดอร์ ฉันต้องการให้แสดงรายการโฟลเดอร์ทั้งหมดภายในโฟลเดอร์เพลง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันอยู่กับคนอื่น - มันทำงานถึงจุดหนึ่ง

สำหรับฉันจุดนั้นคือการสร้าง s/s ใหม่ รายละเอียดโฟลเดอร์ที่ฉันแสดง (ใน Cells A1) แถบไฮไลต์สีเหลืองในแถวที่ 2 ที่มีส่วนหัวตามด้วยไม่มีอะไรอื่น!

โฟลเดอร์ที่ฉันกำลังดูว่างเปล่า ยกเว้นโฟลเดอร์ย่อย (เช่น ไม่มีไฟล์ข้อมูลอยู่) และโฟลเดอร์ย่อยจะไม่ปรากฏเลย

ใครสามารถช่วยฉันแสดงรายการโฟลเดอร์ย่อยและไฟล์ของพวกเขา
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันแก้ไขเพื่อเพิ่มขนาด:



ชื่อโฟลเดอร์ย่อย()
'อัปเดต 20141027
Application.ScreenUpdating = เท็จ
Dim xPath เป็นสตริง
Dim xWs เป็นเวิร์กชีต
Dim fso As Object, j As Long, folder1 As Object
ด้วย Application.FileDialog(msoFileDialogFolderPicker)
.Title = "เลือกโฟลเดอร์"
.แสดง
จบด้วย
เกี่ยวกับข้อผิดพลาดต่อไป
xPath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) & "\"
Application.Workbooks.Add
ตั้งค่า xWs = Application.ActiveSheet
xWs.Cells(1, 1).Value = xPath
xWs.Cells(2, 1).Resize(1, 6).Value = Array("Path", "Dir", "Name", "Date created", "Date Last Modified", "ขนาด")
ตั้งค่า fso = CreateObject ("Scripting.FileSystemObject")
ตั้งค่า folder1 = fso.getFolder(xPath)
โฟลเดอร์ getSubFolder1
xWs.Cells(2, 1).Resize(1, 6).Interior.Color = 65535
xWs.Cells(2, 1).Resize(1, 6).EntireColumn.AutoFit
Application.ScreenUpdating = จริง
ย่อยสิ้นสุด
Sub getSubFolder (ByRef prntfld เป็นวัตถุ)
Dim SubFolder เป็นวัตถุ
Dim subfld เป็นวัตถุ
Dim xRow ตราบใดที่
สำหรับแต่ละโฟลเดอร์ย่อยใน prntfld.SubFolders
xRow = Range("A1").End(xlDown).Row + 1
เซลล์(xRow, 1).Resize(1, 6).Value = Array(SubFolder.Path, Left(SubFolder.Path, InStrRev(SubFolder.Path, "\")), SubFolder.Name, SubFolder.DateCreated, SubFolder DateLastModified, โฟลเดอร์ย่อย ขนาด)
โฟลเดอร์ย่อยถัดไป
สำหรับแต่ละ subfld ใน prntfld.SubFolders
getSubFolder โฟลเดอร์ย่อย
ย่อยถัดไป
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อคุณรวมฟังก์ชัน SubFolder.Size สคริปต์จะไม่แสดงรายการโฟลเดอร์ย่อยทั้งหมดอีกต่อไป เฉพาะระดับแรกเท่านั้น
ฉันจะรวมขนาดและแสดงโฟลเดอร์ย่อยทั้งหมดได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี คุณช่วยกรุณาช่วยฉันด้วยรหัสที่ฉันพยายามหา

ด้านล่างนี้เป็นข้อกำหนดสำหรับรหัส



1. VBA ควรผ่านโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมด
และตรวจสอบไฟล์แต่ละประเภท ผู้ใช้ควรให้เส้นทางสำหรับ .เท่านั้น
โฟลเดอร์ด้านบน รหัสควรตรวจสอบโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมด
ภายในโฟลเดอร์ด้านบน



2. หลังจากตรวจสอบไฟล์แล้ว รหัสควรซิปไฟล์ทั้งหมด
ที่ไม่ได้เข้าใช้งานเกิน 3 เดือน ช่วงเวลาที่เข้าถึงได้คือ
สิ่งที่ฉันควรจะสามารถเปลี่ยนแปลงได้ในอนาคตหากจำเป็น มันควรจะ
ให้ฉันเปลี่ยนเป็น 1 เดือนหรือ 5 เดือนหากต้องการ



3. หลังจากซิปไฟล์แล้ว รหัสควรลบไฟล์
ไฟล์ต้นฉบับที่ถูกบีบอัด



4. ไฟล์ซิปควรบันทึกในเส้นทางเดียวกับไฟล์
ไฟล์ต้นฉบับ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เครื่องมือที่ยอดเยี่ยม! หลังจากการวิจัยเป็นเวลานานพบว่าของเล่นที่ถูกต้องนี้ :)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งที่ฉันต้องการและคำแนะนำที่ชัดเจนอย่างสมบูรณ์เกี่ยวกับวิธีการทำให้มันทำงาน ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมาก! มีประโยชน์มาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สิ่งนี้ใช้ได้ผลและอย่างไร... ขอบคุณมาก การเพิ่มเพียงครั้งเดียว -- ในขั้นตอนที่ 3 ฉันต้องคลิกที่ Step Into จากนั้นปุ่ม F5 จะทำงานเฉพาะในการเลือกโฟลเดอร์เท่านั้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณมากสำหรับรหัสที่มีประโยชน์นี้ เป็นไปได้ไหมที่บันทึกผลลัพธ์ในสมุดงานเดียวกันไม่ใช่ในสมุดงานใหม่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณ นี่คือสิ่งที่เราต้องการในการบันทึกโฟลเดอร์สำหรับลูกค้าของเรา
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำได้ดีมาก... มีประโยชน์มากสำหรับฉัน ขอบคุณมาก
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL