ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2641|回复: 4

[分享] Word 2003 VBA 代码简写

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-12-21 16:17 | 显示全部楼层 |阅读模式
本帖最后由 413191246se 于 2018-12-21 22:43 编辑

* 代码书写规范,有利于维护修改,增强可读性;
* 但如果能够熟练掌握代码书写,简写则能少打一些字符,使用起来会更为流畅自如,简洁、省事。
* 代码简写有利有弊! 但我喜欢简写,能简写则简写,图的就是方便、快速、简洁。
* 下面是我总结的一些 Word2003VBA 代码简写的一些示例(其中向 杜先生/老师 学习借鉴不少):
*
  1. Sub 代码简写()
  2. '功能:全文查找文字A,全部替换为文字B
  3. '标准:
  4.     ActiveDocument.Content.Find.Execute FindText:="A", ReplaceWith:="B", Replace:=wdReplaceAll
  5. '简写:
  6.     ActiveDocument.Content.Find.Execute "A", , , , , , , , , "B", 2
  7. '------------------------------------------------------------------------------------------------


  8. '功能:全文查找分页符回车符,全部替换为分页符(勾选<使用通配符>,用括号来分组,第1组用\1表示)
  9. '标准:
  10.     ActiveDocument.Content.Find.Execute FindText:="(^12)^13", MatchWildcards:=True, ReplaceWith:="\1", Replace:=wdReplaceAll
  11. '简写:
  12.     ActiveDocument.Content.Find.Execute "(^12)^13", , , 1, , , , , , "\1", 2
  13. '-------------------------------------------------------------------------------------------------------------------------------


  14. '功能:选定区域尾部向内缩小1字符
  15. '标准:
  16.     Selection.MoveEnd Unit:=wdCharacter, Count:=-1
  17. '简写:
  18.     Selection.MoveEnd 1, -1
  19. '------------------------------------------------------


  20. '功能:选定区域尾部向外扩展1字符
  21. '标准:
  22.     Selection.MoveEnd Unit:=wdCharacter, Count:=1
  23. '简写:
  24.     Selection.MoveEnd 1, 1
  25. '简写:
  26.     Selection.MoveEnd
  27. '------------------------------------------------------


  28. '功能:选定区域尾部向外扩展1个段落
  29. '标准:
  30.     Selection.MoveEnd Unit:=wdParagraph, Count:=1
  31. '简写:
  32.     Selection.MoveEnd 4, 1
  33. '-----------------------------------------------------


  34. '功能:选定区域头部向内缩小1字符
  35. '标准:
  36.     Selection.MoveStart Unit:=wdCharacter, Count:=1
  37. '简写:
  38.     Selection.MoveStart 1, 1
  39. '简写:
  40.     Selection.MoveStart
  41. '-----------------------------------------------------


  42. '功能:选定区域头部向外扩展1字符
  43. '标准:
  44.     Selection.MoveStart Unit:=wdCharacter, Count:=-1
  45. '简写:
  46.     Selection.MoveStart 1, -1
  47. '------------------------------------------------------


  48. '功能:选定区域头部向外扩展1个段落
  49. '标准:
  50.     Selection.MoveStart Unit:=wdParagraph, Count:=-1
  51. '简写:
  52.     Selection.MoveStart 4, -1
  53. '------------------------------------------------------


  54. '光标移至文首(相当于按 Ctrl+Home 组合键)
  55. '标准:
  56.     Selection.HomeKey Unit:=wdStory
  57. '简写:
  58.     Selection.HomeKey 6
  59. '-----------------------------------------


  60. '光标移至文尾(相当于按 Ctrl+End 组合键)
  61. '标准:
  62.     Selection.EndKey Unit:=wdStory
  63. '简写:
  64.     Selection.EndKey 6
  65. '-----------------------------------------


  66. '功能:选定区域向上扩展至文首(相当于按 Ctrl+Shift+Home 组合键)
  67. '标准:
  68.     Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
  69. '简写:
  70.     Selection.HomeKey 6, 1
  71. '----------------------------------------------------------------


  72. '功能:选定区域向下扩展至文尾(相当于按 Ctrl+Shift+End 组合键)
  73. '标准:
  74.     Selection.EndKey Unit:=wdStory, Extend:=wdExtend
  75. '简写:
  76.     Selection.EndKey 6, 1
  77. '----------------------------------------------------------------


  78. '功能:光标移至行首(相当于按 Home 键)
  79. '标准:
  80.     Selection.HomeKey Unit:=wdLine
  81. '简写:
  82.     Selection.HomeKey 5
  83. '-----------------------------------


  84. '功能:光标移至行尾(相当于按 End 键)
  85. '标准:
  86.     Selection.EndKey Unit:=wdLine
  87. '简写:
  88.     Selection.EndKey 5
  89. '-----------------------------------


  90. '功能:如果光标在行尾,则选定区域扩展至行首
  91. '标准:
  92.     Selection.HomeKey Unit:=wdLine, Extend:=wdExtend
  93. '简写:
  94.     Selection.HomeKey 5, 1
  95. '-------------------------------------------------------


  96. '功能:如果光标在行首,则选定区域扩展至行尾
  97. '标准:
  98.     Selection.EndKey Unit:=wdLine, Extend:=wdExtend
  99. '简写:
  100.     Selection.EndKey 5, 1
  101. '-------------------------------------------------------


  102. '功能:选定光标所在段落
  103. '标准
  104.     Selection.Paragraphs(1).Range.Select
  105. '标准:
  106.     Selection.Expand Unit:=wdParagraph
  107. '简写:
  108.     Selection.Expand 4
  109. '--------------------------------------------


  110. '功能:选定<当前选定内容>的下一段
  111. '标准:
  112.     Selection.Next(Unit:=wdParagraph, Count:=1).Select
  113. '简写:
  114.     Selection.Next(4, 1).Select
  115. '------------------------------------------------------------


  116. '功能:选定<当前选定内容>的上一段
  117. '标准:
  118.     Selection.Previous(Unit:=wdParagraph, Count:=1).Select
  119. '简写:
  120.     Selection.Previous(4, 1).Select
  121. '------------------------------------------------------------


  122. '功能:选定<当前选定内容>的下一字符
  123. '标准:
  124.     Selection.Next(Unit:=wdCharacter, Count:=1).Select
  125. '简写:
  126.     Selection.Next(1, 1).Select
  127. '简写:
  128.     Selection.Next.Select
  129. '------------------------------------------------------


  130. '功能:选定<当前选定内容>的上一字符
  131. '标准:
  132.     Selection.Previous(Unit:=wdCharacter, Count:=1).Select
  133. '简写:
  134.     Selection.Previous(1, 1).Select
  135. '简写:
  136.     Selection.Previous.Select
  137. '------------------------------------------------------


  138. '功能:将选定区域折叠为选定区域的开头
  139. '标准:
  140.     Selection.Collapse Direction:=wdCollapseStart
  141. '简写:
  142.     Selection.Collapse 1
  143. '简写:
  144.     Selection.Collapse
  145. '-----------------------------------------------------


  146. '功能:将选定内容折叠为选定区域的结尾
  147. '标准:
  148.     Selection.Collapse Direction:=wdCollapseEnd
  149. '简写:
  150.     Selection.Collapse 0
  151. '-----------------------------------------------------


  152. '功能:判断光标是否在表格中!如果在表格中,则……
  153. '标准:
  154.     If Selection.Information(wdWithInTable) = True Then
  155. '简写:
  156.     If Selection.Information(12) Then
  157. '------------------------------------------------------------


  158. '功能:判断光标是否在表格中!如果不在表格中,则……
  159. 标准:
  160.     If Selection.Information(wdWithInTable) = False Then
  161. '简写:
  162.     If Not Selection.Information(12) Then
  163. '------------------------------------------------------------


  164. '功能:判断选定区域是否为文尾,如果不是文尾,则……
  165.     If Not Selection.End = ActiveDocument.Content.End Then
  166. '------------------------------------------------------------

  167.    
  168. '功能:判断光标所在段落是否为最后一段,如果不是则……
  169.     If Not Selection.Paragraphs(1).Range.Text = ActiveDocument.Paragraphs.Last.Range.Text Then
  170. '--------------------------------------------------------------------------------------------------


  171. '功能:全选(选定全文,相当于按 Ctrl+A 组合键)
  172.     Selection.WholeStory
  173. '或:
  174.     ActiveDocument.Select
  175. '-------------------------------------------------


  176. '功能:清除格式(必须先选定部分文字或全文)
  177.     Selection.ClearFormatting
  178. '-------------------------------------------------
  179.    
  180.    
  181. '功能:删除段落首尾空格(必须先选定部分文字或全文)
  182.     CommandBars.FindControl(ID:=122).Execute
  183.     CommandBars.FindControl(ID:=123).Execute
  184. '-------------------------------------------------


  185. '功能:取消首行缩进(两行代码顺序不能颠倒!)
  186.     With Selection.ParagraphFormat
  187.         .CharacterUnitFirstLineIndent = 0
  188.         .FirstLineIndent = CentimetersToPoints(0)
  189.     End With
  190. '--------------------------------------------------


  191. '功能:删除表格空行(必须保证空行内没有空格才能应用)
  192.     For Each r In .Rows
  193.         If Len(Replace(Replace(r.Range, vbCr, ""), Chr(7), "")) = 0 Then r.Delete
  194.     Next


  195. 'Sub 删除空行OK()
  196.     Dim i As Paragraph
  197.     For Each i In ActiveDocument.Paragraphs
  198.         If Asc(i.Range) = 13 Then i.Range.Delete
  199.     Next
  200. 'End Sub


  201. '未完待续!2018-12-21

  202. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-12-21 17:59 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
不错,期望后续的作品!

TA的精华主题

TA的得分主题

发表于 2018-12-21 22:16 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-21 22:37 | 显示全部楼层
本帖最后由 413191246se 于 2018-12-21 22:46 编辑

楼上,你是怎么看出来我是用五笔打的字的呢?厉害!——经查找,发现有“科室”一词,只有一处,已经修正!它与“简写”重码!我确实是用五笔打的字。
谢谢 楼上!
谢谢 龚老师 鼓励!

TA的精华主题

TA的得分主题

发表于 2024-9-2 16:20 | 显示全部楼层
挺好的, 为什么没有后续了?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-25 16:11 , Processed in 0.030180 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表