楼主: frederic7
1444 1

[学习分享] 【分享】提取某个文件夹中的所有文件名! [推广有奖]

  • 13关注
  • 3粉丝

已卖:820份资源

副教授

6%

还不是VIP/贵宾

-

威望
0
论坛币
2058 个
通用积分
24.6509
学术水平
8 点
热心指数
18 点
信用等级
4 点
经验
9392 点
帖子
614
精华
0
在线时间
456 小时
注册时间
2009-9-26
最后登录
2025-7-2

楼主
frederic7 发表于 2011-8-5 22:36:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
刚好闲着没事干。所以就分享下自己在学习、实习中碰到的实际问题的时候,就自己编些小程序。同大家分享。


比如:我现在要想批量修改文件夹中全部或者部分文件的文件名。显然,当文件的量比较大的时候,手动修改起来比较麻烦。

附件只是提取出文件的文件名,修改的话再补充一段程序就可以了,再用name等接着编。

提取文件名完整版.xls (63 KB)

主要代码如下:
Private Sub CommandButton1_Click() 'shell 方法
    Set objShell = CreateObject("Shell.Application")
        Set objFolder = objShell.BrowseForFolder(0, "选择文件夹", 0, 0)
            If Not objFolder Is Nothing Then
                MsgBox objFolder.self.Path
                    '使用shell方法得到文件夹路径
                Range("a2:b65536").ClearContents
                With Application.FileSearch
                .LookIn = objFolder.self.Path
                .Filename = "*.*"   ’如果需要不同的文件类型,只需要修改扩展名比如改为“*.xls”
                If .Execute() > 0 Then
                For i = 1 To .FoundFiles.Count
                x = Split(.FoundFiles(i), "\")
                Cells(i + 1, 1) = i
                Cells(i + 1, 2) = x(UBound(x))
                Next i
                End If
                End With
            End If
        Set objFolder = Nothing
    Set objShell = Nothing
End Sub

说明:上面的程序在2007及以上的版本中不能用,因为filesearch不一样。待会再传个2007能用的版本

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:文件夹 文件名 Application filename contents 文件夹 程序

啊哦

沙发
frederic7 发表于 2011-8-5 22:43:18
文件操作.rar (15.18 KB) 本附件包括:
  • 文件操作.xlsm


如果使用2007版的朋友,上面的估计暂时实现不了,下面补充个07版能用的,如附件所示。
啊哦

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 07:24