Comment renommer tous les noms d'images dans un dossier selon une liste de cellules dans Excel?
Avez-vous déjà essayé de renommer des images selon une liste de cellules dans la feuille? Si tel est le cas, avez-vous des astuces pour gérer rapidement le travail sans les renommer un par un? Dans cet article, je présente deux codes VBA pour gérer rapidement ce travail dans Excel.
Renommer tous les noms d'images dans un dossier
Renommer tous les noms d'images dans un dossier
Pour renommer tous les noms d'images dans un dossier spécifié, vous devez d'abord répertorier les noms d'origine dans la feuille.
1. presse Alt + F11 touches pour activer Microsoft Visual Basic pour applications fenêtre.
2. Cliquez insérer > Module et collez le code ci-dessous dans le script.
VBA: obtenir les noms d'image d'un dossier
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. presse F5 pour exécuter le code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner une cellule pour afficher la liste de noms. Voir la capture d'écran:
4. Cliquez OK et pour sélectionner le dossier spécifié dont vous devez répertorier les noms d'image dans la feuille de calcul actuelle. Voir la capture d'écran:
5. Cliquez OK. Les noms des images ont été répertoriés sur la feuille active.
Ensuite, vous pouvez renommer les images.
1. presse Alt + F11 touches pour activer Microsoft Visual Basic pour applications fenêtre.
2. Cliquez insérer > Module et collez le code ci-dessous dans le script.
VBA: Renommez les images
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. presse F5 pour exécuter le code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner les noms d'image d'origine que vous souhaitez remplacer. Voir la capture d'écran:
4. Cliquez OKet sélectionnez les nouveaux noms que vous souhaitez remplacer dans la deuxième boîte de dialogue. Voir la capture d'écran:
5. Cliquez OK, une boîte de dialogue apparaît pour vous rappeler que les noms d'image ont été remplacés avec succès.
6. Cliquez sur OK et les noms d'image ont été remplacés par les cellules de la feuille.
Articles relatifs:
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!