精华内容
下载资源
问答
  • 用EXCEL VBA编写的文件名批量更改器,可按要求批量更改文件名
  • Sub 批量更改word要素编号及文件名() '此代码为指定文件夹中所有选取的WORD文件的进行格式设置 Dim MyDialog As FileDialog, vrtSelectedItem As Variant, Doc As Document Dim NewName As Stri

    最近在工作中遇到某一文件夹下的许多文件,名字和内容有大量需要替换,一个个手工替换很麻烦,于是修改了一段代码:

    Sub 批量更改word要素编号及文件名() '此代码为指定文件夹中所有选取的WORD文件的进行格式设置
    Dim MyDialog As FileDialog, vrtSelectedItem As Variant, Doc As Document
    Dim NewName As String, thisPath As String
    ' On Error Resume Next '忽略错误
    '定义一个文件夹选取对话框
    Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
    With MyDialog
        .Filters.Clear '清除所有文件筛选器中的项目
        .Filters.Add "所有 WORD 文件", "*.doc", 1 '增加筛选器的项目为所有WORD文件
        .AllowMultiSelect = True '允许多项选择
        If .Show = -1 Then '确定
            myPas = InputBox("请输入替换成的编号:")
            Application.ScreenUpdating = False
          
            For Each vrtSelectedItem In .SelectedItems '在所有选取项目中循环
              Set Doc = Documents.Open(FileName:=vrtSelectedItem, Visible:=False)
             'Doc.Name = Replace(Doc.Name, "流程编号+", myPas)
            Doc.ActiveWindow.Selection.Find.Execute "流程编号+", , , , , , , , , myPas, wdReplaceAll
            ' Doc.SaveAs FileName:=Replace(vrtSelectedItem, "流程编号+", myPas)
     
            Doc.Close True
            
            '修改文件名
                    NewName = Replace(vrtSelectedItem, "流程编号+", myPas&" ")
                    If NewName <> "" Then
                        Name vrtSelectedItem As NewName
                    End If
             Next
            Application.ScreenUpdating = True
    
        End If
    End With
    Set Doc = Nothing  '释放变量
    MsgBox "编号更改完毕,请检查", vbInformation
    End Sub


    展开全文
  • 在EXCEL表格中利用VBA文件名进行批量更改。 利用EXCEL表格的便利性,将表格中第一列的文件名修改为第二列的文件名
  • VBA批量替换内容生成Excel文件

    千次阅读 2019-01-25 23:30:51
    VBA批量替换内容生成Excel文件 工作中有时候需要根据模板Excel文件不断的创建新的Excel文件,并且每个新的Excel文件都只是一部分特定的内容修改过,显然利用程序自动生成是比较好方法。 根据数据源文件和模板文件...

    工作中有时候需要根据模板Excel文件不断的创建新的Excel文件,并且每个新的Excel文件都只是一部分特定的内容修改过,显然利用程序自动生成是比较好方法。
    根据数据源文件和模板文件生成Excel文件
    1,数据源文件
    数据源文件
    2,模板文件
    模板文件
    3,生成Excel文件
    输出文件
    VBA代码

    Sub 工作簿替换()
    Application.ScreenUpdating = False  '关闭屏幕更新,加快程序运行
    
        Dim wb1 As Workbook           '数据源文件
        Dim ws1 As Worksheet          '数据源文件中的目标worksheet
        Dim wb As Workbook            '模板文件
        
        Set wb1 = Application.Workbooks.Open("C:源文件.xlsx")   '打开数据源文件
        Set ws1 = wb1.Worksheets(1)    '打开数据源文件的第一个worksheet
        Set wb = Application.Workbooks.Open("C:\模板文件.xlsx")  '打开模板文件
        row1 = ws1.UsedRange.Rows.Count  '读取总行数
        
    For i = 2 To row1:
        q = ws1.Cells(i, 1)  '替换数据
        w = ws1.Cells(i, 2)  '文件名
        e = ws1.Cells(i, 3)  '被替换数据
        
        For x = 1 To wb.Sheets.Count:  '利用循环在所有工作表替换
            wb.Worksheets(x).Cells.Replace What:= e, Replacement:= q   '替换代码
            wb.SaveCopyAs Filename:="C:\输出文件" & "\" & w & ".xlsx"  '生成文件名
        Next
    Next
    
    Application.ScreenUpdating = True  '打开
    End Sub
    

    问题:
    生成新的文件后,原始模板文件内容会被替换,无法用常量数据进行替换,循环读取模板文件也无法解决这个问题,只能在数据源文件后面加一栏被替换数据(总之,能用就行/手动狗头)

    展开全文
  • 利用EXCEL批量自定义修改文件名

    千次阅读 2020-03-25 17:48:34
    1. 在文件目录下,新建一个txt文件,打开txt文件输入 dir *.* /b>rename.xlsx,其中*.*表示文件的类型,本例中以 json文件为例,那么 *.* 就...2. 打开rename.xlsx文件,将新文件名输入到其中一列,此时原文件...

    1. 在文件目录下,新建一个txt文件,打开txt文件输入 dir *.* /b>rename.xlsx,其中 *.* 表示文件的类型,本例中以 json文件为例,那么 *.* 就应该是*.json,输入完成后点击保存,并将txt文件后缀修改成bat,然后双击运行,得到一个名为rename.xlsx的文件。

    2. 打开rename.xlsx文件,将新文件名输入到其中一列,此时原文件名在A列,新文件名在B列,然后在C列输入REN,在D列输入公式 =C2&" "&A2&" "&B2,其中两个" "之间是空格。在D列得到以REN开头的一列文本,选择复制文本。

    注意结果列的格式为:REN 原文件名 新文件名

    3. 在当前文件夹中再新建一个txt文件,将刚复制的内容粘贴到里面,注意,此处不是直接保存,而是另存为一个后缀为bat的文件,文件名随意取,然后将编码修改成ANSI,如果此处不修改编码,批量修改后的文件名会乱码。最后双击REN.bat文件,所有文件都会被批量修改。

    展开全文
  • 如何利用VBA批量更改Excel文件的内容

    千次阅读 2019-09-05 15:40:10
    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一个打开的话这样就...

    心得(5):利用VBA批量更改Excel文件的内容
    问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示:
    在这里插入图片描述
    获奖级别,得由主办方来更改,但是如果一个一个打开的话这样就很麻烦,(如何把所有文件分为,一等奖,二等奖等各个文件,暂时还不知道,我是通过一个个来排除的)在把他们分开之后,直接利用VBA快速更改,

    更改步骤:

    1. 首先还是环境配置,避免出现差错如下所示:
      在这里插入图片描述
    2. 然后开始循环每个文件,就像之前的文件一样
    3. 然后打开每个文件后,更改特定的内容:
      在这里插入图片描述
      一样要记得保存文件,VBA退出文件是不会帮你自动保存的
    4. 不断循环,然后退出程序即可

    源码如下:

    Sub 批量改名()
        Dim mypath As String, myname As String, awbname As String
        Dim wbcount As Integer
    
        '关闭excel的刷新
        Application.ScreenUpdating = False
    
        '禁止弹出对话框
        Application.DisplayAlerts = False
        
        '得到本文件的相对地址
        mypath = ActiveWorkbook.Path
        
        '当前工作的excel的文件名
        awbname = ActiveWorkbook.Name
    
        '任意打开文件夹下的某一个文件
        wbcount = 0
        myname = Dir(mypath & "\" & "*.xlsx")
    
        '如果当前的文件名为空的字符串("")表示已经没有更多的文件了跳出循环
        Do While myname <> ""
            If myname <> awbname Then
                '打开当前的文件夹
                Set wb = Workbooks.Open(mypath & "\" & myname)
    
                wbcount = wbcount + 1
                
                Range("I" & 5).Value = "三等奖"
    			
    			Range("I" & 5).Font.ColorIndex = 0
    			
    			'找了很久才找到了这个错误,因为如果不保存的话退出是不会有改变的
                wb.save
    			
                '关闭文件
                wb.Close False
                
            End If
            '随机打开本文件夹的另一个文件
            myname = Dir
        Loop
    
    '结束程序并且恢复之前的操作
    MsgBox "一共更改了 " & wbcount & " 个文件"
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    
    End Sub
    
    展开全文
  • 首发 公众号 :EXCEL办公实战前两日,有小伙伴群里问如何批量重命名文件,...批量获取文件名传统的方式又是VBA,又是浏览器法,乱七八糟,试试我这个,so easy最简单的方式就是,文件夹中Ctrl+A,全选,按照Shift,右...
  • Word文档批量替换工具

    万次阅读 2019-07-01 11:25:01
    日常工作中可能会碰到这样的情况,就是需要批量替换一些文件的内容,如合同、产品说明、ISO认证标准化文档(质量手册、程序文件、管理手册)、项目推广方案等,先做批量替换,再进行修改,可以节省大量时间。...
  • '本代码是利用VB批量导入CSV文件,并且每个文件存为一个Sheet '前提是所有CSV文件和运行宏的这个文件在同一个文件夹 '不智能的地方是我预先知道有多少个CSV文件,然后把文件名改为1.csv,2.csv,... '所以循环的...
  • 比如批量改页眉页脚,从文件名取数字作为页眉等等。 以下是代码,直接在Word的VBA编辑器里粘贴上去就OK了。 Sub 批量转PDF() Dim i As Variant Dim t As Variant Dim str As String, n As Long, fd, Nam As String ...
  • 前两日,有小伙伴群里问如何批量重命名文件,也就是修改...批量获取文件名传统的方式又是VBA,又是浏览器法,乱七八糟,试试我这个,so easy最简单的方式就是,文件夹中Ctrl+A,全选,按照Shift,右击,复制为路径到Ex...
  • '查找某路径下面所有的txt文档并弹出文件名 file = Dir("C:\Users\星驰太帅了\Desktop\excel\*.xlsx") a = SetValue(basePath, file, val) Debug.Print "根文件下面的文件 " & file '如果文件名不为空代表还有...
  • 文件内有具体操作介绍 1:dos获取文件目录 2:自动截取文件名 3:手工设定新名 4:复制dos命令并执行
  • VBA批量处理多个Word文档

    千次阅读 2021-01-20 11:19:45
    前言 工作里面需要处理上百个Word文档,所以就开始在网上查找宏相关的代码 由于第一次接触宏相关的代码,所以写得肯定不会很...Sub 批量操作WORD() Application.ScreenUpdating = False '冻结屏幕,打开各个文件及关闭
  • 今天女朋友工作上出了点麻烦,就是要向Word中批量添加图片以及整理成Excel数据的图片名。其中图片名需要设置段落和文字格式,有些图片还是共享一个图片名。这可是个繁琐而枯燥的工作。我一直相信重复劳动是对人这...
  • 可以将文件名批量改为PART NUMBER中的名字省去了另存,支持批量修改CATIA文件名的宏文件“SuchenErsetzenImProduktbaum_mit_Datei.catvbs”
  • 无需vba,无需了解宏,Excel懒人工具。----后续功能还在完善中...... 包含以下功能: Excel写公式工具: 方便公式编写、公式学习,对于不了解公式的人,通过汉字描述自动生成Excel公式。支持Excel多种公式,支持...
  • 发现系统批量搜索Excel中的文字不好用,替换更无从谈起,于是利用VBA自己搞。 1、点击固定一个单元格,激发对话框打开事件,选定要搜索的文件夹。 2、选定后自动在该单元格下列出文件夹路径,和文件列表同时加载...
  • 获取当前文件夹的名称(CurDir 函数)当你使用文件时,经常会需要知道当前文件夹的名称,你使用CurDir函数轻易地获取该信息:CurDir([drive])Drive是一可选参数,如果你忽略它,VBA将使用当前驱动(drive)。CurDir函数...
  • 处理文件名单 单元格分列:将文件名称进行批量处理 执行分列操作后,从文件名中提取待比对的信息 单元格分列https://www.zhihu.com/video/1197632154426068992 使用Excel条件格式对名单进行比对 开始=>条件格式=>...
  • 以下是目录: 1# 批量修改文件 2# 批量修改文件夹 3# 批量修改工作表名 对于第一部分,这里可以细分有两种。 两种方法都属于比较清晰易懂的代码。 A)VBA 代码中要注意的是,最重要有两点。一是要判断,判断那些需....
  • 各种原因导致数据丢失后,数据恢复软件恢复出来的word文档,名字都被改为数字序号的类型,文档数量太多时要改会原来的名字就是巨大的工作量,有时候失去意义,本工具能从word文档的标题对数字标题进行改名,功能强大...
  • 在Excel中应用VBA批量导入数据

    万次阅读 2004-11-27 16:07:00
    在Excel中应用VBA批量导入数据 马维峰 1. 问题由来当一个漂亮MM向你请教如何录制并修改一个宏,把她每次的实验数据(几十个数据文件)导入Excel时,你感慨道:“很多Excel专家会录制一个宏来解决问题,然后每次...
  • 处理完数个word,回头一看,才发现前面...马上用vba处理一下。 把这些word放在D盘根目录。逐个遍历并打开,逐一修改保存退出。OK! 代码如下: Sub a() Dim doc As Document, myFile As String Dim a As Ran
  • 批量替换多个字符

    2010-11-18 11:31:00
    在字符处理过程中,我们可能需要对某些字符进行替换,而且可能会有多个字符,请比较下面两种写法:一个是用标准的replace函数,另外一个则是用正则表达式string input = "1,;3^e"; Console.WriteLine(input....
  • domino批量替换邮件模板

    千次阅读 2013-03-28 14:58:46
    1、 创建一个列出希望升级的数据库的文本文件,并让邮件转换实用程序使用它来仅升级那些文件(既可以实现批量转换,也可以实现在文本文件指定哪些文件,哪些文件就可以获得升级) 2、 命令格式:load convert -f –...
  • 表格收回来后Excel表格上填入对应姓名,通过VBA更改电子档照片文件名。(此次重写使用了类模块和fso,并对插入的图片类型进行了过滤,避免了插入非图片类型文件) 大概流程如下图: 操作界面如下图: ...
  • 第一步,打开当前目录的命令行窗口,操作如下:第二步:在命令行窗口运行命令:ren *.* *.jpg,结果如下:
  • sw+vba批量操作=180822

    2019-09-29 21:10:03
    Sub 插入孔() Call sw初始化("") 总数 = SelMgr.GetSelectedObjectCount2(-1) Set 边线1阵列方向 = Nothing For i = 1 To 总数 Set 对象 = SelMgr.GetSelectedObject6(i, -1) ... nSelTy...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 261
精华内容 104
关键字:

vba批量替换文件名