Jak přejmenovat všechny názvy obrázků ve složce podle seznamu buněk v aplikaci Excel?
Zkusili jste někdy přejmenovat obrázky podle seznamu buněk v listu? Pokud ano, máte nějaké triky, jak rychle zvládnout úlohu, aniž byste je přejmenovali jeden po druhém? V tomto článku představuji dva kódy VBA pro rychlé zpracování této úlohy v aplikaci Excel.
Přejmenujte všechny názvy obrázků ve složce
Přejmenujte všechny názvy obrázků ve složce
Chcete-li přejmenovat všechny názvy obrázků v určené složce, musíte nejprve uvést původní názvy v listu.
1. lis Alt + F11 klávesy pro povolení Microsoft Visual Basic pro aplikace okno.
2. cvaknutí Vložit > Modul a vložte níže uvedený kód do skriptu.
VBA: Získejte názvy obrázků složky
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. lis F5 klávesu pro spuštění kódu a objeví se dialogové okno, které vám připomene, abyste vybrali buňku pro výstup seznamu jmen. Viz snímek obrazovky:
4. cvaknutí OK a vyberte zadanou složku, jejíž názvy obrázků musíte v aktuálním listu uvést. Viz snímek obrazovky:
5. cvaknutí OK. Názvy obrázků byly uvedeny na aktivním listu.
Poté můžete obrázky přejmenovat.
1. lis Alt + F11 klávesy pro povolení Microsoft Visual Basic pro aplikace okno.
2. cvaknutí Vložit > Modul a vložte níže uvedený kód do skriptu.
VBA: Získejte přejmenování obrázků
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. lis F5 pro spuštění kódu a objeví se dialogové okno, které vám připomene, abyste vybrali původní názvy obrázků, které chcete nahradit. Viz snímek obrazovky:
4. cvaknutí OKa ve druhém dialogovém okně vyberte nová jména, kterými chcete nahradit názvy obrázků. Viz snímek obrazovky:
5. cvaknutí OK, objeví se dialogové okno, které vám připomene, že názvy obrázků byly úspěšně nahrazeny.
6. Klepněte na OK a názvy obrázků byly nahrazeny buňkami v listu.
Relativní články:
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!