在WORD中用VBA实现光标移动与内容选择

  • Post author:
  • Post category:其他



在WORD中如何用VBA宏语言选定一行、一段,删除一行、一段,移动光标至行首、行尾、段首、段尾等。请看以下内容。

Sub MoveToCurrentLineStart()

‘移动光标至当前行首

Selection.HomeKey unit:=wdLine

End Sub

Sub MoveToCurrentLineEnd()

‘移动光标至当前行尾

Selection.EndKey unit:=wdLine

End Sub

Sub SelectToCurrentLineStart()

‘选择从光标至当前行首的内容

Selection.HomeKey unit:=wdLine, Extend:=wdExtend

End Sub

Sub SelectToCurrentLineEnd()

‘选择从光标至当前行尾的内容

Selection.EndKey unit:=wdLine, Extend:=wdExtend

End Sub

Sub SelectCurrentLine()

‘选择当前行

Selection.HomeKey unit:=wdLine

Selection.EndKey unit:=wdLine, Extend:=wdExtend

End Sub

Sub MoveToDocStart()

‘移动光标至文档开始

Selection.HomeKey unit:=wdStory

End Sub

Sub MoveToDocEnd()

‘移动光标至文档结尾

Selection.EndKey unit:=wdStory

End Sub

Sub SelectToDocStart()

‘选择从光标至文档开始的内容

Selection.HomeKey unit:=wdStory, Extend:=wdExtend

End Sub

Sub SelectToDocEnd()

‘选择从光标至文档结尾的内容

Selection.EndKey unit:=wdStory, Extend:=wdExtend

End Sub

Sub SelectDocAll()

‘选择文档全部内容(从WholeStory可猜出Story应是当前文档的意思)

Selection.WholeStory

End Sub

Sub MoveToCurrentParagraphStart()

‘移动光标至当前段落的开始

Selection.MoveUp unit:=wdParagraph

End Sub

Sub MoveToCurrentParagraphEnd()

‘移动光标至当前段落的结尾

Selection.MoveDown unit:=wdParagraph

End Sub

Sub SelectToCurrentParagraphStart()

‘选择从光标至当前段落开始的内容

Selection.MoveUp unit:=wdParagraph, Extend:=wdExtend

End Sub

Sub SelectToCurrentParagraphEnd()

‘选择从光标至当前段落结尾的内容

Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend

End Sub

Sub SelectCurrentParagraph()

‘选择光标所在段落的内容

Selection.MoveUp unit:=wdParagraph

Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend

End Sub

Sub DisplaySelectionStartAndEnd()

‘显示选择区的开始与结束的位置,注意:文档第1个字符的位置是0

MsgBox (“第” & Selection.Start & “个字符至第” & Selection.End & “个字符”)

End Sub

Sub DeleteCurrentLine()

‘删除当前行

Selection.HomeKey unit:=wdLine

Selection.EndKey unit:=wdLine, Extend:=wdExtend

Selection.Delete

End Sub

Sub DeleteCurrentParagraph()

‘删除当前段落

Selection.MoveUp unit:=wdParagraph

Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend

Selection.Delete

End Sub