中获取文件名不要扩展名_【Excel VBA】批量提取文件夹下文件名

代码如下:

Sub FileDir()
 Dim p$, f$, k&
'获取用户选择文件夹的路径
With Application.FileDialog(msoFileDialogFolderPicker)
'选择文件夹
If .Show Then
p = .SelectedItems(1)
'选择的文件路径赋值变量P
Else
Exit Sub
'如果没有选择保存路径,则退出程序
End If
End With
If Right(p, 1) <> "" Then p = p & ""
f = Dir(p & "*.*")
'返回变量P指定路径下带任意扩展名的文件名
'如果有超过一个文件存在,将返回第一个找到的文件名
'如果一个文件都没有,则返回空
[a:a].ClearContents '清空A列数据
[a1] = "目录"
k = 1
Do While f <> ""
'如果文件名不为空,则……
k = k + 1
'累加文件个数
Cells(k, 1) = f
f = Dir
'第二次调用Dir函数,但不带任何参数,则将返回同一目录下的下一个文件。
Loop
MsgBox "OK"
End Sub

b0c998dcfbe03bef90f96902bc01be93.gif
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
批量提取文件夹下的Excel文件名,并将其保存到新的Excel文件,您可以使用Python的`os`、`re`和`pandas`库。以下是一个示例代码: ```python import os import re import pandas as pd # 文件夹路径 folder_path = "/path/to/folder" # 正则表达式模式,用于匹配Excel文件名 pattern = r"(.+)\.xlsx" # 获取文件夹下所有文件 files = os.listdir(folder_path) # 使用正则表达式匹配文件名并保存 matches = [re.match(pattern, file) for file in files] file_names = [match.group(1) for match in matches if match] # 创建DataFrame对象保存提取结果 df = pd.DataFrame(file_names, columns=["Excel File Name"]) # 将DataFrame保存为Excel文件 df.to_excel("output.xlsx", index=False) ``` 在上述代码,我们首先指定了要扫描的文件夹路径`folder_path`,以及用于匹配Excel文件名的正则表达式模式`pattern`。然后,我们使用`os.listdir()`函数获取文件夹下所有文件的文件名,并使用正则表达式模式对文件名进行匹配,并保存匹配结果到`matches`列表。接下来,我们使用列表推导式从匹配结果提取Excel文件名,并保存在`file_names`列表。最后,我们使用`pandas`库创建一个DataFrame对象,将提取结果存入其,并指定列名为"Excel File Name"。最后,使用DataFrame的`to_excel()`方法将数据保存到名为"output.xlsx"的Excel文件。 希望这对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值