将文件夹文件名导入到Excel表格中可以利用Windows PowerShell和Excel VBA两种方法。下面分别介绍这两种方法的具体步骤。
利用Windows PowerShell
-
打开“开始菜单”,输入“Windows PowerShell”并运行。
-
切换到要导入文件名的文件夹所在的目录,例如:
cd C:\Users\UserName\Documents\FolderName
- 使用以下命令导出文件夹中所有文件的文件名到CSV文件:
Get-ChildItem | Select-Object Name | Export-Csv -Path "C:\Users\UserName\Documents\FolderName\FileNames.csv" -NoTypeInformation
上述命令的意思是:对于指定的文件夹,获取其中的子文件和子目录,然后选择文件名属性,最后将文件名导出到CSV文件。-NoTypeInformation参数用于避免将类型信息写入CSV文件。
- 打开Excel,新建一个工作簿,然后在“数据”选项卡中选择“从文本/CSV导入”。导入刚才生成的CSV文件,并在导入向导中选择逗号作为分隔符。完成表格导入。
利用Excel VBA
-
打开Excel,按下“Alt + F11”打开VBA编辑器。
-
在VBA编辑器中选择需要导入文件名的工作簿,并在“插入”选项卡中选择“模块”新建一个模块。
-
在新建的模块中插入以下代码:
```
Sub ListFileNames()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim iRow As Integer
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Users\UserName\Documents\FolderName\") '修改为需要导入文件名的文件夹路径
iRow = 1
'获取文件名
For Each objFile In objFolder.Files
Cells(iRow, 1) = objFile.Name
iRow = iRow + 1
Next objFile
'获取文件夹名
For Each objSubfolder In objFolder.SubFolders
Cells(iRow, 1) = objSubfolder.Name & "\"
iRow = iRow + 1
Call ProcessSubFolders(objSubfolder, iRow)
Next objSubfolder
End Sub
```
上述代码的意思是:利用FileSystemObject对象获取指定文件夹下所有文件和子文件夹的文件名和文件夹名,然后将它们分别写入Excel表格的第一列中。
- 运行刚才编写的VBA代码,并查看Excel表格中已经导入的文件名。
下面给出一个示例:如果希望将“C:\Users\UserName\Desktop\TestFolder”中所有文件名导入Excel表格中,可以按照上述步骤,将第2步中的路径改为“C:\Users\UserName\Desktop\TestFolder”,然后依次运行第3步和第4步。导出的Excel表格应当包含“Test1.docx”、“Test2.docx”、“SubFolder\Test3.docx”和“SubFolder\Test4.docx”的文件名。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:怎么将文件夹文件名都导入到excel表格中? - Python技术站