在宏中,我正在使用
x.Range.HighlightColorIndex = wdBrightGreen
以突出显示用户窗体正在编辑的当前表单字段,因为默认选择不会很好地显示。
如果我使用Application.Selection.StartOf
,则光标将返回到我想要的表单字段之前。
然而,样式将应用于任何键入的文本。
有没有办法将光标设置为样式之前的“之前”,因此输入的任何文本都将在样式标记之前?或者我是否需要对当前文本样式进行假设,并将该位置的文本设置为wdAuto
?
即。如果这是我想要的伪HTML(xml)
<div>XXXX<span color=green><Input id=blah></input></span></div>
而不是
<div><span color=green>XXXX<Input id=blah></input></span></div>
XXXX是光标位置。
'Remember the last formatted field on select, lets us fix it when the userform is closed.
Dim prevField As formField
Function SelectField(ByVal neww As formField)
If Not prevField Is Nothing Then
prevField.Range.HighlightColorIndex = wdAuto
End If
neww.Range.HighlightColorIndex = wdBrightGreen
neww.Select
Application.Selection.StartOf
Application.Selection.Range.HighlightColorIndex = wdAuto
Set prevField = neww
End Function
此示例不起作用。它仍然有任何书面文字为绿色。