|
本帖最后由 413191246se 于 2018-12-21 22:43 编辑
* 代码书写规范,有利于维护修改,增强可读性;
* 但如果能够熟练掌握代码书写,简写则能少打一些字符,使用起来会更为流畅自如,简洁、省事。
* 代码简写有利有弊! 但我喜欢简写,能简写则简写,图的就是方便、快速、简洁。
* 下面是我总结的一些 Word2003VBA 代码简写的一些示例(其中向 杜先生/老师 学习借鉴不少):
*- Sub 代码简写()
- '功能:全文查找文字A,全部替换为文字B
- '标准:
- ActiveDocument.Content.Find.Execute FindText:="A", ReplaceWith:="B", Replace:=wdReplaceAll
- '简写:
- ActiveDocument.Content.Find.Execute "A", , , , , , , , , "B", 2
- '------------------------------------------------------------------------------------------------
- '功能:全文查找分页符回车符,全部替换为分页符(勾选<使用通配符>,用括号来分组,第1组用\1表示)
- '标准:
- ActiveDocument.Content.Find.Execute FindText:="(^12)^13", MatchWildcards:=True, ReplaceWith:="\1", Replace:=wdReplaceAll
- '简写:
- ActiveDocument.Content.Find.Execute "(^12)^13", , , 1, , , , , , "\1", 2
- '-------------------------------------------------------------------------------------------------------------------------------
- '功能:选定区域尾部向内缩小1字符
- '标准:
- Selection.MoveEnd Unit:=wdCharacter, Count:=-1
- '简写:
- Selection.MoveEnd 1, -1
- '------------------------------------------------------
- '功能:选定区域尾部向外扩展1字符
- '标准:
- Selection.MoveEnd Unit:=wdCharacter, Count:=1
- '简写:
- Selection.MoveEnd 1, 1
- '简写:
- Selection.MoveEnd
- '------------------------------------------------------
- '功能:选定区域尾部向外扩展1个段落
- '标准:
- Selection.MoveEnd Unit:=wdParagraph, Count:=1
- '简写:
- Selection.MoveEnd 4, 1
- '-----------------------------------------------------
- '功能:选定区域头部向内缩小1字符
- '标准:
- Selection.MoveStart Unit:=wdCharacter, Count:=1
- '简写:
- Selection.MoveStart 1, 1
- '简写:
- Selection.MoveStart
- '-----------------------------------------------------
- '功能:选定区域头部向外扩展1字符
- '标准:
- Selection.MoveStart Unit:=wdCharacter, Count:=-1
- '简写:
- Selection.MoveStart 1, -1
- '------------------------------------------------------
- '功能:选定区域头部向外扩展1个段落
- '标准:
- Selection.MoveStart Unit:=wdParagraph, Count:=-1
- '简写:
- Selection.MoveStart 4, -1
- '------------------------------------------------------
- '光标移至文首(相当于按 Ctrl+Home 组合键)
- '标准:
- Selection.HomeKey Unit:=wdStory
- '简写:
- Selection.HomeKey 6
- '-----------------------------------------
- '光标移至文尾(相当于按 Ctrl+End 组合键)
- '标准:
- Selection.EndKey Unit:=wdStory
- '简写:
- Selection.EndKey 6
- '-----------------------------------------
- '功能:选定区域向上扩展至文首(相当于按 Ctrl+Shift+Home 组合键)
- '标准:
- Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
- '简写:
- Selection.HomeKey 6, 1
- '----------------------------------------------------------------
- '功能:选定区域向下扩展至文尾(相当于按 Ctrl+Shift+End 组合键)
- '标准:
- Selection.EndKey Unit:=wdStory, Extend:=wdExtend
- '简写:
- Selection.EndKey 6, 1
- '----------------------------------------------------------------
- '功能:光标移至行首(相当于按 Home 键)
- '标准:
- Selection.HomeKey Unit:=wdLine
- '简写:
- Selection.HomeKey 5
- '-----------------------------------
- '功能:光标移至行尾(相当于按 End 键)
- '标准:
- Selection.EndKey Unit:=wdLine
- '简写:
- Selection.EndKey 5
- '-----------------------------------
- '功能:如果光标在行尾,则选定区域扩展至行首
- '标准:
- Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
- '简写:
- Selection.HomeKey 5, 1
- '-------------------------------------------------------
- '功能:如果光标在行首,则选定区域扩展至行尾
- '标准:
- Selection.EndKey Unit:=wdLine, Extend:=wdExtend
- '简写:
- Selection.EndKey 5, 1
- '-------------------------------------------------------
- '功能:选定光标所在段落
- '标准
- Selection.Paragraphs(1).Range.Select
- '标准:
- Selection.Expand Unit:=wdParagraph
- '简写:
- Selection.Expand 4
- '--------------------------------------------
- '功能:选定<当前选定内容>的下一段
- '标准:
- Selection.Next(Unit:=wdParagraph, Count:=1).Select
- '简写:
- Selection.Next(4, 1).Select
- '------------------------------------------------------------
- '功能:选定<当前选定内容>的上一段
- '标准:
- Selection.Previous(Unit:=wdParagraph, Count:=1).Select
- '简写:
- Selection.Previous(4, 1).Select
- '------------------------------------------------------------
- '功能:选定<当前选定内容>的下一字符
- '标准:
- Selection.Next(Unit:=wdCharacter, Count:=1).Select
- '简写:
- Selection.Next(1, 1).Select
- '简写:
- Selection.Next.Select
- '------------------------------------------------------
- '功能:选定<当前选定内容>的上一字符
- '标准:
- Selection.Previous(Unit:=wdCharacter, Count:=1).Select
- '简写:
- Selection.Previous(1, 1).Select
- '简写:
- Selection.Previous.Select
- '------------------------------------------------------
- '功能:将选定区域折叠为选定区域的开头
- '标准:
- Selection.Collapse Direction:=wdCollapseStart
- '简写:
- Selection.Collapse 1
- '简写:
- Selection.Collapse
- '-----------------------------------------------------
- '功能:将选定内容折叠为选定区域的结尾
- '标准:
- Selection.Collapse Direction:=wdCollapseEnd
- '简写:
- Selection.Collapse 0
- '-----------------------------------------------------
- '功能:判断光标是否在表格中!如果在表格中,则……
- '标准:
- If Selection.Information(wdWithInTable) = True Then
- '简写:
- If Selection.Information(12) Then
- '------------------------------------------------------------
- '功能:判断光标是否在表格中!如果不在表格中,则……
- 标准:
- If Selection.Information(wdWithInTable) = False Then
- '简写:
- If Not Selection.Information(12) Then
- '------------------------------------------------------------
- '功能:判断选定区域是否为文尾,如果不是文尾,则……
- If Not Selection.End = ActiveDocument.Content.End Then
- '------------------------------------------------------------
-
- '功能:判断光标所在段落是否为最后一段,如果不是则……
- If Not Selection.Paragraphs(1).Range.Text = ActiveDocument.Paragraphs.Last.Range.Text Then
- '--------------------------------------------------------------------------------------------------
- '功能:全选(选定全文,相当于按 Ctrl+A 组合键)
- Selection.WholeStory
- '或:
- ActiveDocument.Select
- '-------------------------------------------------
- '功能:清除格式(必须先选定部分文字或全文)
- Selection.ClearFormatting
- '-------------------------------------------------
-
-
- '功能:删除段落首尾空格(必须先选定部分文字或全文)
- CommandBars.FindControl(ID:=122).Execute
- CommandBars.FindControl(ID:=123).Execute
- '-------------------------------------------------
- '功能:取消首行缩进(两行代码顺序不能颠倒!)
- With Selection.ParagraphFormat
- .CharacterUnitFirstLineIndent = 0
- .FirstLineIndent = CentimetersToPoints(0)
- End With
- '--------------------------------------------------
- '功能:删除表格空行(必须保证空行内没有空格才能应用)
- For Each r In .Rows
- If Len(Replace(Replace(r.Range, vbCr, ""), Chr(7), "")) = 0 Then r.Delete
- Next
- 'Sub 删除空行OK()
- Dim i As Paragraph
- For Each i In ActiveDocument.Paragraphs
- If Asc(i.Range) = 13 Then i.Range.Delete
- Next
- 'End Sub
- '未完待续!2018-12-21
- End Sub
复制代码 |
|