Microsoft Word 16.0 Object Library (16会因为机器安装的版本不一)
WordApp.Selection.Find.ClearFormatting
WordDoc.Range.Find.Execute findtext:="被替换掉啥", ReplaceWith:="替换成啥", MatchWildcards:=True, Forward:=True, Replace:=wdReplaceAll, Wrap:=wdFindContinue
如果不引用,可以用数字代替
Replace选项
wdReplaceAll 2 替换所有匹配项。
wdReplaceOne 1 替换遇到的第一个匹配项
wdReplaceNone 0 不替换任何匹配项。
Wrap选项
wdFindAsk 2 搜索完所选内容或者区域后,Microsoft Word 会显示一条消息,询问是否搜索文档的其他部分。
wdFindContinue 1 到达搜索区域的开始或者结尾时,继续执行查找操作。
wdFindStop 0 到达搜索范围的开始或者结尾时,停止执行查找操作。
MatchWildcards 为 True,则可以指定通配符及其他高级搜索条件。例如,“*(ing)” 将查找以“ing”结尾的所有单词。详细内容
MatchCase 可选。如果是 True,则查找文本需区分大小写。相当于“编辑”菜单“查找和替换”对话框中的“区分大小写”复选框。
MatchWholeWord 可选。如果为 True,则只查找匹配的完整单词,而并非作为一个长单词的一部分的文字。相当于“编辑”菜单“查找和替换”对话框中的“全字匹配”复选框。
'工具-引用Microsoft Word 16.0 Object Library (16会因为机器安装的版本不一)WordApp.Selection.Find.ClearFormattingWordDoc.Range.Find.Execute findtext:="被替换掉啥", ReplaceWith:="替换成啥", MatchWildcards:=True, Forward:=True, Replace:=wdReplaceAll, Wrap:=wdFindContinue如果不引用,.
For Each ib In ActiveDocument.Paragraphs
'排除表格
If ib.Range.Information(wdWithInTable) = False Then
ib.Range.Select
'缩进不一定是2个字符,只要缩进不为0就
替换
,避免标题、主送对象等误操作
当需要在多个WORD文档中批量查找
替换
时,此宏可帮助遍历整个目录下的所有doc和docx格式的word文件并批量进行
替换
保存操作,大大提高工作效率。
此文档是一个WORD的VBA宏,不存在病毒也无需注册收费。且除了需要打开此文档的Office或者WPS外无需安装其他第三方软件或插件。
如提示注册失败等问题,可能是窗口组件需要注册,请使用命令行执行regsvr32 C:\Windows\SysWOW64\fm20.dll注册。
背景:朋友工作中有多个Word文件,每次做更新时都要更新文档内的日期,每次手工更改都比较耗费时间,加上公司电脑不能装未授权的软件,且只支持英文,于是就根据这个需求,参考一些网上的代码,并做了一些升级,增加了界面、备份等功能,制作出这个VBA。下面是几个主要部分的VBA代码。
图1 VBA结构图
图2 窗体界面
'窗体界面
Private Sub CommandButton1_Click(...
通过编辑宏(例如,用循环
替换
一系列操作),可以创建具有所需功能的VBA程序。
然后,相对容易地(手动)将该程序转换为MATLAB函数。
wordserver类中已经可用的功能可以用作示例。
有关Microsoft
Word对象模型的信息可在以下位置找到:
wordserver.m文件包含
最近项目中有个需求,就是用word生成word,把一份标签对组成的word源材料,放到word模板中。所以就想到用vba来做,可是之前就没有接触过这些啊,连个word排版用的都不怎么好,于是就到下载频道搜索关键词vba。从搜索的结果来看,几乎全都是用Excel VBA的资料,word少之又少啊,最后找了几篇比较好的经验和word vba的api下载下来了。
可能是之前没有遇到过那么急的开发
注意页眉页脚,与正文内容的
替换
不同
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
利用VBA可以轻松地将某文件夹下的所以WORD文档中的某个字符串全部
替换
为其他字符串。下面是具体操作步骤。
第一,首先将需要批量
替换
的多个Word文档放在同一文件夹下面。
第二,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。
第三,在控件工具箱上单击“命令按钮”,文档中就放置了一个按钮了。
第四,双击该按钮,进入VB代码编写模
你可以使用 VBA 编写一个宏,然后在 Word 中运行该宏来
替换
全部
文字
。具体步骤如下:
1. 打开 Word 文档,按下 Alt + F11 进入 VBA 编辑器界面。
2. 在左侧的项目窗口中,双击 ThisDocument,打开该文档的 VBA 代码窗口。
3. 在代码窗口中输入以下代码:
Sub ReplaceAllText()
Dim rng As Range
Set rng = ActiveDocument.Content
With rng.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "要
替换
的
文字
"
.Replacement.Text = "
替换
后的
文字
"
.Execute Replace:=wdReplaceAll
End With
End Sub
4. 将代码中的 "要
替换
的
文字
" 和 "
替换
后的
文字
"
替换
为你需要的内容。
5. 按下 F5 运行该宏,即可
替换
全部
文字
。
注意:在
替换
时,如果需要保留原有格式,可以使用 rng.Find.Font 和 rng.Find.Replacement.Font 来设置字体格式。
m0_52318341:
EXCEL-VBA(WORD):将EXCEL中的文字替换到Word中的文字
飘渺梧桐孤鸿影: