我有一个范围(rng
),其中包含单词“means”。我试图确定“means”之前的两个单词是否加下划线,但不能完全弄清楚。从一个范围内,返回一个特定单词的索引
这里是我的rng.Text
是什么(请注意括号表示带下划线的文本)
"[Automobile] - means a car that isn't a bus but can be an SUV"
有时,它是"The way you have to go about it is with the various means of thinking"
。
第一个是一个定义,因为它有一个带有下划线的单词的“手段”。第二个例子不是一个定义。
我试图让我的宏看起来2个字之前“意味着”,但不能完全弄清楚如何。
我能够通过这个推测是多少个字符:
Dim meansLoc&
meansLoc = instr(rng.Text, "means")
然后,我可以测试If rng.Characters(meansLoc-9).Font.Underline = wdUnderlineSingle
,但我碰到的问题,如果我定义的话只说3个字符(“爸爸 - 手段一个父亲“,会错误我们的意思,因为这意味着'索引是7,并且7-9 = -2)。这就是为什么我想用文字。 (我可以在“手段”之前使用一两个单词)。
如何返回我的rng
中“means”的字符索引。如何从我的rng
获得“单词索引”(即2)?
记住MoveEnd?那么,还有一个使用相同参数的Move方法。看看帮助中的内容,看看WdUnits Enum并试一试:-)向后移动Range(负数值),得到它的Word(Range.Words(1)),然后测试Font.Underline .. –