Hoe kan je alle afbeeldingsbestanden in een map hernoemen volgens een lijst met cellen in Excel?
Heb je ooit meerdere afbeeldingen in een map moeten hernoemen op basis van een lijst met namen in een Excel-werkblad? Het hernoemen ervan één voor één kan tijdrovend zijn, maar met behulp van VBA-codes kun je het proces snel automatiseren.
Alle afbeeldingsbestanden in een map hernoemen
Alle afbeeldingsbestanden in een map hernoemen
Volg deze stappen om alle afbeeldingsbestanden in een specifieke map te hernoemen:
Stap 1: Importeer de originele bestandsnamen uit de map naar een werkblad in Excel
1. Druk op "Alt + F11" om het venster "Microsoft Visual Basic for Applications" te openen.
2. Klik op "Invoegen" > "Module" en plak de onderstaande code in het script.
VBA: Haal Afbeeldingsnamen Op Uit Een Map
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. Druk op de toets "F5" om de code uit te voeren, en er verschijnt een dialoogvenster dat je eraan herinnert een cel te selecteren om de naamlijst uit te voeren. Zie screenshot:
4. Klik op "OK" en selecteer de specifieke map waarvan je de afbeeldingsnamen wilt weergeven in het huidige werkblad. Zie screenshot:
5. Klik op "OK". De afbeeldingsnamen zijn nu weergegeven op het actieve werkblad.
Stap 2: Hernoem de Afbeeldingsbestanden Op Basis Van Een Nieuwe Naamlijst
1. Druk op "Alt + F11" om het venster "Microsoft Visual Basic for Applications" te openen.
2. Klik op "Invoegen" > "Module" en plak de onderstaande code in het script.
VBA: Hernoem Afbeeldingsbestanden In Een Map
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. Druk op de toets "F5" om de code uit te voeren, en er verschijnt een dialoogvenster dat je eraan herinnert de originele afbeeldingsnamen te selecteren die je wilt vervangen. Zie screenshot:
4. Klik op "OK", en selecteer de nieuwe namen waarmee je de afbeeldingsnamen wilt vervangen in het tweede dialoogvenster. Zie screenshot:
5. Klik op "OK", er verschijnt een dialoogvenster dat je eraan herinnert dat de afbeeldingsnamen succesvol zijn vervangen.
6. Klik op "OK", en de afbeeldingsnamen in de map zullen worden vervangen door de nieuwe namen uit de cellen in het werkblad.
![]() |
![]() |
![]() |
Gerelateerde Artikelen:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!