精华内容
下载资源
问答
  • 注意页眉页脚,与正文内容替换方法不同 注意页眉页脚,与正文内容替换不同 Sub replacement() ’ replacement Macro’ Application.ScreenUpdating = False Dim myPath As String Dim FileCount As Integer Dim ...

    注意页眉页脚,与正文内容的替换方法不同

    Sub replacement()
    ’ replacement Macro’ Application.ScreenUpdating = False
    Dim myPath As String
    Dim FileCount As Integer
    Dim i As Integer
    Dim myDoc As Document
    Dim filename As String
    Dim arr(100) As String
    Dim headr As Word.HeaderFooter

    ‘替换页眉’
    With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = “选择目标文件夹”
    If .Show = -1 Then
    myPath =.SelectedItems(1)
    Else
    Exit Sub
    End If
    End With

    filename = Dir(myPath & “*.doc”)
    FileCount = FileCount + 1
    arr(FileCount) = filename

    Do While filename <> “”
    filename = Dir
    If filename ="" Then
    Exit Do
    End If
    FileCount =FileCount + 1
    arr(FileCount) =filename
    Loop

    For i = 1 To FileCount
    Set myDoc =Documents.Open(myPath & “” & arr(i))
    For Each headr In myDoc.Sections(1).Headers
    With headr.Range.Find
    .Text =“E2020”
    .replacement.Text = “E2021”
    .Executereplace:=wdReplaceAll, Forward:=True, Wrap:=wdFindStop
    End With
    Next headr
    myDoc.Save
    myDoc.Close

    ’ Macro 替换正文内容’ myDoc.Windows.Application.Activate’ Selection.Find.ClearFormatting’ Selection.Find.Replacement.ClearFormatting’ WithSelection.Find
    ’ .Text =“E2020”
    ’ .Replacement.Text = “E2021”
    ’ .Forward =True
    ’ .Wrap =wdFindContinue
    ’ .Format =False
    ’ .MatchCase =False
    ’ .MatchWholeWord = False
    ’ .MatchByte =False
    ’ .MatchWildcards = False
    ’ .MatchSoundsLike = False
    ’ .MatchAllWordForms = False
    ’ End With
    ’ Selection.Find.Execute replace:=wdReplaceAll
    ’ ActiveDocument.Save
    ’ ActiveWindow.Close
    Set myDoc =Nothing
    Next
    Application.ScreenUpdating= True
    End Sub

    展开全文
  • 实例需求: 待处理字符重:`5*s+s[面积s=222m2]+s*5[套s=333m2s]+s+s/s^2` 处理规则:将保留中括号中的字符,将其他部分字符中的s替换数字3 结果为:`5*3+3[面积s=222m2]+3*5[套s=333m2s]+3+3/3^2`

    实例需求:
    待处理字符串:5*s+s[面积s=222m2]+s*5[套s=333m2s]+s+s/s^2
    处理规则:保留中括号中的全部字符,将其他部分字符中的s替换数字3
    结果为:5*3+3[面积s=222m2]+3*5[套s=333m2s]+3+3/3^2
    示例代码如下。

    Sub Demo()
        Dim strWord As String
        Dim objRegExp As Object
        Set objRegExp = CreateObject("VBSCRIPT.REGEXP")
        strWord = "5*s+s[面积s=222m2]+s*5[套s=333m2s]+s+s/s^2"
        With objRegExp
            .Global = True
            .Pattern = "s(?=[^\]]*?(\[|$))"
            .ignoreCase = True
            strWord = .Replace(strWord, "3")
            Debug.Print strWord
        End With
        Set objRegExp = Nothing
    End Sub
    

    【代码解析】
    第4行代码创建正则表达式对象。
    第5行代码设置初始字符串变量。
    第8行代码设置匹配模式。

    正则表达式说明
    [^\]]*?非贪懒匹配非]字符
    (\[|$)匹配[或者字符串结束符
    (?=[^\]]*?(\[|$))顺序肯定环视,用于判断字符之后的字符符合指定模式

    简要总结需要定位的s的特征是:其后至下一个右括号或者字符串结束符(含)之间,必须存在一个左括号或者字符串结束符。
    在这里插入图片描述
    第10行代码执行正则替换,将s替换为3。
    第11行代码输出结果。

    展开全文
  • 如何用VBA批量将编码前两位替换成文本“NO”? 代码 替换结果 72587 NO587 40213 NO213 24632 NO632 32761 NO761 61285 NO285 38215 NO215 56292 NO292 11726 ..

    目录

    示例:

    实现代码

    MID语句

    使用MID语句的注意事项

    MID语句的优势和局限性


    示例:

        如图所示,该表A列为某公司的商品编码,其编码前两位为地区代码。如何用VBA批量将编码前两位替换成文本“NO”?

    代码替换结果
    72587NO587
    40213NO213
    24632NO632
    32761NO761
    61285NO285
    38215NO215
    56292NO292
    11726NO726
    77716NO716
    80053NO053
    59844NO844
    53609NO609
    23208NO208
    72026NO026

    实现代码

    Option Explicit
    
    Sub 替换指定位置的字符()
        Dim RowN As Long
        Dim sCode As String
        For RowN = 2 To Cells(Rows.Count, "A").End(xlUp).Row
            '获取代码
            sCode = Cells(RowN, "A").Value
            '替换代码
            Mid(sCode, 1, 2) = "NO"
            '写入结果
            Cells(RowN, "B").Value = sCode
        Next
    End Sub
    

    MID语句

    MID语句可以用于替换文本字符串中指定位置的字符,其语法为

    Mid(stringvar,start[,length]) =string

        其中,参数stringvar表示被更改的字符串(String类型)变量名。参数start表示stringvar中被替换的字符开始位置。参数length表示被替换的字符数。String表示替换部分stringvar的字符串。
        在使用MID语句替换之前,被替换的字符串应赋值给某个字符串变量,因而本例首先读取单元格的值至一个字符串变量中,然后进行替换。本例中,需要以字符“NO”批量替换字符串中头两位的字符。由于被替换的字符与替换字符的长度相等,且位置相同,因而可以使用MID语句进行替换,并设置Start参数为1,length参数为2,string参数为“NO”。

    使用MID语句的注意事项

        MID语句的第3个参数length是一个可以省略的参数。当该参数省略时,则替换的字符长度以参数string所表示的文本为准,但不会增加stringvar所表示的文本的长度,比如,若stringvar所表示的文本长度为5,start参数设置为3,string参数长度设置为6,则程序执行相当于以下的替换。

    Mid(stringvar,3) =Left(string,3)

        此外,当length参数小于string所表示的字符串长度时,则程序将会取string字符串最左端的长度为length的字符串替换stringvar中的字符,即

    Mid(stringvar,3,length)=Left(string,length)

    MID语句的优势和局限性

        使用lMID语句进行替换时,其速度明显要快于replace函数。但是MID语句不能改变字符串的长度,也不能进行不等长的字符串替换,即无法实现3个长度的string字符去替换stringvar中长度为2的字符。
     

    展开全文
  • 今天想要实现自动的替换掉word里面的指定的字符,于是想通过vb实现字符的相关替换。具体的代码如下: vb 代码: Function ReplaceText(Optional value As String) Dim replaceValue As String replace...

    今天想要实现自动的替换掉word里面的指定的字符,于是想通过vb实现字符的相关替换。具体的代码如下:

    vb 代码:
    
    
    
    Function ReplaceText(Optional value As String)
       Dim replaceValue As String
       replaceValue = value
       Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        With Selection.Find
            .Text = "将要替换的内容"
            .Replacement.Text = replaceValue '替换的内容
    .Forward
    = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Function

    至此word里面的相关的文字被全部的替换掉了。

    转载于:https://www.cnblogs.com/gxgd/p/9240243.html

    展开全文
  • vba:根据一个sheet内容批量替换整个工作簿,vba:根据一个sheet内容批量替换整个工作簿,vba:根据一个sheet内容批量替换整个工作簿,vba:根据一个sheet内容批量替换整个工作簿,vba:根据一个sheet内容批量替换整个工作...
  • Word VBA教程:查找并替换文字或格式

    万次阅读 2018-08-18 10:48:54
    通过Find 和Replacement对象可实现查找和替换功能。Selection 和Range对象可以使用 Find对象。从 Selection 或 Range对象访问 Find对象时,查找操作会略有不同。 查找并选定文字 如果从 Selection对象访问 Find...
  • Word-VBA替换文字

    千次阅读 2020-09-09 12:11:13
    '工具-引用 ...WordDoc.Range.Find.Execute findtext:="被替换掉啥", ReplaceWith:="替换成啥", MatchWildcards:=True, Forward:=True, Replace:=wdReplaceAll, Wrap:=wdFindContinue 如果不引用,.
  • EXCEL VBA字符串替换

    万次阅读 2015-03-30 17:00:52
    问题描述因为模型结构中字段名...打开VBA这里是使用excel自带的VBA进行处理。 在excel里调出VBA的方法如下图所示。在某个表单上右击,并点击”查看代码“。EXCEl2010的VBA窗口打开如下解决思路将原始字段按照符号”_
  • 工作中经常遇到对word的批量操作,如果重复的操作达到上百甚至更多后,也是不小的工作量,在此可以使用word的宏来自动执行重复的操作,提高办公效率,特写文档举列说明具体使用
  • VBA批量替换TXT或.LOG文件内容

    千次阅读 2020-01-17 18:39:41
    Sub 替换() Dim tmp As String Dim file As String file = Dir(ThisWorkbook.Path + "\*.sql") Do While file <> "" Open ThisWorkbook.Path + "\" + file For Binary As #1 str= String(LOF(1), vbNull.....
  • 文本内容 批量替换 很好用的!!
  • 由于商品目录升级,现商品编码中以“GXGY”的所有记录统一更换为“GXGYA”,该如何通过VBA批量实现? 商品编码 替换结果 GXGY023 GXGYA023 GXGY024 GXGYA024 QDJC022 QDJC022 qdjc023 qdjc...
  • 每次手工更改都比较耗费时间,加上公司电脑不能装未授权的软件,且只支持英文,于是就根据这个需求,参考一些网上的代码,并做了一些升级,增加了界面、备份等功能,制作出这个VBA。下面是几个主要部分的VBA代码。 ...
  • Sub CommandButton1_Click() On Error Resume Next Dim fd As FileDialog, it Dim fso As Object Dim file_name As String Dim strFolder As String Dim wb As Workbook Dim i As Inte...
  • 通过这款软件,您可以方便的大批量的将PDF文件中指定的一个词,短语或者句子替换成您想要文字,甚至可以更换替换后文字的字体和文字修饰比如加粗、斜体、下划线和删除线等等。除了中文、英文之外,它还支持几乎所有...
  • 如要将一个Word文档内的两个汉字中间的空格替换掉(之...查找:([一-﨩])( )([一-﨩])替换:13写成VBA代码:Sub 替换()With Selection.Find .Text = "([一-﨩])( )([一-﨩])" .Replacement.Text = "13" .Forward = Tr...
  • 利用VBA可以轻松地将某文件夹下的所以WORD文档中的某个字符串全部替换为其他字符串。下面是具体操作步骤。  第一,首先将需要批量替换的多个Word文档放在同一文件夹下面。  第二,新建一空白Word文档,右击空白...
  • 想把颜色替换成保护视力一点的灰色,但是找了N久也没找到在图形界面上直接操作的方法,于是在MSDN上晃了晃,Google了一下,写了个VBA小脚本,只替换选定颜色,这样可以保留红色或者其他颜色的高亮,顺便把让人分心的...
  • 很多人忙于工作,疲于工作,烦于工作,不知道VBA是一道独特的风景,需要你的欣赏,需要你用心去开发。在我20多年的VBA实践中,越来越感到此处风景独到,此处风景独好,希望大家利用VBA,开垦VBA,让代码为你服务。我...
  • 如何利用VBA批量更改Excel文件的内容

    千次阅读 2019-09-05 15:40:10
    心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 获奖级别,得由主办方来更改,但是如果一个一个打开的话这样就...
  • EXcel VBA从一个工作簿的指定区域拷贝内容到另一个工作簿的指定区域) Sub createtable() Dim Quantity As Long Dim loop_i As Long Dim position As String Quantity = ActiveSheet.Range("D45") If IsEmpty(Range...
  • NULL 博文链接:https://parra.iteye.com/blog/899893
  • Sub changeFile() '出错时直接跳到完成 On Error GoTo 100 Dim file As String Dim basePath As String Dim val basePath = InputBox("请输入路径") If basePath = "" Then MsgBox "请输入路径" ...
  • 批量修改替换多个Word文档中同一内容的方法
  • 发现系统批量搜索Excel中的文字不好用,替换更无从谈起,于是利用VBA自己搞。 1、点击固定一个单元格,激发对话框打开事件,选定要搜索的文件夹。 2、选定后自动在该单元格下列出文件夹路径,和文件列表同时加载...
  • Visual Basic关于txt文本文件指定行修改的一段代码。对于处理txt文本文档进行简化,可直接修改指定行。
  • office word利用VBA指定的多个字符字体批量标红加粗 场景说明:比如我有一个英文的word文档,无需要把不认识的单词标成红色并且加粗,如果一个一个替换太麻烦,我想到用vba来实现 ,例如我要把abandon、...
  • 可以为以下常量之一:XlWhole或者xlPart,用来指定所查找的数据是与单元格内容完全匹配还是部分匹配,默认值为xlPart。对应于“查找与替换”对话框中,“单元格匹配”复选框。   案例:根据工作表名称查找标题...
  • 这篇实现WPS文字工具提供的几个小功能: Sub 段落首行缩进转为空格() Dim ib As Paragraph For Each ib In ActiveDocument.... '缩进不一定是2个字符,只要缩进不为0就替换,避免标题、主送对象等误操作 If i
  • Dim WordApp As Object Set WordApp = CreateObject("Word.Application") WordApp.Visible = True Dim WordDoc As Object ...大家可以根据需要将“美元”,“人民币”以变量来替换掉就可以了,此处我就不赘述了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,273
精华内容 909
关键字:

vba替换指定内容