Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用VBA在多个Word文档中查找和替换文本

如何使用VBA在多个Word文档中查找和替换文本
EN

Stack Overflow用户
提问于 2021-01-22 20:54:39
回答 1查看 50关注 0票数 0

我正在寻求帮助来查找和替换多个Word文档中的文本。我只在一个文档中执行此操作的代码,但不知道如何遍历同一文件夹中的所有文档。代码如下:

代码语言:javascript
运行
AI代码解释
复制
Sub storyrangesearch()
    
For Each myStoryRange In ActiveDocument.StoryRanges
    With myStoryRange.Find
        .Text = " Of "
        .Replacement.Text = " of "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = True
        .MatchWholeWord = True
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
Next myStoryRange
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-22 21:39:05

例如:

代码语言:javascript
运行
AI代码解释
复制
Sub Demo()
Application.ScreenUpdating = False
Dim strFolder As String, strFile As String, wdDoc
strFolder = GetFolder
If strFolder = "" Then Exit Sub
strFile = Dir(strFolder & "\*.doc", vbNormal)
While strFile <> ""
  Set wdDoc = Documents.Open(FileName:=strFolder & "\" & strFile, AddToRecentFiles:=False, Visible:=False)
  With wdDoc
    With .Range.Find
      .Text = " Of "
      .Replacement.Text = " of "
      .Format = False
      .Forward = True
      .MatchCase = True
      .Wrap = wdFindContinue
    .Execute Replace:=wdReplaceAll
    End With
    .Close SaveChanges:=True
  End With
  strFile = Dir()
Wend
Set wdDoc = Nothing
Application.ScreenUpdating = True
End Sub
 
Function GetFolder() As String
Dim oFolder As Object
GetFolder = ""
Set oFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Choose a folder", 0)
If (Not oFolder Is Nothing) Then GetFolder = oFolder.Items.Item.Path
Set oFolder = Nothing
End Function

要将处理扩展到子文件夹,请参阅:https://www.msofficeforums.com/117894-post9.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65852638

复制
相关文章
在Excel中通过VBA对Word文档进行查找替换
哆哆Excel
2023/09/09
7380
在Excel中通过VBA对Word文档进行查找替换
pycharm 查找替换_word查找和替换功能可以实现
ctr(control) + shift + r (replace: 替换)
全栈程序员站长
2022/09/25
1.2K0
pycharm 查找替换_word查找和替换功能可以实现
Word VBA技术:统计指定文本在文档中出现了多少次
有时候,我们可能需要统计特定的文字/文本在文档中出现的次数,例如某某报告中出现了多少次“人民”,某某文件中写了多少个“精神”,等等。一个一个数肯定是最愚蠢的方法,特别是对于万字长文来说,不仅费时,而且不准确。而使用程序来帮助我们统计是好方法之一。
fanjy
2023/02/24
8190
关于在vim中的查找和替换
在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。
休辞醉倒
2019/07/25
26.1K0
word如何自动分割成多个文档
Sub 每N页分割为一个新文档__保存到同目录下() '特别鸣谢"雨雪霏霏、守柔版主。 Dim MyPath As String, PageCount As Integer Dim StartRange As Long, EndRange As Long, MyRange As Range Dim Fn As String, MyDoc As Document, i As Integer On Error Resume Next Application.ScreenUpdating = False MyPath = ActiveDocument.Path '取得文档路径 PageCount = Selection.Information(wdNumberOfPagesInDocument) '取得文档总页数 N = InputBox("按每几页拆分?默认为3:", "请输入数值", 3) Selection.HomeKey unit:=wdStory '将光标移至文档起点 For i = 1 To PageCount / N + (PageCount Mod N) '设置循环次数,如3则表示每3页做一次循环 StartRange = Selection.Start '取得该页的第一个字符位置 Selection.EndKey unit:=wdLine '将光标移动到该页首行的最后位置 Fn = i & ActiveDocument.Name '-1的目的是防止该页首行含有段落标记,导致出错. If i * N >= PageCount Then '如果循环到达最后一页 EndRange = ActiveDocument.Content.End '将文档最后位置赋值于EndRange Else For J = 1 To N Selection.GoToNext (wdGoToPage) Next J EndRange = Selection.Start End If Set MyRange = ActiveDocument.Range(StartRange, EndRange) '将N页中的内容进行复制 MyRange.Copy Set MyDoc = Documents.Add '新建一空白文档 With MyDoc .Content.Paste '在新文档中粘贴 .Content.Paragraphs.Last.Range.Delete '删除新文档末尾多出来的一个段落标记 .SaveAs FileName:=MyPath & "/" & Fn '保存新文档到原文档所在目录。如果删除"MyPath & "/" & ",。则保存到"我的文档"中。 .Close '关闭新文档 End With Next Application.ScreenUpdating = True End Sub
用户1191760
2019/02/27
9340
word如何自动分割成多个文档
Sub 每N页分割为一个新文档__保存到同目录下() '特别鸣谢"雨雪霏霏、守柔版主。 Dim MyPath As String, PageCount As Integer Dim StartRange As Long, EndRange As Long, MyRange As Range Dim Fn As String, MyDoc As Document, i As Integer On Error Resume Next Application.S
用户1272546
2018/06/04
1.5K0
Word VBA技术:对文件夹中的所有文档进行批量替换操作
下面的代码将对指定文件夹中的所有文档中的内容执行指定的替换操作。执行代码后,仅在打开第一个文档后,显示“查找和替换”对话框,供用户在对话框中设置替换的文本,然后按下“全部替换”按钮,接着按下“关闭”按钮。此时,程序会询问用户是否处理指定文件夹中的所有文件,如果单击“是”,则使用刚才在“查找和替换”对话框中输入的设置处理其余文件。
fanjy
2023/02/24
2.1K0
【VBA】在excel中检索文本
虽然在excel文件中检索的vba代码不知道写了多少遍了,每次需要的时候,都是从网上找,然后写。实在是低效的做法。从网上找了一段代码,放在此处,以后需要的时候可以随手拿来。
东风压倒西风
2022/09/06
2.9K0
Word VBA技术:确定文档页数
前言:专门讲Word VBA的文章很少,可能专门研究Word VBA的人不多,与Excel VBA相比,Word VBA似乎用处少一些,这可能是对Word VBA了解不多的缘故。然而,无论如何,懂得一些Word VBA的知识,或者平时收集一些Word VBA代码,在需要用时或者在考虑解决方案时,往往能够起到作用。
fanjy
2023/02/16
7180
在vim和vi中查找和替换字符串
Vim是最受欢迎的命令行文本编辑器。它预装在macOS和大多数Linux发行版上。在Vim中查找和替换文本非常容易。 基本查找和替换 在Vim中,可以使用:substitute(:s)命令来查找和替换文本。 要在Vim中运行命令,必须处于normal模式,这是启动编辑器时的默认模式。要从其他任何模式返回normal模式,只需按 Esc键。 替换命令的一般形式如下: :[range]s/{pattern}/{string}/[flags] [count] 该命令在[range]中的每一行中搜索{patter
入门笔记
2022/06/02
17K0
idea如何查找替换_pycharm查找替换
在平时敲代码的时候经常碰到,咦,这个变量名好像不太合适,但又写了好多这时候可以怎么办呢? Pycharm/Idea里面给我们准备了替换功能
全栈程序员站长
2022/09/27
2.7K0
idea如何查找替换_pycharm查找替换
Word VBA技术:将文档中的超链接转换为普通文本(取消超链接)
通常,当我们在文档中键入超链接形式的文字并按回车键时,Word会自动识别并添加超链接。当然,你可以设置Word选项来阻止自动转换功能。具体设置方法如下:
fanjy
2023/02/24
3.1K0
Word VBA技术:将文档中的超链接转换为普通文本(取消超链接)
Word VBA技术:对文件夹中的所有文档进行批量替换操作(加强版)
在上篇文章:《Word VBA技术:对文件夹中的所有文档进行批量替换操作》中,我们给出了一段代码,可以遍历指定文件夹中的所有文档,并执行指定的查找和替换操作。然而,这只适用于文件夹中没有子文件夹的情形。如果文件夹中含有子文件夹,则可以使用下面的代码。下面的代码将遍历指定文件夹及其子文件夹中的所有文档,并执行指定的查找和替换操作。
fanjy
2023/02/24
2.2K0
VBA编程练习04. 在多个单元格区域查找多个数
如下图1所示的工作表,在单元格区域A2:F2中放置的是要查找的数值;在列H至列BF、行9至行30是被查找的区域,这个区域分17个小区域,每个区域3列,其单元格中要么为空,要么放置着一些数值。
fanjy
2019/07/23
1.6K0
如何使用es和grafana在tempo中查找trace
Grafana tempo是最近发布的的分布式追踪后端,跟踪发现依赖于其他数据源集成。Tempo的工作是存储大量跟踪,将其放置在对象存储中,并通过ID检索它们。日志和其他数据源使用户能够比以往更快,更强大地直接跳转到跟踪。
有点技术
2020/12/22
4.2K0
[实用][更新中]Java Apache POI 打印Word文档工具(含文本替换,动态表格功能)
你好!这是由一个刚毕业的学生,由于项目所需,需要通过Java后台的方式打印Word文档,因此在对大量能操作word的Java API中,选择了Apache POI。以下将简单分享一下这个在学习和开发这个基于POI的word文档打印工具时,一些心得:
RRT冻羊
2022/11/03
4.1K0
[实用][更新中]Java Apache POI 打印Word文档工具(含文本替换,动态表格功能)
VBA专题06-2:利用Excel中的数据自动化构建Word文档—熟悉Word VBA
VBA是一种通用编程语言,适用于任何内置有VBA的应用程序,因此Word VBA与Excel VBA的语法一样,只是处理的对象模型不同。下面,我们通过一些示例语句及其作用描述来熟悉Word VBA。(注:这些语句来源于作者早期发表的VBA语句集,长期关注作者的朋友可能会有印象)
fanjy
2019/10/09
2.8K0
VBA专题06-2:利用Excel中的数据自动化构建Word文档—熟悉Word VBA
vim中优雅地查找和替换
这篇文章来详细介绍 Vim 中查找相关的设置和使用方法。包括查找与替换、查找光标所在词、高亮前景/背景色、切换高亮状态、大小写敏感查找等。 查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。 Vim查找支持正则表达式,例如/vim匹配行尾的"vim"。需要查找特殊字符需要转义,例如/vim\ 注意查找回车应当用\n,而替换为回车应当用\r(相当于<CR>)。 大小写敏感查找 在查找模式中加入\c表示大小写不敏感查找,
入门笔记
2022/06/02
3.6K0
php案例:文本内容查找替换功能
作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 cyg.php 点击提交的内容是: 原先的1.txt文件里面的内容: 替换后的: ---- cyg.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> 文本内容查找替换 </title>
贵哥的编程之路
2022/09/23
2.1K0
php案例:文本内容查找替换功能
点击加载更多

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文