我想搜索整数的选择并按每个值增加一些值,例如1.例如,在美国专利No.6,293,874的以下文本中,我想要进行替换,其中双括号表示删除,斜体表示插入:
<>根据本发明,提供了一种娱乐装置,其包括用户操作和控制的装置,用于对使用者的臀部进行重复性打击,包括多个旋转臂轴承用于自动划动用户的臀部B的灵活扩展。[附图示出]用于自我划动用户U的娱乐设备[[10]] 11 。如[附图所示]自动划水设备[[10]] 11 包括一个显示平台[[12]] 13 具有中空内部并具有第一端[[14]] 15 部分和第二端[[16]] 17 部分。平台[[12]] * 13 *由足以支撑站在平台上的至少一些人(例如用户和观察者)的重量的材料构成。在一个实施例中,平台[[12]] 13 包括至少两个大致相等大小的子单元,这些子单元可在中间部分[[20]] 21 连接以便折叠在安装在其上的任何直立柱之后将它们分开。第一端[[14]] 15 部分和第二端[[16]] 17 部分包括中空平台[[12]] 内的存储隔间13 用于存储可连接到平台[[12]] 13 的反汇编组件。第一端[[14]] 15 通过多个铰链在中间部分铰链20处连接到第二端[[16]] 17 [[22] ]] 23 。一旦直立柱和附件被拆卸,拆卸和存放,平台[[12]] 13 可折叠并可安全存放或移动到下一个位置,以便重新组装,显示和使用。划桨#&34;我知道如何迭代匹配集合中的匹配,但仅限于整个段落,即。
For Each para In Selection.Paragraphs
txt = para.Range.text
offset = 0
'any match?
If re.Test(txt) Then
'get all matches
Set allMatches = re.Execute(txt)
For Each m In allMatches
num = m.Value + 1
Set rng = para.Range
rng.Collapse wdCollapseStart
rng.MoveStart wdCharacter, m.FirstIndex + offset
rng.MoveEnd wdCharacter, m.length
rng.text = re.Replace(rng.text, num) 'account for added digits:
offset = offset + Len(CStr(num)) - Len(m.Value)
Next m
End If
Next para
我可以(A)修改前面的代码来仅搜索选择而不是它所触及的段落(完整地),(B)以某种方式使用Selection.Find.Execute:=wdReplaceAll
并确保它赢得了#39 ; t替换文档中的所有内容?*(*我注意到如果变量是针对Selection
对象定义的并且在.text
的{{1}}字段中使用,则Word将替换文档中的所有实例,即使使用Selection.Find
。请参阅Word VBA replace text appearing in selection only with uppercase)