办公室有个批量更改照片的 占个位置 明天上班再贴 半夜懒重写了。
目标:为学员照相 导入电脑并批量修改为学号加姓名
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
备注是刚添加的 希望有所帮助,另外求分谢谢。
Excel 请帮助,怎么VBA批量更改文件名
附件 VBA 递归算法 批量提取 & 修改文件名 代码如下:点击选择文件夹 按钮 选择文件夹, 在C 列输入新文件名后, 点击 重命名按钮 批量重命名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ...
Excel vba批量提取文件名+修改文件名!
首先新建一个excel文件,然后打开该excel,接着,按F12另存为xlsm格式的文件,如下图所示:打开另存的文件xlsm,然后按ALT+F11,打开宏编辑界面,如下图所示:接下来找到thisworkbook的模块,然后将如下的代码,复制粘贴到指定的模块中,如下图所示: 代码:Sub 批量获取文件名() Cells = ""...
求EXCEL VBA批量修改文件名的代码示例
1、首先建立一个EXCEL表 其中第一个工作薄名称为照相顺序表 如下图 Sub 照片重命名()If MsgBox("程序将重命名与本工作薄同目录下的所有照片文件,确认这样做么?", vbYesNo) <> 6 Then Exit Sub End If Dim oldname As String '旧文件名变量oldname Dim newname As String '新文件名变量ne...
Excel 请帮助,怎么VBA批量更改文件名
'无须打开文档,可以更改各种类型的文件的文件名,对文件夹下所有文件更名Dim fd As FileDialogDim i As IntegerDim strfiles As String, strextfilename As String, newfilename As StringSet fd = Application.FileDialog(msoFileDialogFolderPicker)If fd.Show = -1 Then strfiles = Dir(fd.Sel...
VBA快速修改多个Excel的内容
Sub MultiModi()Dim wb As WorkbookDim ws As WorksheetDim fnfn = Dir("盘符:\\文件所在的完整路径名\\*.xls") '取得第一个工作簿的文件名(如果是2007版,则后缀名请改为 *.xlsx)Do While fn <> "" Set wb = Workbooks.Open(fn) '打开工作簿 For Each ws In wb.Worksheets '循...
EXCEL批量修改工作表名称 VBA
VBA代码如下:Sub 宏1() For Each r In Sheet1.Range("B2:B100").Cells With ThisWorkBook.Sheets.Add .Name = r.Value .Cells(1,1) = r.Value End With Next rEnd Sub'如果执行中遇到问题请拷屏追问,如需代劳请百度云联系。
如何批量修改excel的文件名,文件名在每个表格的固定位置
A列原文件名,B列新文件名 把excel放到和要修改的文件同目录下 运行以下宏 Sub rename() Dim fs Dim pah As String Dim oldName As String Dim newName As String pah = ThisWorkbook.Path Set fs = CreateObject("Scripting.FileSystemObject") arr = [A1].CurrentRegion...
如何批量修改多个excel文件内容?
在 Excel 中打开 VBA 编辑器。你可以通过按下 Alt + F11 快捷键来打开它。在 VBA 编辑器中,选择 "插入" 菜单,然后选择 "模块"。在新创建的模块中,复制并粘贴以下代码:vba复制代码 Sub批量修改Excel文件()Dim MyFolder As String Dim MyFile As String Dim MyWorkbook As Workbook ' 设置...
Excel如何批量修改工作表名称?
Excel批量修改工作表名称,方法如下:第一步:建议对原工作簿做一个备份。另外,如果工作簿中工作表之间存在公式引用,就不要做批量修改工作表名。第二步:在VBA编辑器中插入新模块,把下面的代码复制到模块中。第三步:按F5运行一下,就完成对所有工作表名称的批量修改了。代码如下:SUB BatchName...
如何批量更改excel中的文件名
VBA代码是:Sub sort_sheet()Dim xxx(1 To 268)Dim sht As Worksheet For Each sht In Worksheets v = Val(sht.Name)If v > 0 Then xxx(v) = sht.Name End If Next For Each xx In xxx If IsEmpty(xx) = False Then n = n + 1 Sheets(xx).Move before:=Sheets(n)If n + 1...