在WORD中用VBA实现光标移动与内容选择
在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
谢谢分享。有的可以简化,例如:===========
Sub SelectCurrentParagraph1()
    '选择光标所在段落的内容
    Selection.Paragraphs(1).Range.Select
End Sub
Sub DeleteCurrentParagraph1()
    '删除当前段落
    Selection.Paragraphs(1).Range.Delete
End Sub
 
                    
                     
                    
                 
                    
                 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号