如何根据 Excel 中的单元格列表重命名文件夹中的所有图像?
您是否曾面临过一项颇具挑战性的任务:根据 Excel 电子表格中保存的特定数据重命名大量图像文件?每个文件都必须手动重命名,这既费力又容易出错。幸运的是,利用编程和自动化的强大功能,可以更高效地完成这项工作。本教程将逐步指导您如何根据 Excel 文件中的单元格列表重命名文件夹中的每张照片。
根据单元格列表重命名文件夹中的所有图像
在这里,我们将首先获取工作表上图像的原始名称,然后重命名它们。让我们看一个简单的过程,了解如何根据 Excel 中的单元格列表重命名文件夹中的所有图像。
步骤 1
考虑任何 Excel 工作表。
首先,右键单击工作表名称,然后选择"查看代码"以打开 VBA 应用程序。
右键单击 >"查看代码"。
步骤 2
然后点击"插入",选择"模块",然后将以下代码复制到文本框中。
插入 >"模块">"复制"。
代码
Sub PictureNametoExcel()
Dim I As Long
Dim xRg As Range
Dim xAddress As String
Dim xFileName As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a cell to place name list:", "Rename All Images", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xRg = xRg(1)
xRg.Value = "Picture Name"
With xRg.Font
.Name = "Arial"
.FontStyle = "Bold"
.Size = 10
End With
xRg.EntireColumn.AutoFit
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
I = 1
If xFileDlg.Show = -1 Then
xFileDlgItem = xFileDlg.SelectedItems.Item(1)
xFileName = Dir(xFileDlgItem & "")
Do While xFileName <> ""
If InStr(1, xFileName, ".jpg") + InStr(1, xFileName, ".png") + InStr(1, xFileName, ".img") + InStr(1, xFileName, ".gif") + InStr(1, xFileName, ".ioc") + InStr(1, xFileName, ".bmp") > 0 Then
xRg.Offset(I).Value = xFileDlgItem & "" & xFileName
I = I + 1
End If
xFileName = Dir
Loop
End If
Application.ScreenUpdating = True
End Sub

步骤 3
然后点击 F5 运行模块。然后选择一个单元格来放置图片名称,并点击"确定"。
F5 > 选择单元格 > 确定。

步骤 4
然后选择包含图片的文件夹,并点击"确定"。
选择文件夹 > 确定。

步骤 5
然后,您将看到原始名称将放置在工作表上。现在再次在 VBA 中,点击"插入",选择"模块",然后将以下代码复制到文本框中。
插入 > 模块 > 复制。
代码
Sub RenameFile()
Dim I As Long
Dim xLastRow As Long
Dim xAddress As String
Dim xRgS, xRgD As Range
Dim xNumLeft, xNumRight As Long
Dim xOldName, xNewName As String
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRgS = Application.InputBox("Select Original Names(Single Column):", "Rename All Images", xAddress, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Select New Names(Single Column):", "Rename All Images", , , , , , 8)
If xRgD Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xLastRow = xRgS.Rows.Count
Set xRgS = xRgS(1)
Set xRgD = xRgD(1)
For I = 1 To xLastRow
xOldName = xRgS.Offset(I - 1).Value
xNumLeft = InStrRev(xOldName, "")
xNumRight = InStrRev(xOldName, ".")
xNewName = xRgD.Offset(I - 1).Value
If xNewName <> "" Then
xNewName = Left(xOldName, xNumLeft) & xNewName & Mid(xOldName, xNumRight)
Name xOldName As xNewName
End If
Next
MsgBox "Congratulations! You have successfully renamed all the files", vbInformation, "Rename All Images"
Application.ScreenUpdating = True
End Sub

步骤 6
然后点击 F5 运行模块。选择包含原始姓名的单元格区域,并点击"确定"。
选择单元格 > "确定"。

步骤 7
选择新姓名,并点击"确定"完成任务。
选择单元格 > "确定"。好的。

以上就是如何在 Excel 中重命名文件夹中的所有图像。
总结
在本教程中,我们通过一个简单的流程,展示了如何根据 Excel 中的单元格列表重命名文件夹中的所有图像,以突出显示特定的一组数据。
相关文章
有用资源
excel 参考教程 - 该教程包含有关 excel 的更多信息:https://www.cainiaomax.com/excel/

