Cum să redenumiți toate numele imaginilor dintr-un folder în conformitate cu o listă de celule din Excel?
Ați încercat vreodată să redenumiți imaginile conform unei liste de celule din foaie? Dacă da, aveți vreun truc pentru a face față lucrului rapid, fără a le redenumi unul câte unul? În acest articol, introduc două coduri VBA pentru a gestiona rapid această lucrare în Excel.
Redenumiți toate numele imaginilor dintr-un folder
Redenumiți toate numele imaginilor dintr-un folder
Pentru a redenumi numele tuturor imaginilor dintr-un folder specificat, trebuie să enumerați mai întâi numele originale în foaie.
1. presa Alt + F11 tastele pentru a activa Microsoft Visual Basic pentru aplicații fereastră.
2. clic Insera > Module și lipiți codul de mai jos în script.
VBA: Obțineți numele imaginilor unui folder
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. presa F5 pentru a rula codul și apare o fereastră de dialog pentru a vă reaminti să selectați o celulă pentru a afișa lista de nume. Vedeți captura de ecran:
4. clic OK și pentru a selecta folderul specificat ale cărui nume de imagine trebuie să le enumerați în foaia de lucru curentă. Vedeți captura de ecran:
5. clic OK. Numele imaginilor au fost listate pe foaia activă.
Apoi, puteți redenumi imaginile.
1. presa Alt + F11 tastele pentru a activa Microsoft Visual Basic pentru aplicații fereastră.
2. clic Insera > Module și lipiți codul de mai jos în script.
VBA: Obțineți redenumirea imaginilor
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. presa F5 pentru a rula codul și apare o fereastră de dialog pentru a vă reaminti să selectați numele imaginilor originale pe care doriți să le înlocuiți. Vedeți captura de ecran:
4. clic OK, și selectați noile nume pe care doriți să le înlocuiți cu numele imaginilor din al doilea dialog. Vedeți captura de ecran:
5. clic OK, apare un dialog pentru a vă reaminti că numele imaginilor au fost înlocuite cu succes.
6. Faceți clic pe OK și numele imaginilor au fost înlocuite cu celulele din foaie.
Articole relative:
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!