ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码为将指定文件夹下的全部文件夹名加上当前日期?

如何用vba代码为将指定文件夹下的全部文件夹名加上当前日期?

作者:绿色风 分类: 时间:2022-08-17 浏览:144
楼主
kevinchengcw
Q: 如何用vba代码为将指定文件夹下的全部文件夹名加上当前日期?
A:代码如下:
  1. Sub test()
  2. Dim Str$, Txt As Object, mDate$
  3. mDate = Format(Date, "yyyy-m-d")    '得到当前日期字符串
  4. If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt" '如果旧的列表文件还在就删除
  5. With Application.FileDialog(msoFileDialogFolderPicker)  '打开文件夹选取菜单
  6.     If .Show = -1 Then  '如果正常显示,则调用命令行命令取得文件夹下的目录列表并存入列表文件中
  7.         CreateObject("wscript.shell").Run Environ("comspec") & " /c dir """ & .SelectedItems(1) & """\*.* /ad /s /b>""" & ThisWorkbook.Path & "\list.txt""", 0, 1
  8.     End If
  9. End With
  10. With CreateObject("scripting.filesystemobject") '创建FSO对象,用于操作列表文件
  11.     With .opentextfile(ThisWorkbook.Path & "\list.txt", 1)  '打开列表文件
  12.         Do While Not .atendofstream '循环读取内容
  13.             Str = Trim(.readline)   '修整读取的内容
  14.             If Str <> "" Then CreateObject("wscript.shell").Run Environ("comspec") & " /c ren """ & Str & """ """ & Split(Str, "\")(UBound(Split(Str, "\"))) & " " & mDate & """", 0, 1 '如果是有效数据,则调用命令行命令修改对应的文件名,在其后加上日期
  15.         Loop
  16.         .Close  '关闭列表文件
  17.     End With
  18. End With
  19. Kill ThisWorkbook.Path & "\list.txt"    '删除列表文件
  20. End Sub
2楼
纵鹤擒龙水中月
学习了,谢谢!

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap