作者:绿色风
分类:
时间:2022-08-17
浏览:144
楼主 kevinchengcw |
Q: 如何用vba代码为将指定文件夹下的全部文件夹名加上当前日期? A:代码如下:
- Sub test()
- Dim Str$, Txt As Object, mDate$
- mDate = Format(Date, "yyyy-m-d") '得到当前日期字符串
- If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt" '如果旧的列表文件还在就删除
- With Application.FileDialog(msoFileDialogFolderPicker) '打开文件夹选取菜单
- If .Show = -1 Then '如果正常显示,则调用命令行命令取得文件夹下的目录列表并存入列表文件中
- CreateObject("wscript.shell").Run Environ("comspec") & " /c dir """ & .SelectedItems(1) & """\*.* /ad /s /b>""" & ThisWorkbook.Path & "\list.txt""", 0, 1
- End If
- End With
- With CreateObject("scripting.filesystemobject") '创建FSO对象,用于操作列表文件
- With .opentextfile(ThisWorkbook.Path & "\list.txt", 1) '打开列表文件
- Do While Not .atendofstream '循环读取内容
- Str = Trim(.readline) '修整读取的内容
- If Str <> "" Then CreateObject("wscript.shell").Run Environ("comspec") & " /c ren """ & Str & """ """ & Split(Str, "\")(UBound(Split(Str, "\"))) & " " & mDate & """", 0, 1 '如果是有效数据,则调用命令行命令修改对应的文件名,在其后加上日期
- Loop
- .Close '关闭列表文件
- End With
- End With
- Kill ThisWorkbook.Path & "\list.txt" '删除列表文件
- End Sub
|
2楼 纵鹤擒龙水中月 |
学习了,谢谢! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一