ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码将D盘全部工作簿的作者、备注及标题信息替换为指定内容?

如何用vba代码将D盘全部工作簿的作者、备注及标题信息替换为指定内容?

作者:绿色风 分类: 时间:2022-08-17 浏览:153
楼主
kevinchengcw
Q: 如何用vba代码将D盘全部工作簿的作者、备注及标题信息替换为指定内容?
A: 代码如下:
  1. Sub test()
  2. Dim Drive, Txt, Str$, Wb As Workbook
  3. On Error Resume Next
  4. Application.ScreenUpdating = False  '关闭屏幕刷新,提高处理速度
  5. With CreateObject("scripting.filesystemobject")     '创建FSO对象
  6.     If Dir(ThisWorkbook.Path & "\list.txt") <> "" Then Kill ThisWorkbook.Path & "\list.txt"     '如果存在旧的列表文件则删除
  7.     CreateObject("wscript.shell").Run "cmd.exe /c dir ""D:\*.xls? /s/b>>""" & ThisWorkbook.Path & "\list.txt""", 0, 1   '创建D盘excel文档列表清单并等待执行完成
  8.     Set Txt = .opentextfile(ThisWorkbook.Path & "\list.txt")    '打开列表文件
  9.     Do While Not Txt.atendofsteam
  10.         Str = Txt.readline  '读取出一行文本
  11.         If Trim(Str) <> "" And Trim(Str) <> ThisWorkbook.FullName Then    '如果文本是有效的文件信息,并且不指向当前工作簿则
  12.             Set Wb = Workbooks.Open(Str)     '打开对应的工作簿
  13.             With Wb
  14.                 .Author = "AAA" '写入作者
  15.                 .Comments = "BBB"  '写入备注信息
  16.                 .Title = "CCC"  '写入标题
  17.                 .Close True  '保存关闭工作簿
  18.             End With
  19.         End If
  20.     Loop
  21.     Txt.Close   '关闭列表文件
  22.     Kill ThisWorkbook.Path & "\list.txt"    '删除列表文件
  23.     Set Txt = Nothing   '清空各个项目
  24.     Set Wb = Nothing
  25. End With
  26. Application.ScreenUpdating = True   '恢复屏幕刷新
  27. End Sub
2楼
璞玉可待
能否介绍下应用场景。

免责声明

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

评论列表
sitemap