Làm thế nào để đổi tên tất cả các tên hình ảnh trong một thư mục theo danh sách các ô trong Excel?
Bạn đã bao giờ thử đổi tên hình ảnh theo danh sách các ô trong trang tính chưa? Nếu vậy, bạn có thủ thuật nào để nhanh chóng xử lý công việc mà không cần đổi tên từng cái một không? Trong bài viết này, tôi giới thiệu hai mã VBA để xử lý nhanh công việc này trong Excel.
Đổi tên tất cả các tên hình ảnh trong một thư mục
Đổi tên tất cả các tên hình ảnh trong một thư mục
Để đổi tên tất cả các tên hình ảnh trong một thư mục được chỉ định, trước tiên bạn phải liệt kê các tên gốc trong trang tính.
1. nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. nhấp chuột Chèn > Mô-đun và dán mã bên dưới vào tập lệnh.
VBA: Lấy tên ảnh của một thư mục
Sub PictureNametoExcel()
'UpdatebyExtendoffice201709027
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:", "KuTools For Excel", 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. nhấn F5 để chạy mã và một hộp thoại bật ra để nhắc bạn chọn một ô để xuất danh sách tên. Xem ảnh chụp màn hình:
4. nhấp chuột OK và để chọn thư mục được chỉ định có tên ảnh bạn cần liệt kê trong trang tính hiện tại. Xem ảnh chụp màn hình:
5. nhấp chuột OK. Tên hình ảnh đã được liệt kê trên trang hoạt động.
Sau đó, bạn có thể đổi tên ảnh.
1. nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.
2. nhấp chuột Chèn > Mô-đun và dán mã bên dưới vào tập lệnh.
VBA: Lấy đổi tên ảnh
Sub RenameFile()
'UpdatebyExtendoffice20170927
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):", "KuTools For Excel", xAddress, , , , , 8)
If xRgS Is Nothing Then Exit Sub
Set xRgD = Application.InputBox("Select New Names(Single Column):", "KuTools For Excel", , , , , , 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, "KuTools For Excel"
Application.ScreenUpdating = True
End Sub
3. nhấn F5 để chạy mã và một hộp thoại bật ra để nhắc bạn chọn tên ảnh gốc mà bạn muốn thay thế. Xem ảnh chụp màn hình:
4. nhấp chuột OK, và chọn tên mới bạn muốn thay thế tên ảnh trong hộp thoại thứ hai. Xem ảnh chụp màn hình:
5. nhấp chuột OK, một hộp thoại bật ra để nhắc bạn rằng tên ảnh đã được thay thế thành công.
6. Bấm OK và tên hình ảnh đã được thay thế bằng các ô trong trang tính.
Các bài báo tương đối:
Công cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!