请问在word二次开发中,执行替换操作后,如何记录当前替换文本的位置 ?

nelazy 2009-07-20 10:13:09
请问在word二次开发中,执行替换操作后,如何获得当前替换文本的位置 ?
...全文
159 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiaqiid 2009-08-01
  • 打赏
  • 举报
回复
GF
liujiaqiid 2009-08-01
  • 打赏
  • 举报
回复
LZ 不接贴??!!!
无·法 2009-07-30
  • 打赏
  • 举报
回复
不懂,帮顶
fairchild811 2009-07-25
  • 打赏
  • 举报
回复
用Selection.Range.Start
bigriverhorse 2009-07-22
  • 打赏
  • 举报
回复
不会吧,就三行代码都出问题了,楼主的没调通的原因是什么,提示什么错误呢。
liujiaqiid 2009-07-22
  • 打赏
  • 举报
回复
也算是一种定位方法了...........
liujiaqiid 2009-07-22
  • 打赏
  • 举报
回复
二楼方法我没调通,不过有所启发:



Sub replece()
'
'此函数首先输入您要替换的文本,然后输入你要替换成的文本,最后执行替换并且将替换的文本置成蓝色

Dim iResult1 As String, iResult2 As String

iResult1 = InputBox("请输入你需替换的文本")

iResult2 = InputBox("请输入你要替换成的文本")

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

Selection.Find.Replacement.Font.Color = wdColorBlue

With Selection.Find
.Text = iResult1
.Replacement.Text = iResult2
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With

Selection.Find.Execute Replace:=wdReplaceAll

msgbox “已成功替换,并将替换文本置成蓝色!!”

End Sub


frankbj 2009-07-22
  • 打赏
  • 举报
回复
经过测试,二楼的程序是正确的!
bigriverhorse 2009-07-21
  • 打赏
  • 举报
回复
可以使用selection对象,注意selection不一定就是代表选择的文本,也代表当前位置。

代码示例如下:
Sub show_cur_pos()
Dim rng As Range
Dim pos As Long

Set rng = Selection.Range
pos = rng.Start

MsgBox pos
End Sub
liujiaqiid 2009-07-21
  • 打赏
  • 举报
回复
你是想批量替换后,返回每个替换点的位置????----

5,172

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