excel批量修改文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel批量修改文件名相关的知识,希望对你有一定的参考价值。

一个文件夹下有多个文件名,请问怎么把所有文件用1、2、3、……数字来命名。用vba。谢谢高手!

附件 VBA 递归算法 批量提取 & 修改文件名

代码如下:

点击选择文件夹 按钮 选择文件夹, 在C 列输入新文件名后, 点击 重命名按钮 批量重命名


Option Explicit
Private Fso As Object, Mypath As String

Sub 选择文件夹()
    Dim Fo
    Call 清除
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "请选择要批量重命名文件的文件夹"
        .Show
        If .SelectedItems.Count = 0 Then Exit Sub
        Mypath = .SelectedItems(1) & "\\"
    End With
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set Fo = Fso.getfolder(Mypath)
    Call 递归(Fo)
End Sub

Sub 获取文件名(Folder)
    Dim Fi, filename As String, r As Integer
    For Each Fi In Folder.Files
        r = Range("A65536").End(xlUp).Row + 1
        filename = Fi.Name
        Cells(r, 1) = Folder.Path & "\\"
        Cells(r, 2) = Fso.getbasename(filename)
        Cells(r, 4) = "." & Fso.GetExtensionName(filename)
        r = r + 1
    Next
End Sub

Sub 递归(Folder)
    Dim Fi, Fo
    Call 获取文件名(Folder)
    If Folder.subFolders.Count > 0 Then
        For Each Fo In Folder.subFolders
            Call 递归(Fo)
        Next
    End If
End Sub

Sub 重命名()
    Dim i As Integer, r As Integer, Rng As Range
    r = Range("A65536").End(xlUp).Row
    For Each Rng In Range("C2:C" & r)
        If Rng = "" Then MsgBox "请将新文件名填写完整!", 64, "提示": Exit Sub
    Next
    For i = 2 To Range("A65536").End(xlUp).Row
        Name Cells(i, 1) & Cells(i, 2) & Cells(i, 4) As Cells(i, 1) & Cells(i, 3) & Cells(i, 4)
    Next
    MsgBox "文件名修改完成!", 64, "提示"
    Call 清除
End Sub

Sub 清除()
    Dim r As Integer
    r = Range("A65536").End(xlUp).Row
    If r = 1 Then Exit Sub
    Range("A2:D" & r).ClearContents
End Sub


参考技术A 不用vba,只要将要统一格式命名的文件都放入同一个文件夹内,然后打开看图软件 ACDsee 在里面找到这个文件夹,全选这些文件后选择菜单栏上的“工具”-“批量重命名”,在“模板”中选“使用数字替换”,“开始于”是1,在下面的“模板”选项中只输入“#”,点“开始重命名”后就行了。 参考技术B 用ACDSEE,打开相应文件夹,其中有一个批量重命名的功能,将要统一格式命名的文件都放入同一个文件夹内,然后打开看图软件 ACDsee 在里面找到这个文件夹,全选这些文件后选择菜单栏上的“工具”-“批量重命名”,在“模板”中选“使用数字替换”,“开始于”是1,在下面的“模板”选项中只输入“#”,点“开始重命名”后就行了。 参考技术C 在dos中用dir取出文件名,将文件名复制在excel中,将变更后的文件名写在对应的文件名后面,将内容复制到批处理文件中运行
这是怎么用的?谁能说的详细一些?
比如我的图片放在d盘123文件夹里,我要怎么做呢?
参考技术D 用ACDSEE,打开相应文件夹,其中有一个批量重命名的功能,研究一下。

批量修改Excel单元格内某些文字的颜色

1、Alt + F11 打开代码编辑界面
2、插入“模块”
3、复制下列代码
4、选择需要设置的单元格区域;
5、点击“开发工具”、宏、选择后执行;
6、输入需变更的文本、检索变更颜色;
7、如需重复使用,需把写有代码的文件保存为“***.XLSM”格式;

Sub 批量标注单元格内部分文字颜色()

    Dim rng As Range, i As Integer
    
    Dim T As String    'T是要批量替换颜色的目标文字
    
    T = InputBox("请输入想要批量调整的文字,如:版本", "输入对话框", "xxx")     '重点,重点,重点,在使用该程序时只需要修改双引号中的内容即可
    
    If T = "" Then Exit Sub
    
    Dim C As Integer   'C是颜色,通过设定不同的值,代表对应的颜色
    
    For Each rng In Selection
    
    	C = 3                '3代表红色,1代表黑色,2代表白色,4代表鲜绿色,5代表蓝色,6代表黄色,7代表粉红色,8代表青绿色,9代表深红色,10代表绿色
    
    	i = 1
    
    	Do While InStr(i, rng, T) > 0
    
    		rng.Characters(InStr(i, rng, T), Len(T)).Font.ColorIndex = 3
    
    		i = InStr(i, rng, T) + 1
    
    	Loop
    
    Next

End Sub

站在巨人肩膀上~
不造轮子,借辆车也挺香~~~

以上是关于excel批量修改文件名的主要内容,如果未能解决你的问题,请参考以下文章

Python制作简单的GUI界面,实现批量修改excel文件特定行列单元格

如何用EXCEL里的数据对其它文件进行文件名批量的替换修改

如何批量修改照片文件名?

批量修改某一文件夹所有文件名

如何批量重命名文件夹下的Excel文件

批量修改并保存xml文件