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

Conas gach comhad i bhfillteán agus i bhfofhillteáin a liostáil i mbileog oibre?

An ndearna tú iarracht riamh gach ainm comhaid ó fhillteán a liostáil i mbileog oibre lena n-áirítear na comhaid atá suite laistigh dá fhofhillteáin? Déanta na fírinne, níl aon bhealach díreach ann dúinn na hainmneacha comhaid a liostáil ó fhillteán agus a fho-fhillteán in Excel, áfach, inniu, tabharfaidh mé isteach roinnt cleasanna gasta chun an post seo a réiteach.

Liostaigh gach ainm comhaid san fhillteán agus san fho-fhillteán le cód VBA

Liostaigh gach ainm comhaid san fhillteán agus san fho-fhillteán go tapa agus go héasca le Kutools for Excel


De ghnáth, ní bhíonn gné ionsuite ag Excel chun déileáil leis an tasc seo, ach, is féidir leat an cód VBA seo a leanas a chur i bhfeidhm chun an fhadhb seo a chur i gcrích.

1. Gníomhaigh bileog oibre nua a liostálfaidh na hainmneacha comhaid.

2. Coinnigh síos an ALT + F11 eochracha in Excel, agus osclaíonn sé an Microsoft Visual Basic d’Fheidhmchláir fhuinneog.

3. Cliceáil Ionsáigh > Modúil, agus greamaigh an cód seo a leanas sa Fuinneog an Mhodúil.

Cód VBA: Liostaigh gach ainm comhaid san fhillteán agus san fho-fhillteán

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. Tar éis duit an cód a ghreamú isteach sa Mhodúl, brúigh F5 eochair chun an cód seo a rith, agus a Macraí bosca dialóige aníos, roghnaigh an Príomhliosta ainm macra, agus ansin cliceáil Rith cnaipe, féach ar an scáileán:

liostaíonn doc comhaid i bhfo-fhillteán fillteán 1

5. Agus sa Brabhsáil fhuinneog, roghnaigh an fillteán a theastaíonn uait gach ainm comhaid lena n-áirítear na fofhillteáin a liostáil, féach an scáileán:

liostaíonn doc comhaid i bhfo-fhillteán fillteán 2

6. Tar éis duit an fillteán a shonrú, ansin cliceáil OK cnaipe, agus tá na hainmneacha comhaid go léir san fhillteán agus a fho-fhillteáin liostaithe sa bhileog oibre reatha ó chill A2, féach scáileáin scáileáin:

liostaíonn doc comhaid i bhfo-fhillteán fillteán 3
1
liostaíonn doc comhaid i bhfo-fhillteán fillteán 4

Leis an gcód thuas, ní féidir leat ach ainmneacha na gcomhad a liostáil, uaireanta, ní mór duit tréithe eile a liostáil, mar shampla méid comhaid, cineál comhaid, am cruthaithe, fillteán agus mar sin de. Kutools le haghaidh Excel tá feidhm úsáideach ann - Liosta Ainm comhaid, leis an ngné seo, is féidir leat gach ainm comhaid nó gach cineál sonrach a liostáil go tapa i bhfillteán agus ina fho-fhillteáin.

Kutools le haghaidh Excel : le níos mó ná 300 breiseán áisiúil Excel, saor in aisce le triail gan aon teorannú i 30 lá.

Tar éis a shuiteáil Kutools le haghaidh Excel, déan na céimeanna seo a leanas le do thoil:

1. Cliceáil Fiontar > Iompórtáil & Easpórtáil > Liosta Ainm comhaid, féach ar an scáileán:

2. Sa an Liosta Ainm comhaid bosca dialóige, déan na hoibríochtaí seo a leanas:

ACliceáil liostaíonn doc comhaid i bhfo-fhillteán fillteán 7cnaipe chun an fillteán a theastaíonn uait na hainmneacha comhaid a liostáil a roghnú;

B: Sonraigh an cineál comhaid is mian leat a liostáil ón Cineál comhaid alt;

C: Roghnaigh aonad amháin de mhéid comhaid is mian leat a thaispeáint as an Aonad méid comhaid alt seo.

nótaí: Chun ainmneacha na gcomhad ón bhfo-fhillteán a liostáil, seiceáil le do thoil Cuir comhaid san áireamh i bhfochomhadlann, is féidir leat an Cuir comhaid agus fillteáin i bhfolach san áireamh de réir mar is gá duit. Má sheiceálann tú Cruthaigh hipearnasc rogha, cruthóidh sé hipearnasc do gach ainm comhaid agus fillteán.

Íoslódáil agus triail saor in aisce Anois!

