Как да преименувам имената на всички изображения в папка според списък с клетки в Excel?
Опитвали ли сте някога да преименувате изображения според списък с клетки в листа? Ако е така, имате ли някакви трикове за бързо справяне със задачата, без да ги преименувате един по един? В тази статия представям два VBA кода за бързо справяне с тази задача в Excel.
Преименувайте всички имена на изображения в папка
Преименувайте всички имена на изображения в папка
За да преименувате имената на всички изображения в определена папка, първо трябва да изброите оригиналните имена в листа.
1. Натиснете Alt + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец.
2. кликване Поставете > Модули и поставете кода по-долу към скрипта.
VBA: Вземете имена на картини на папка
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. Натиснете F5 за изпълнение на кода и изскачащ диалогов прозорец, който ви напомня да изберете клетка за извеждане на списъка с имена. Вижте екранна снимка:
4. кликване OK и за да изберете указаната папка, чиито имена на картини трябва да изброите в текущия работен лист. Вижте екранна снимка:
5. кликване OK. Имената на картините са изброени на активния лист.
След това можете да преименувате снимките.
1. Натиснете Alt + F11 клавиши за активиране на Microsoft Visual Basic за приложения прозорец.
2. кликване Поставете > Модули и поставете кода по-долу към скрипта.
VBA: Вземете Преименуване на снимки
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. Натиснете F5 за стартиране на кода и се появява диалогов прозорец, който ви напомня да изберете оригиналните имена на картини, които искате да замените. Вижте екранна снимка:
4. кликване OKи изберете новите имена, които искате да замените с имена на картини във втория диалогов прозорец. Вижте екранна снимка:
5. кликване OK, изскача диалогов прозорец, за да ви напомни, че имената на картините са заменени успешно.
6. Щракнете върху OK и имената на картините са заменени от клетките в листа.
Относителни статии:
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!