关于如何利用EXCEL中的编号批量修改图片文件名?

我是一个EXCEL新手,最近遇到一个麻烦的问题。大概是这样的:我有一个编号对应的EXCEL表格,如2008001-1对应ZM060723-1,2008001-2对应ZM060723-2。。。。。以此类推。然后我的图片文件夹中所有图片名称均为 2008001-1这一组编号,请问我要怎么才能够批量的将所有图片的名称根据EXCEL中的对应关系,改为ZM开头的编号呢?因为有几千张图片。。手工改起来要累死的。。改数码相机中的图片名称就已经把我累死了。。再手工改这个肯定会崩溃的。

可以用VBA来实现你要的功能,具体方法可以参考下面的来实现:

1、首先建立一个EXCEL表 其中第一个工作薄名称为照相顺序表 如下图
Sub 照片重命名()
If MsgBox("程序将重命名与本工作薄同目录下的所有照片文件,确认这样做么?", vbYesNo) <> 6 Then
Exit Sub
End If
Dim oldname As String '旧文件名变量oldname
Dim newname As String '新文件名变量newname
Dim photopath As String '路径变量photopath
Dim nophoto As String '错误提示变量nophoto
Dim i As Integer '循环变量i
photopath = ThisWorkbook.Path '为要修改的文件名路径复制为当前excel文件的路径
For i = 2 To Worksheets("照相顺序表").Range("a65536").End(xlUp).Row '开始循环 从“照相顺序表”工作薄的a2单元格开始
'为新文件名变量赋值为路径变量& \ & 照相顺序表工作薄中的a2&b2单元格内容加上扩展名.jpg
newname = photopath & "\" & Worksheets("照相顺序表").Cells(i, 1).Text & Worksheets("照相顺序表").Cells(i, 2).Text & ".jpg"
'为旧文件名变量赋值为路径变量& \ & 照相顺序表工作薄中的c2单元格内容&扩展名.jpg
oldname = photopath & "\" & Worksheets("照相顺序表").Cells(i, 3).Text & ".jpg"
'判断旧文件名是否在当前目录存在
If Dir(oldname) <> "" Then
Name oldname As newname '存在则改名
Else
nophoto = nophoto & Chr(10) & oldname‘不存在则将其赋值给错误提示变量并以回车分割累加
End If
Next i
If nophoto <> "" Then
MsgBox nophoto & Chr(10) & "图片不存在" ’存在错误提示则弹出错误提示框
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-25
我的想法:
1、开excel。
A1里输入=2008001-,B2里输入1,(本列下拉1....10000),C1=A1&B1
2 在D1格里输入图片的后缀 如“.jpg”
然后下拉 生成一排的 .jpg
3、在E1格里写 =C1&D1 回车后下拉
4.F列=ren C1 E1

最后将E列复制出来 粘贴到一个记事本里
放到你的图片文件夹里 并命名为 XXX.BAT

保存好 双击 运行~本回答被提问者采纳
第2个回答  2009-03-02
有文件批量改名的软件,你可以到网上搜搜..