3. Ansin cliceáil OK cnaipe, taispeánadh na comhaid go léir atá san fhillteán roghnaithe agus a fho-fhillteáin leis na tréithe seo a leanas i mbileog oibre nua. Féach an pictiúr:

liostaíonn doc comhaid i bhfo-fhillteán fillteán 8

Cliceáil chun níos mó sonraí a fháil faoin bhfóntas seo Liosta Ainm Comhad.

Íoslódáil agus triail saor in aisce Kutools le haghaidh Excel Now!


Kutools le haghaidh Excel: le níos mó ná 300 breiseán áisiúil Excel, saor in aisce le triail gan aon teorannú i 30 lá. Íoslódáil agus triail saor in aisce Anois!

Na hUirlisí Táirgiúlachta Oifige is Fearr

Réitíonn Kutools for Excel an chuid is mó de do chuid Fadhbanna, agus Méadaíonn sé do Tháirgiúlacht 80%

  • Athúsáid: Cuir isteach go tapa foirmlí casta, cairteacha agus aon rud a d'úsáid tú roimhe seo; Cealla a Chriptiú le pasfhocal; Cruthaigh Liosta Ríomhphoist agus seol ríomhphoist ...
  • Barra Foirmle Super (cuir línte iolracha téacs agus foirmle in eagar go héasca); Leagan Amach Léitheoireachta (líon mór cealla a léamh agus a chur in eagar go héasca); Greamaigh go dtí an Raon Scagtha...
  • Cumaisc Cealla / Sraitheanna / Colúin gan Sonraí a chailleadh; Ábhar Cealla Scoilt; Comhcheangail Sraitheanna / Colúin Dúblacha... Cill Dúblach a Chosc; Déan comparáid idir Ranganna...
  • Roghnaigh Dúblach nó Uathúil Sraitheanna; Roghnaigh Blank Rows (tá na cealla uile folamh); Aimsigh Super agus Fuzzy Aimsigh i go leor Leabhar Oibre; Roghnaigh go randamach ...
  • Cóip Díreach Cealla Il gan tagairt fhoirmle a athrú; Tagairtí Cruthaigh Auto chuig Bileoga Il; Cuir Urchair isteach, Boscaí Seiceála agus go leor eile ...
  • Sliocht Téacs, Cuir Téacs leis, Bain de réir Poist, Bain Spás; Subtotals Paging a chruthú agus a phriontáil; Tiontaigh Idir Ábhar Cealla agus Tráchtanna...
  • Scagaire Super (scéimeanna scagaire a shábháil agus a chur i bhfeidhm ar bhileoga eile); Ard-Sórtáil de réir míosa / seachtaine / lae, minicíocht agus níos mó; Scagaire Speisialta le cló trom, iodálach ...
  • Comhcheangail Leabhair Oibre agus Bileoga Oibre; Cumaisc Táblaí bunaithe ar eochaircholúin; Roinn Sonraí i Ilbhileoga; Baisc Tiontaigh xls, xlsx agus PDF...
  • Níos mó ná 300 gné chumhachtach. Tacaíonn Office / Excel 2007-2021 agus 365. Tacaíonn sé le gach teanga. Imscaradh éasca i d'fhiontar nó d'eagraíocht. Gnéithe iomlána triail saor in aisce 30-lá. Ráthaíocht airgid ar ais 60-lá.
cluaisín kte 201905

Tugann Tab Oifige comhéadan Tabbed chuig Office, agus Déan Do Obair i bhfad Níos Éasca

  • Cumasaigh eagarthóireacht agus léamh tabbed i Word, Excel, PowerPoint, Foilsitheoir, Rochtain, Visio agus Tionscadal.
  • Oscail agus cruthaigh cáipéisí iolracha i gcluaisíní nua den fhuinneog chéanna, seachas i bhfuinneoga nua.
  • Méadaíonn do tháirgiúlacht 50%, agus laghdaíonn sé na céadta cad a tharlaíonn nuair luch duit gach lá!
bun officetab
Sórtáil tuairimí de réir
Comments (20)
Níl rátálacha ar bith fós. Bí ar an gcéad duine a rátáil!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Alt maith Go raibh maith agat :D
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
a stór, Go raibh maith agat as an bhfóntas iontach seo ……!!! anilkumar
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
CONAS AN IARRATAS SEO A DHÉANAMH OIBRE CHUN NA COMHADAINMNITHE A LIOSTÁIL Ó chill B2 in ionad A2 ?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, Satish,
Is féidir leis an gcód seo a leanas cabhrú leat na comhaid-ainmneacha a chur in aon chill a roghnaigh tú, bain triail as:

