Hoe hernoem ik alle afbeeldingen in een map volgens een lijst met cellen in Excel?
Heb je ooit geprobeerd afbeeldingen te hernoemen volgens een lijst met cellen in het blad? Zo ja, heb je trucs om de klus snel af te handelen zonder ze een voor een te hernoemen? In dit artikel introduceer ik twee VBA-codes om deze taak snel in Excel af te handelen.
Hernoem alle afbeeldingen in een map
Hernoem alle afbeeldingen in een map
Om alle namen van afbeeldingen in een opgegeven map te hernoemen, moet u eerst de originele namen in het blad vermelden.
1. druk op Alt + F11 toetsen om het Microsoft Visual Basic voor toepassingen venster.
2. klikken Invoegen > Module en plak onderstaande code in het script.
VBA: haal afbeeldingsnamen van een map op
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 F5 toets om de code uit te voeren, en er verschijnt een dialoogvenster om u eraan te herinneren een cel te selecteren om de namenlijst uit te voeren. Zie screenshot:
4. klikken OK en om de opgegeven map te selecteren waarvan u de afbeeldingsnamen in het huidige werkblad moet vermelden. Zie screenshot:
5. klikken OK. De namen van de afbeeldingen zijn vermeld op het actieve blad.
Vervolgens kunt u de afbeeldingen hernoemen.
1. druk op Alt + F11 toetsen om het Microsoft Visual Basic voor toepassingen venster.
2. klikken Invoegen > Module en plak onderstaande code in het script.
VBA: haal afbeeldingen hernoemen
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 F5 toets om de code uit te voeren, en er verschijnt een dialoogvenster om u eraan te herinneren de originele afbeeldingsnamen te selecteren die u wilt vervangen. Zie screenshot:
4. klikken OKen selecteer de nieuwe namen die u wilt vervangen afbeeldingsnamen in het tweede dialoogvenster. Zie screenshot:
5. klikken OK, verschijnt er een dialoogvenster om u eraan te herinneren dat de afbeeldingsnamen met succes zijn vervangen.
6. Klik op OK en de namen van de afbeeldingen zijn vervangen door de cellen in het blad.
Relatieve artikelen:
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar effici毛ntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!