如何用VBA实现WORD批量替换?
如题:我用以下代码实现了全文替换n=ListView1.ListItems.CountFori=1Ton'n是listview1的行数Selection.Find.Cle...
如题:我用以下代码实现了全文替换
n = ListView1.ListItems.CountFor i = 1 To n 'n是listview1的行数 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With ActiveDocument.Content.Find .Text = ListView1.ListItems(i).Text 'Findstr=listview1的第i行第1列对应单元格的内容 .Replacement.Text = ListView1.ListItems(i).SubItems(1) 'Findstr=listview1的第i行第2列对应单元格的内容 .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False .Execute Replace:=wdReplaceAll End With Next MsgBox "处理完毕!", vbInformation + vbOKOnly, "消息"我的问题是:在全文替换前加入一个判断,看是否有选定区域,如果有选定,则执行选定区域的替换,如果没有,则执行全文替换,希望给出代码,谢谢。中间是个listview控件。需要在当前word文本中搜索用第二列替换第一列。 展开
n = ListView1.ListItems.CountFor i = 1 To n 'n是listview1的行数 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With ActiveDocument.Content.Find .Text = ListView1.ListItems(i).Text 'Findstr=listview1的第i行第1列对应单元格的内容 .Replacement.Text = ListView1.ListItems(i).SubItems(1) 'Findstr=listview1的第i行第2列对应单元格的内容 .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False .Execute Replace:=wdReplaceAll End With Next MsgBox "处理完毕!", vbInformation + vbOKOnly, "消息"我的问题是:在全文替换前加入一个判断,看是否有选定区域,如果有选定,则执行选定区域的替换,如果没有,则执行全文替换,希望给出代码,谢谢。中间是个listview控件。需要在当前word文本中搜索用第二列替换第一列。 展开
展开全部
不是已经给你回答过了的吗。
.Wrap = wdFindStop
.Wrap = wdFindStop
追问
十分感谢您的回答,前面的代码就是用的您给的。我把.Wrap = wdFindStop
后执行替换还是执行了全文替换,不是执行了选定区域的替换,不知何故?再次感谢。
追答
Application.DisplayAlerts = wdAlertsNone '关键代码
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = ListView1.ListItems(i).Text
.Replacement.Text = ListView1.ListItems(i).SubItems(1)
.Forward = True
.Wrap = wdFindStop ' '关键代码
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Application.DisplayAlerts = wdAlertsAll
MsgBox "操作完毕!", vbInformation + vbOKOnly, "消息"
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询