Fo-Phríomhliosta()
Ar Lean Earráid Aghaidh
Socraigh xRg = Application.InputBox("Roghnaigh cill le do thoil chun na hainmneacha comhaid a chur:"", "KuTools For Excel", Selection.Address, , , , , 8)
Mura bhfuil xRg ar bith ansin Scoir Fo
Socraigh xRg = xRg(1)
Socraigh Fillteán = Application.FileDialog(msoFileDialogFolderPicker)
Má Folder.Show <> -1 Ansin Scoir Fo
xDir = Fillteán.Items Roghnaithe(1)
Glaoigh ar ListFilesInFolder (xRg, xDir, True)
Fo Deireadh
Fo-liostaFilesInFolder(ByVal xRg Mar Raon, ByVal xFillteánName Mar Theaghrán, ByVal xIsFillteáin Mar Boole)
Dim xFileSystemObject As Object
Dim xFillteán Mar Réad
Dim xSubFillteán Mar Réad
Dim xFile Mar Réad
Dim rowInnéacs Chomh fada
Socraigh xFileSystemObject = CreateObject ("Scripting.FileSystemObject")
Socraigh xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = 1
Do Gach xFile I xFolder.Files
xRg.Formula = xFile.Name
Socraigh xRg = xRg.Offset(rowIndex)
rowIndex = 1
An chéad xFile eile
Má xIsSubfolders Ansin
Do Gach xSubFillteán I xFolder.SubFolders
ListFilesInFolder xRg, xSubFolder.Path, Fíor
An chéad xSubFillteán eile
Deireadh Má
Socraigh xFile = faic
Socraigh xFolder = Ní dhéanfaidh aon ní
Socraigh xFileSystemObject=Ní dhéanfaidh aon ní
Fo Deireadh
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
iontach!!! Is breá liom, go raibh maith agat
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Níl mé cinnte.. ach cuireann sé fillteáin fhada san áireamh. Scríobh mé cód cosúil leis agus teipeann air nuair is mó ná 256 carachtar an fillteán/cosán comhaid? Smaointe le do thoil?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Go raibh míle maith agat as an alt úsáideach!
Conas is féidir liom an liosta a nuashonrú go huathoibríoch agus na hathruithe a fheiceáil?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Chabhraigh sé seo liom mo chód a thiontú chun an glao athchúrsach a fháil, ach n’fheadar an dóigh a n-úsáideann tú oibiachtaí. Is fearr liom mo chuid rudaí a shainiú mar cad iad, bíodh siad ina leabhair oibre, ina mbileoga oibre nó ina réada córais comhaid. (dim wbDest mar excel.workbook, dim wsDest mar excel.worksheet mar shampla. Ar an mbealach seo ní gá dom a bheith buartha faoi cad atá sa bhileog ghníomhach.

N'fheadar freisin faoi úsáid .show - if.show <> -1, agus ní féidir leis cabhrú le mothú go mbeadh sé níos éasca do dhaoine a thuiscint dá n-úsáidfeá if.show = bréagach ina ionad sin.

Agus i dtéarmaí scríobh chuig an gceann scríbe, bhraith mé go raibh an chuma air go raibh baint mhór ag baint úsáide as cealla agus foirmle

Mar sin i mo chód tá mé, mar shampla,
wsDest.Range("B" & CurRow) = file.name
(CurRow = Rae Reatha)

Níl mé ag cáineadh, ach ag smaoineamh má dhéanann tú é mar seo ar chúis ar bith eile seachas rogha pearsanta. - I gcónaí sásta a fhoghlaim


Ach seachas sin buíochas as an gcabhair
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Go raibh maith agat as an gcód seo chabhraigh sé liom le hiarratas oibre, tá mé in ann anois na torthaí seo a allmhairiú isteach i Rochtain le haghaidh tuilleadh claochlaithe.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Ní úsáidtear fo "GetFileOwner()" sa chód thuas.
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Dia duit, jumpjack,
Oibríonn an cód thuas go maith i mo Excel, cén leagan Excel a úsáideann tú?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Iontach galánta é seo cód!
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Cén cuspóir a bhí ag an bparaiméadar ByVal xIsSubfolders As Boole?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Tá mo VBA ag rá nach bhfuil an fillteán athróg sainmhínithe. Duine ar bith a fhios cén fáth é seo?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Fíor nua do VBA. conas is féidir liom an cód thuas a úsáid ach an bhfuil cosán an chomhaid curtha isteach ann ionas nach mbeidh orm cuardach a dhéanamh air gach uair?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Hey, mar sin má tá orm síneadh a bhaint as an liosta iomlán, cén áit ar cheart dom athruithe a dhéanamh?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
An oibríonn sé ar MAC freisin?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
D'athraigh mé do chód chun é a dhéanamh athchúrsáil agus ath-reáchtáil an dialóg fillteán go leanúnach go dtí go brúigh tú Cancel.Unfornatually gineann sé roinnt earráidí.1. Má bhíonn baint ag fofhillteáin le fillteán roghnaithe ansin éiríonn an chéad fhillteán eile a roghnaítear as ord uimhriúil.2. Má bhíonn baint ag fofhillteáin le fillteán roghnaithe ní mór an cnaipe Cealaigh a athdhéanamh agus a athdhéanamh ag brath ar cé mhéad fillteán a chuir tú leis.
cód:
Fo-Phríomhliosta()
'Updateby Extendoffice
Socraigh fillteán = Application.FileDialog(msoFileDialogFolderPicker)
Má folder.Show <> -1 Ansin Scoir Fo
xDir = fillteán.SelectedItems(1)
Glaoigh ar ListFilesInFolder(xDir, True)
Cuir deireadh le Fo-FhillteáinFilesInFolder(ByVal xFillteánName Mar Theaghrán, ByVal xIsFillteáin Mar Boole)
Dim xFileSystemObject As Object
Dim xFillteán Mar Réad
Dim xSubFillteán Mar Réad
Dim xFile Mar Réad
Dim rowInnéacs Chomh fada
Socraigh xFileSystemObject = CreateObject ("Scripting.FileSystemObject")
Socraigh xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Feidhmchlár.ActiveSheet.Range("A65536").Deireadh(xlUp).Row + 1
Do Gach xFile I xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex+1
An chéad xFile eile
Má xIsSubfolders Ansin
Do Gach xSubFillteán I xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, Fíor
An chéad xSubFillteán eile
Deireadh Má
Socraigh xFile = faic
Socraigh xFolder = Ní dhéanfaidh aon ní
Socraigh xFileSystemObject=Ní dhéanfaidh aon ní
Fo Deireadh

aon smaointe?
Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Tá brón orm ... thug mé an cód mícheart duit (thíos), seo an cód a d'athraigh mé..
cód:
Fo-Phríomhliosta()
Ar Lean Earráid Aghaidh
Dim xFileSystemObject As Object
Dim xFillteán Mar Réad
Dim xSubFillteán Mar Réad
Dim xFile Mar Réad
Dim rowInnéacs Chomh fada
Freagra caol Mar mhalairt air
freagra = Bréagach
Le Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Roghnaigh Fillteán"
.AllowMultiSelect = Bréagach
Socraigh fillteán = Application.FileDialog(msoFileDialogFolderPicker)
Má folder.Show = -1 Ansin
xDir = fillteán.SelectedItems(1)
Eile
Fo-Scoir
Deireadh Má
Deireadh Le

Glaoigh ar ListFilesInFolder(xDir, True)
Fo Deireadh

Fo-liostaFilesInFolder(ByVal xFolderName Mar Theaghrán, ByVal xIsSubfolders Mar Boole)
Socraigh xFileSystemObject = CreateObject ("Scripting.FileSystemObject")
Socraigh xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Feidhmchlár.ActiveSheet.Range("A65536").Deireadh(xlUp).Row + 1

' Cuir spás ansin agus Ainm an Fhillteáin leis an mBileog Oibre
rowIndex = rowIndex+1
Le Feidhmchlár.ActiveSheet.Cells(rowIndex, 1)
.Value = xFolder.Name
.Font.Size = 12
.Font.FontStyle = "Iodálach Trom"
Deireadh Le
rowIndex = rowIndex+1

Do Gach xFile I xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex+1
An chéad xFile eile
Má xIsSubfolders Ansin
Do Gach xSubFillteán I xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, Fíor
An chéad xSubFillteán eile
rowIndex = rowIndex+1
Deireadh Má

Socraigh xFile = faic
Socraigh xFolder = Ní dhéanfaidh aon ní
Socraigh xFileSystemObject=Ní dhéanfaidh aon ní

Glaoigh ar MainList
Fo Deireadh


Rinne an modhnóir ar an láithreán an trácht seo a íoslaghdú
Obair deas, go díreach cad a bhí mé ag iarraidh a chruthú. Ach tá sé seo 1000% níos fearr.
Níl aon tráchtanna curtha suas anseo go fóill
Fág do chuid tuairimí
Ag postáil mar Aoi
×
Ráta an post seo:
0   Carachtair
Suímh Molta

Lean orainn

Cóipcheart © 2009 - www.extendoffice.com. | Gach ceart ar cosaint. Cumhachtaithe ag ExtendOffice. | léarscáil an tSuímh
Is trádmharcanna nó trádmharcanna cláraithe de chuid Microsoft Corporation sna Stáit Aontaithe agus / nó i dtíortha eile iad lógó Office agus Office.
Cosanta ag Sectigo SSL