【330】word - VBA 相关实现
参考:Object model (Word VBA reference)
| 序号 | 类名称 |
功能说明 |
语法 & 举例 | ||
| 01 | Selection |
====<<<< Description >>>>==== 代表窗口或窗格中的当前所选内容。所选内容代表文档中选定(或突出显示)的区域,如果文档中没有选定任何内容,则代表插入点。每个文档窗格只能有一个 Selection 对象,并且在整个应用程序中只能有一个活动的 Selection 对象。 ====<<<< Methods >>>>==== ◈ Expand (Unit):扩展指定的区域或所选内容。返回添至该区域或所选内容的字符数。 ====<<<< References >>>>==== 参考:python文件打开方式详解——a、a+、r+、w+区别 |
|||
| 02 | Selection.Expand() |
====<<<< Description >>>>==== 扩展指定的区域或所选内容。返回添至该区域或所选内容的字符数。 ====<<<< Syntax >>>>==== Selection.Expand (Unit) ====<<<< Parameters >>>>==== ◈ Unit:可选。一个 WdUnits 常量,代表要扩大范围的度量单位。默认值是wdWord 。 |
Sub Yellow()
'选定光标所在行
Selection.Expand Unit:=wdLine
'选定行背景色设置
Selection.Range.HighlightColorIndex = wdYellow
'选定行字体颜色设置
Selection.Range.Font.ColorIndex = wdRed
End Sub
|
||
Sub 删除答案()
Selection.Find.ClearFormatting
Selection.Find.Font.Color = wdColorRed
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Color = wdColorYellow
With Selection.Find
.Text = "(*).您选择了:(*)"
.Replacement.Text = "^&"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
|
|||||
Sub test()
Dim i As Integer
Dim text As String
Set paras = ActiveDocument.Range.Paragraphs
'For i = paras.Count To 1 Step -1
' text = ActiveDocument.Range.Paragraphs(i).Range.text
' If ActiveDocument.Range.Paragraphs(i).Range.HighlightColorIndex = wdNoHighlight Then
' MsgBox text
' End If
'Next
Application.ScreenUpdating = False '关闭屏幕刷新
'通过遍历将没有高亮的用粉色标记,如果直接操作文本,会出错
For i = 1 To paras.Count
text = ActiveDocument.Range.Paragraphs(i).Range.text
If ActiveDocument.Range.Paragraphs(i).Range.HighlightColorIndex = wdNoHighlight Then
ActiveDocument.Range.Paragraphs(i).Range.Font.ColorIndex = wdPink
End If
Next
'将粉色的全部替换为空
Selection.Find.ClearFormatting
Selection.Find.Font.ColorIndex = wdPink
With Selection.Find
.text = "*"
.Replacement.text = ""
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
Sub test2()
Dim i As Integer
Dim para As Paragraph
Set paras = ActiveDocument.Range.Paragraphs
Application.ScreenUpdating = False '关闭屏幕刷新
'通过遍历将没有高亮的用粉色标记,如果直接操作文本,会出错
For Each para In paras
If para.Range.HighlightColorIndex = wdNoHighlight Then
para.Range.text = ""
End If
Next
End Sub
浙公网安备 33010602011771号