word vba程序员,
问题:在MS Word中工作用户将选择一个字符串(一个或几个单词(,只是选择" Word1 Word2"。如果有这样的字符串后面是括号中的引用,即" Word1 Word2(234,21(",则宏将在整个文档中查看。从用户选择的文本中,将添加引用。我有代码以获取所选文本:Dim Sel作为选择DIM功能为字符串
Set Sel = Application.Selection
If Sel.Type <> wdSelectionIP Then
MsgBox Sel.text
End If
feature=sel.text
(功能是要查找的文本,然后是参考文献(
文本中的通配符是(*(,这意味着一个括号,然后进行任何更改,然后是近亲。
我的问题是以下代码不起作用:
With ActiveDocument.Content.Find
.ClearFormatting
.text = feature & (*)
With .Replacement
.ClearFormatting
.text = feature & (*)
.Font.Color = wdColorRed
End with
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = true
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
我什至无法运行,因为线 .text = feature&amp;(*(
变成红色,不了解。
这里的问题是如何将变量的内容(用户选择的文本(与通配符相结合,该通配符将为我提供该选定文本的实例,然后是括号,包括数字参考。
非常感谢。
用于搜索文本使用:
.text = feature & "((*))"
在这里, (
与开场的帕伦匹配;(*)
进行"组"匹配(允许您使用替换文本中的通配符匹配的内容(;和)
匹配关闭的Paren。
用于替换文本使用:
.text = feature & "(1)"
在这里, (
与开场的帕伦匹配;1
返回第一个比赛"组"(通配符拿起的内容(;和)
匹配关闭的Paren。
希望会有所帮助。
.text = feature & "(*)"
您正在尝试连接一个字符串,您需要将这些字符串放入括号中 - 无需在此处逃脱括号,因为它不是正则表达式。
xidgel,
谢谢。这是非常强大的。有用。我的印象通配符就像另一种语言。很难开始使用它们。
在任何情况下,我都意识到我还需要对MS-Word说的方式,从文本中的特定点说,必要的是替代括号中的参考文献中未遵循的功能,换句话说,将引用添加到没有这些功能的功能中,并且仅从我选择的文本中。
Xidgel代码在真正找到参考的功能的意义上完美地工作。
在寻找文本时:
.text = feature & "((*))"
我需要在变量中加载与
相对应的字符串"((*))"
只需将此变量DIM Ref称为字符串为了能够替代然后
.text = feature & "[A-z]"
=特征后面是一个字符,即没有后面的括号
feature & Ref