在Word中,在文档的用户按Ctrl键选择了一组后,很容易使用vba将高亮显示应用于多个字符串,单词,句子等。 但是,当我按Ctrl键选择几个单词并运行以下语句时,只会更改我选择的最后一个单词。 有没有办法将wdtitleword应用于多个选定的单词? 感谢。
$fields = array(
'type' => 'A',
'name' => $subdomain.rand(1, 2000),
'content' => Env::getCFIP(),
'proxied' => true,
'ttl' => 1
);
答案 0 :(得分:1)
请试试这个:
Sub changeNonContigCase()
' Find the non-contig selection
If Selection.Font.Shading.BackgroundPatternColor = wdColorAutomatic Then
Selection.Font.Shading.BackgroundPatternColor = whtcolor
End If
' Find and process each range with .Font.Shading.BackgroundPatternColor = WhtColor
ActiveDocument.Range.Select
Selection.Collapse wdCollapseStart
With Selection.Find
.Font.Shading.BackgroundPatternColor = whtcolor
.Forward = True
.Wrap = wdFindContinue
Do While .Execute
' Do what you need
Selection.Range.Case = wdTitleWord
' Reset shading as you go
Selection.Font.Shading.BackgroundPatternColor = wdColorAutomatic
' Setup to find the next selection
Selection.Collapse wdCollapseEnd
Loop
End With
End Sub
这是有效的,但是是间接的。我不认为有更直接的方法来实现这一目标。您可以进行修改以避免重置需要保留的现有格式。到目前为止,我甚至不知道可以在MS Word中选择不连续的范围,可惜在VBA中使用起来并不容易。