精华内容
下载资源
问答
  • 本文由两部分构成,【批量提取指定文件夹下文件名】以及【批量文件重命名】。嗯~简易操作~不涉及VBA编程~批量提取指定文件夹下文件名操作动画如下:如动画所示,先定义一个名称。名称为文件夹,引用位置设置的公式为...

    本文由两部分构成,【批量提取指定文件夹下文件名】以及【批量文件重命名】。嗯~简易操作~不涉及VBA编程~

    批量提取指定文件夹下文件名

    操作动画如下:

    49f0568de36110ca9fed2aaff8725e37.gif

    如动画所示,先定义一个名称。

    5aac0efef6e7855e5b41e4966a1a7485.png

    名称为文件夹,引用位置设置的公式为:

    =FILES("D:\测试\*.*")

    D:\测试\,是文件夹的路径,注意文件夹后有一个”\”

    *.*,是通配符,意思是所有的文件名称。如果只提取Excel文件,可以修改为*.xls*,其它文件类似。

    定义名称完成后,再单元格输入公式:

    =INDEX(文件夹,ROW(A1))

    向下复制填充即可取得结果,如需屏蔽错误值,可以嵌套IFERROR函数,例如:

    =IFERROR(INDEX(文件夹,ROW(A1)),"")

    批量文件重命名

    如下图表格截图所示。

    A列是旧文件名(含后缀)。

    B列是新文件名(含后缀),新文件名是在对应的旧文件名上更改而来。

    现在需要批量将A列的文件名更正为新文件名。

    3f09805083f0a78dee46dc61b8cb27f6.png

    步骤1:

    在C列输入公式:

    ="REN"&" "&A2&" "&B2

    说明一下,这是DOS语句,汉语描述就是

    =REN&空格&旧文件名&空格&新文件名

    注意空格的存在。

    409a8e6f042f2f38bd5c586a3b37a3c2.png

    步骤2:

    在需要更名的文件夹下新建一个txt文件。

    82e24be04cd4ebdb92a88f57f303bbc6.png

    复制Excel工作簿C列公式的计算结果,打开新建的txt,粘贴,然后保存关闭该txt文件。

    9cd7208b13e985b5344bb31bae606c76.png

    步骤3:

    将该txt文件的后缀名更改为.bat。

    然后双击运行该文件,文件批量更名就成功了。

    acb73a5d45fc55b39a9313d665ab83cb.png

    是不是很简单?你也动手试试吧~。

    图文制作:看见星光

    d9afa9aa80fb66fa605f57a310afcdf1.png

    ExcelHome云课堂,我们的职场加油站

    展开全文
  • 第二节 利用NAME语句,给文件重命名大家好,我们今日讲解文件及文件夹信息的获取及操作。讲解利用NAME语句,给文件重命名。在一般的文件操作中,如果需要重命名某个文件或者文件夹,只需右键选择重命...

    大家好,我们今日讲解"VBA信息获取与处理"教程中第十七个专题"文件及文件夹信息的获取及操作"的第一节"判断文件及文件夹是否存在",这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序文件。

    第二节 利用NAME语句,给文件重命名

    大家好,我们今日讲解文件及文件夹信息的获取及操作。讲解利用NAME语句,给文件重命名。在一般的文件操作中,如果需要重命名某个文件或者文件夹,只需右键选择重命名即可,这种操作也可以用代码来实现,就是我们今日讲解的NAME语句。

    1 NAME语句的意义和应用的语法规则

    Name 语句:可以重命名磁盘文件、目录或文件夹。

    Name 语句的语法规则:Name oldpathnameAsnewpathname

    参数:

    oldpathname必需指定现有文件名和位置的字符串表达式;可能包括目录或文件夹以及驱动器。

    newpathname必需指定新的文件名和位置的字符串表达式;可能包括目录或文件夹以及驱动器。newpathname指定的文件名不能是已经已存在。

    注意点:

    1)Name语句可重命名文件, 并将其移动到其他目录或文件夹 (如有必要)。Name可以跨驱动器移动文件, 但仅当newpathname和oldpathname位于同一驱动器上时, 才能重命名现有的目录或文件夹。Name不能创建新的文件、目录或文件夹。

    2) 在利用Name语句的时候,要首先关闭需要重命名的文件。

    3) 名称参数不能包含多字符 (*) 和单字符 (?) 通配符。

    4) 示例:

    Dim OldName, NewName

    OldName = "OLDFILE": NewName = "NEWFILE" ' 定义文件名

    Name OldName As NewName ' 重命名文件

    OldName = "C:MYDIROLDFILE": NewName = "C:YOURDIRNEWFILE"

    Name OldName As NewName ' 移动和重命名文件.

    2 利用NAME语句重命名文件及移动文件的实际应用

    在当前文件夹下有个"017temp"文件夹,这个文件夹下有"017Test"文件,下面我们要利用NAME语句完成下面的一些操作

    1) 将"017Test.txt"文件重命名为"017Test1.txt"

    2) 将上述的"017Test1.txt"文件移动到这个文件下的"Test1"文件夹里面。

    3) 将"Test1"文件夹里面的"017Test1.txt"文件移动到外层文件下面并重命名为"017Test2.txt"

    为了实现上面的目的,我给出下面的代码,供大家参考:

    Sub mynzA() '给文件重命名

    Dim strPath As String

    strPath = ThisWorkbook.Path&Application.PathSeparator

    If Dir(strPath& "017temp017Test.txt") <> "" Then

    Name strPath& "017temp017Test.txt" As strPath& "017temp017Test1.txt"

    Name strPath& "017temp017Test1.txt" As strPath& "017tempTest1017Test1.txt"

    Name strPath& "017tempTest1017Test1.txt" As strPath& "017temp017Test2.txt"

    Else

    MsgBox "文件不存在!": END

    End If

    MsgBox "重命名完成!"

    End Sub

    代码截图:

    7f955761ca1fb8062c22c116924989f9.png

    代码解读:

    1)Dir(strPath& "017temp017Test.txt") <> ""

    利用DIR函数判断当前文件夹下"017temp017Test.txt"是否存在,如果不存在将会给出代码不存在的提示。

    2)Name strPath& "017temp017Test.txt" As strPath& "017temp017Test1.txt"

    以上代码将"017Test.txt"文件重命名为"017Test1.txt"

    3)Name strPath& "017temp017Test1.txt" As strPath& "017tempTest1017Test1.txt"

    以上代码将上述的"017Test1.txt"文件移动到这个文件下的"Test1"文件夹里面。

    4)Name strPath& "017tempTest1017Test1.txt" As strPath& "017temp017Test2.txt"

    以上代码将"Test1"文件夹里面的"017Test1.txt"文件移动到外层文件下面并重命名为"017Test2.txt"

    3 利用NAME语句重命名文件及移动文件的实现效果

    我们点击运行按钮,就可以实现上述各项要求。NAME语句简单,利用起来非常的简单,但这个语句利用的时候务必要结合其他的判断语句如dir函数来使用,我们在重命名一个语句的时候,首先要判断重命名之后的文件名是否已经存在,这种判断是必不可少的。

    在利用NAME语句的时候,我给出了上面的三种方案,这三种方案是我们实际工作时利用最多的。

    eb489b7c159aa24c2e562a37c6af4f45.png

    以上完全实现了我们的需求。

    本节知识点回向:

    1 NAME语句的作用和意义是什么?

    ② 利用NAME语句的时候需要注意什么?

    本讲代码参考文件:017工作表.xlsm

    d8b188756b4de639a012d7d663ce09a3.png

    积木编程的思路内涵:

    在我的系列书籍中一直在强调"搭积木"的编程思路,这也是学习利用VBA的主要方法,特别是职场人员,更是要采用这种方案。其主要的内涵:

    1 代码不要自己全部的录入。你要做的是把积木放在合适的位置然后去修正代码,一定要拷贝,从你的积木库中去拷贝,然后修正代码,把时间利用到高效的思考上。

    2 建立自己的"积木库"。平时在学习过程中,把自己认为有用的代码放在一起,多积累,在用到的时候,可以随时拿来。你的积木库资料越多,你做程序的思路就会越广。

    d8b188756b4de639a012d7d663ce09a3.png

    VBA的应用界定及学习教程:

    VBA是利用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA的应用界定。在取代OFFICE新的办公软件没有到来之前,谁能在数据处理方面做到极致,谁就是王者。其中登峰至极的技能非VBA莫属!

    我记得20年前自己初学VBA时,那时的资料甚少,只能看源码自己琢磨,真的很难。20年过去了,为了不让学习VBA的朋友重复我之前的经历,我根据自己多年VBA实际利用经验,推出了六部VBA专门教程,目前教程均通过32位和64位两种OFFICE系统测试。

    第一套:VBA代码解决方案 是VBA中各个知识点的讲解,教程共147讲,覆盖绝大多数的VBA知识点,提供的程序文件更是一座不可多得的代码宝库,是初学及中级人员必备教程;目前这套教程提供的版本是修订第二版,程序文件通过32位和64位两种OFFICE系统测试。

    第二套:VBA数据库解决方案 数据库是数据处理的专业利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,适合中级人员的学习。目前这套教程提供的是修订第一版教程,程序文件通过32位和64位两种OFFICE系统测试。

    第三套:VBA数组与字典解决方案 数组和字典是VBA的精华,字典是VBA代码水平提高的有效手段,值得深入的学习,是初级及中级人员代码精进的手段。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。

    第四套:VBA代码解决方案之视频 是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。这套教程是第一套教程(修订一版)的视频讲解,听元音更易接受。这套教程还会额外提供通过32位和64位两种OFFICE系统测试的程序文件。

    第五套:VBA中类的解读和利用 这是一部高级教程,讲解类的虚无与肉身的度化,类的利用虽然较少,但仔细的学习可以促进自己VBA理论的提高。这套教程的领会主要是读者的领悟了,领悟一种佛学的哲理。目前这套教程提供的版本是修订第一版,程序文件通过32位和64位两种OFFICE系统测试。

    第六套教程:《VBA信息获取与处理》是一部高级教程,涉及范围更广,实用性更强,面向中高级人员。教程共二十个专题,包括:跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网数据抓取、VBA延时操作,剪切板应用、Split函数扩展、工作表信息与其他应用交互,FSO对象的利用、工作表及文件夹信息的获取、图形信息的获取以及定制工作表信息函数等等内容。程序文件通过32位和64位两种OFFICE系统测试。

    上述教程的学习顺序:1→3→2→6→5或者4→3→2→6→5。提供的程序文件更是一座巨大的代码库,供读者使用,如需要可以WeChat: NZ9668

    73da902324209a0cddbc51ea39a777e1.png

    学习VBA是个过程,也需要经历一种枯燥的感觉

    "众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山"。学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。利人就是利己。我的教程助力给正在努力的朋友。

    "水善利万物而不争",绵绵密密,微则无声,巨则汹涌。学习亦如此,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时再去做自欺欺人的言论。要努力提高自己,用一颗充满生机的心灵,把握现在,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。学习时微而无声,利用时则巨则汹涌。"路漫漫其修远兮,吾将上下而求索"

    每一分收获都是成长的记录,怎无凭,正是这种执着,成就了朝霞的灿烂。最后将一阙词送给致力于VBA学习的朋友,让大家感受一下学习过程的枯燥与执着:

    浮云掠过,暗语无声,

    唯有清风,惊了梦中啼莺。

    望星,疏移北斗,

    奈将往事雁同行。

    阡陌人,昏灯明暗,

    忍顾长亭。

    多少VBA人,

    暗夜中,悄声寻梦,盼却天明。

    怎无凭!

    分享我多年工作实际经验的成果,随喜这些有用的东西,给确实需要利用VBA的同路人。回向学习利用VBA的历历往事,不胜感慨,谨以这些文字以纪念,

    分享成果,随喜正能量

    展开全文
  • 今天花了大半天时间完成了一个自动化业务:文件的自动重命名。 本程序启动前,Windows批处理将提取工作文件夹下的所有source文件,并将文件名保存在Source_File_List.xls中。 然后,Windows批处理程序将启动本程序...

    今天花了大半天时间完成了一个自动化业务:文件的自动重命名。

    本程序启动前,Windows批处理将提取工作文件夹下的所有source文件,并将文件名保存在Source_File_List.xls中。
    然后,Windows批处理程序将启动本程序所在的工作簿。启动后执行以下操作:
    1. 将Source_File_List.xls中的文件名复制到A列
    2. 将公式模板行中的公式自动填充到所有行
    3. 筛选出需要重命名的行
    4. 将筛选出的重命名语句写入一个rename.txt的临时文件中
    5. 将该临时文件另存为带有时间戳的.bat文件
    6. 将.bat文件移动到当前工作夹文件下,执行此批处理文件,完成自动重命名

     

    技术要点:

    1. 获取有效数据的行号

        '复制前清除Rename工作表中的数据(仅清除文本内容,不清除格式及行标题)
        lastRow = ThisWorkbook.Sheets("Rename").Range("A1048576").End(xlUp).Row() '获取最后一行行号
        ThisWorkbook.Sheets("Rename").Range("A3:E" & lastRow).ClearContents

    2. 将模板公式(位于表头第二行)填充到所有数据行

    '将公式从模板行(第二行)复制到第三行,然后自动填充到最后一行
        ThisWorkbook.Sheets("Rename").Range("B2:E2").Select
        Selection.Copy  '复制B2:E2单元格,即公式模板行
        ThisWorkbook.Sheets("Rename").Range("B3").Select    '将公式复制到B3单元格
        Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
        Selection.AutoFill Destination:=Range("B3:E" & lastRow)

    3. 筛选目标数据行,选择第一条可见行

    '筛选出重命名语句
        ThisWorkbook.Sheets("Rename").UsedRange.AutoFilter Field:=5, Criteria1:="Y"     'field = 5即Renamed?列的列号
    
        '筛选得到的重命名语句第一条记录所在行号
        firstVisibleRow = ThisWorkbook.Sheets("Rename").Range("A3:A" & lastRow).SpecialCells(xlCellTypeVisible)(1).Row()

    4. 将Excel中的内容写入txt文件

    Dim c As Range, i&
        Open ThisWorkbook.Path & "\rename.txt" For Append As #1
        For Each c In ThisWorkbook.Sheets("Rename").Range("D" & firstVisibleRow & ":D" & lastRow).SpecialCells(xlCellTypeVisible) '只写入可见行(有效的重命名语句)
            Print #1, c.Value
        Next
        Close #1

    5. 更改文件类型

    txtFileName = ThisWorkbook.Path & "\rename.txt"
        batchFileName = "rename_" & Format(Now, "yyyy-mm-dd hh_mm_ss") & ".bat"
        Name txtFileName As ThisWorkbook.Path & "\" & batchFileName '更改文件类型

    6. 移动文件

    Set FSO = CreateObject("Scripting.Filesystemobject")    '创建文件系统对象
        backupBatchFileName = Left(ThisWorkbook.Sheets("Rename").Range("A2"), 60) & batchFileName  '当前工作文件夹的路径保存在Rename工作表的H单元格中
    
        FSO.MoveFile Source:=ThisWorkbook.Path & "\" & batchFileName, Destination:=backupBatchFileName   '移动文件到工作文件夹

    7. VBA中执行批处理

    Call Shell(backupBatchFileName)   '执行批处理(似乎必须在当前路径下执行重命名操作,因为使用完整文件名时出错:incorrect syntax)

    一个小小的功能,使用的技术点还不少。这其中,好几个技术点对我而言是第一次应用,不错,VBA技术又提升了一步。

    展开全文
  • 可恢复文件批量重命名excel VBA程序 借用某大神作品
  • Sub rename(ByVal path As String, ByVal ext As String) ' 使用方法 call rename("文件夹路径","后缀格式") ' 使用后的效果:例如 00.jpg 01.jpg 02.jpg ...... Dim MyPath$, MyFile$, NewName$, i&...

    Sub rename(ByVal path As String, ByVal ext As String)

    ' 使用方法 call rename("文件夹路径","后缀格式")

    ' 使用后的效果:例如 00.jpg 01.jpg 02.jpg ......

        Dim MyPath$, MyFile$, NewName$, i&, j&, k&, fileAry() As String, newAry

        MyPath = IIf(Right(path, 1) = "\", path, path & "\")

        MyFile = Dir(MyPath & "*.*")

        i = 1

        Do

            ReDim Preserve fileAry(i - 1)

            fileAry(i - 1) = MyFile

            MyFile = Dir

            i = i + 1

        Loop Until MyFile = ""

        

        newAry = fileAry

        k = Len(CStr(UBound(fileAry)))

        For i = 0 To UBound(fileAry)

            newAry = Filter(newAry, String(k - Len(CStr(i)), "0") & i & ext, False)

        Next i

     

        For i = 0 To UBound(newAry)

            j = 0

            NewName = MyPath & String(k - Len(CStr(j)), "0") & j & ext

            Do Until Len(Dir(NewName)) = 0

                j = j + 1

                NewName = MyPath & String(k - Len(CStr(j)), "0") & j & ext

            Loop

            Name MyPath & newAry(i) As NewName

        Next i

     

    End Sub

     

     

    ' 使用方法 call rename("D:\Documents and Settings\zzllrr\桌面\新建文件夹",".jpg")

    转载于:https://www.cnblogs.com/zzllrr/archive/2011/07/28/2119625.html

    展开全文
  • 这里分享下,以前自己用Excel VBA做的批量重命名工具。代码其实也比较简单1.获取文件名选择一个文件夹目录,获取该文件夹目录下所有文件(不获取子文件夹)代码如下:Sub Getfd(ByVal pth) Set Fso = CreateObject...
  • 本文由两部分构成,【批量提取指定文件夹下文件名】以及【批量文件重命名】。嗯~简易操作~不涉及VBA编程~批量提取指定文件夹下文件名操作动画如下:如动画所示,先定义一个名称。名称为文件夹,引用位置设置的公式为...
  • EXCEL批量重命名文件

    2015-05-21 19:03:50
    在excel中使用VBA批量搜索文件,并重命名。
  • VBA包含了许多用于文件操作的语句和函数,可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍。 (一)文件处理1.Name 语句 语法:Name oldpathname As newpathname 功能:重命名一个文件...
  • VBA 操作文件综合

    2013-05-06 12:42:41
    VBA处理文件的高质量速度问题,文件处理,重命名
  • 二、利用VBA文件处理语句来处理文件 VBA包含了许多用于文件操作的语句和函数,可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍。 (一)文件处理1.Name 语句 语法:Name oldpathname ...
  • 利用excel中的vba可以对电脑中的文件及文件夹做一些常用的操作。 包括复制、重命名、删除等,其中一些简单的示例总结如下。 希望对一些经常需要批量处理文件的朋友有所帮助,也希望感兴趣的朋友多多指教!
  • 能够对文件进行批量重命名,输入文件路径即可
  • 本节将重点讲述如何新建、打开、删除、复制、移动和重命名文件和文件夹操作等。  对于文件和文件夹操作,我们一般通过下面方法:  。VB命令  。EXCEL对象  。引用其他动态库对象  。API函数  在...
  • vba操作文件及文件夹示例,希望对大家有用利用excel中的vba可以对电脑中的文件及文件夹做一些常用的操作。包括复制、重命名、删除等,其中一些简单的示例总结如下。希望对一些经常需要批量处理文件的朋友有所帮助,...
  • 二、利用VBA文件处理语句来处理文件  VBA包含了许多用于文件操作的语句和函数,可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍。 (一)文件处理   1.Name 语句 语法:Name ...
  • Nearly finished with my first VBA project and its looking quite good and people seem impressed. However, I have one little problem that I am sure could easily be cleaned up. At the min I have a button...
  • [VBA]文件操作及目录操作之一

    千次阅读 2008-05-07 14:56:00
    文件操作及目录操作二、利用VBA文件处理语句来处理文件 VBA包含了许多用于文件操作的语句和函数,可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍。(一)文件处理 1.Name 语句语法:...
  • ★★Excel-VBA操作文件四大方法之二

    千次阅读 2007-11-02 14:49:00
    ★★Excel-VBA操作文件四大方法之二二、利用VBA文件处理语句来处理文件 VBA包含了许多用于文件操作的语句和函数,可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍。(一)文件处理 1....
  • 二、利用VBA文件处理语句来处理文件 VBA包含了许多用于文件操作的语句和函数,可以满足绝大多数情况下的文件操作要求。下面我们按照操作目的进行一一介绍。(一)文件处理 1.Name 语句语法:Name oldpathname As ...
  • 相关知识点: 文件操作函数有时无法成功情况,有可能是windows文件夹权限,不允许删除修改等。 MkDir(“文件夹路径和名称”)...Name函数 重命名一个文件或文件夹 RmDir函数 删除一个空文件夹(该文件夹不能有任何...
  • 这个压缩包里边宏保存的时候丢掉了,我另外再传一个,见另一个资源... Excel vba 移动当前目录下边的excel的Sheet表到另一个新的excel表格,设计到文件创建 移动 删除 重命名等很多实用功能,备注很详细。适合初学者。
  • 1.基本的文件操作,如重命名,移动,删除,新建,文件大小,具体代码如下所示Option Explicit Sub 演示() Dim strpath As String, filename As String strpath = ThisWorkbook.path &amp; "\" '...
  • 这里分享下,以前自己用Excel VBA做的批量重命名工具。代码其实也比较简单1.获取文件名选择一个文件夹目录,获取该文件夹目录下所有文件(不获取子文件夹)代码如下:Sub Getfd(ByVal pth) Set Fso = CreateObject...
  • 学习Excel技术,关注微信公众号:excelperfect在工作表的列A中放置着一系列带有完整路径的文件名列表,想要将这些文件移至指定的文件夹并使用列B中相应的名称对其重命名,如下图1所示。图1下面的代码复制列A中路径...
  • 概述:数据以电商公司实际的应用需求出发,现在有某个平台的各店铺销售账单,现在需要匹配修改表名。原始表名如下: 现在需要批量将“速卖通店铺”修改为 “smt”,当表格...下面,我们看如何使用VBA来30秒搞定。1、...
  • Hi,大家好,上一期介绍了VBA在Excel上的基本的文件操作,例如新建,另存为,重命名等操作。有了之前的Excel文件操作的基础了,就可以进一步的学习激动人心的Excel的单元格的操作。同样,VBA也对单元格进行了抽象,...

空空如也

空空如也

1 2 3 4 5
收藏数 99
精华内容 39
关键字:

vba文件重命名