VB如何批量修改文件名?

如D盘中N个.doc档文件名为:YE-PG-01、YT-PG-02、、、需在后面加上一个字母B,改为“YE-PG-01B"、“YT-PG-02B”、、、有源代码吗?... 如D盘中N个.doc档文件名为:YE-PG-01、YT-PG-02、、、需在后面加上一个字母B,改为“YE-PG-01B"、“YT-PG-02B”、、、 有源代码吗? 展开
 我来答
网海1书生
科技发烧友

2011-11-23 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
dim s() as string
d=dir("d:\*.doc")
do until d=""
s=split(d,".")
s(ubound(s)-1)=s(ubound(s)-1) & "B"
name "d:\" & d as "d:\" & join(s,".")
d=dir
loop
msgbox "批量修改文件名完毕!"
hwt87802887
2011-11-23 · TA获得超过194个赞
知道小有建树答主
回答量:606
采纳率:50%
帮助的人:257万
展开全部
列表框 List1
文本框 TxtFilePath
文本框 TxtFileName
按钮 CmdListFile

Private Sub CmdListFile_Click()
AutoListfiles TxtFilePath.txt, TxtFileName.Text
End Sub

'列出某个目录下所有指定类型文件(包含子目录)
'sDirName 目录名
'FileFilter 文件扩展名
'找到文件返回TRUE,一个也没找到则返回FALSE
Public Function AutoListfiles(ByVal sDirName As String, ByVal FileFilter As String) _
As Boolean

Dim sName As String
Dim sFile As String
Dim sExt As String
Dim sDirList() As String
Dim iDirNum As Integer
Dim i As Integer

On Error GoTo RF_ERROR

If Right$(sDirName, 1) <> "\ " Then sDirName = sDirName + "\ "

sFile = Dir(sDirName + FileFilter, vbNormal + vbArchive + vbHidden)
Do While Len(sFile) > 0
sFile = UCase(Trim(sFile))
'找到文件,在这里做你想做的
List1.AddItem sFile
sFile = Dir
Loop
iDirNum = 0

sName = Dir(sDirName + "*.* ", vbDirectory + vbNormal)
Do While Len(sName) > 0
If sName <> ". " And sName <> ".. " Then
iDirNum = iDirNum + 1
ReDim Preserve sDirList(1 To iDirNum)
sDirList(iDirNum) = sDirName + sName + "\ "
End If
sName = Dir
Loop
For i = 1 To iDirNum '递归调用
AutoListfiles sDirList(i), FileFilter
Next i

AutoListfiles = True
Exit Function
RF_ERROR:
MsgBox Err.Description, vbCritical, " "
AutoListfiles = False
End Function

后面的就很简单了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式