怎么批量把word的“标题”设置成为“文件名”?
发布网友
发布时间:2022-04-23 11:52
我来回答
共1个回答
热心网友
时间:2022-05-30 21:29
VBS处理
代码如下
Option Explicit
On Error Resume Next ' 容错语句,避免程序崩溃'有可能重命名文件已经存在,忽略错误。
Dim fso,fs,f
Dim i
Dim strNewName
Const strCurrentPath = "."
Msgbox "根据文本文件第一行批量重命名的VBS程序" & vbcrlf & vbcrlf & "Created By Shortway",0,"QQ:380710203"
Set fso = Wscript.CreateObject("Scripting.FileSystemObject")
Set fs = fso.GetFolder(strCurrentPath).Files
i = 0
For Each f In fs'遍历当前文件夹内每个文件
If LCase(right(f.name,3))="txt" Then'判断是否是文本文件
strNewName = Trim(fso.OpenTextFile(f, 1, False).ReadLine)'得到第一行
'以下剔除不能作文件名的特殊字符
strNewName = Replace(strNewName, "\", "")
strNewName = Replace(strNewName, "/", "")
strNewName = Replace(strNewName, ":", "")
strNewName = Replace(strNewName, "*", "")
strNewName = Replace(strNewName, "?", "")
strNewName = Replace(strNewName, """", "")
strNewName = Replace(strNewName, ">", "")
strNewName = Replace(strNewName, "<", "")
strNewName = Replace(strNewName, "|", "")
strNewName = left(strNewName,50)'有时第一行文字太多了,就选50个字符了
f.name=strNewName & ".txt"
i = i + 1
End if
Next
Msgbox i & "个文件改名完成!(忽略重名)"
Set fs = Nothing
Set fso = Nothing
将以上代码粘贴到记事本中,然后另存为后缀为vbs文件,如“标题修改.vbs”,把要处理的文件与vbs文件放在同一文件夹中,然后运行vbs文件,数据无价,修改时请先实验测试。