ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 第一章第一条(宏)for Word2003(最新)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-11-18 01:42 | 显示全部楼层 |阅读模式
* 如果不想让文字有颜色,可查找本宏代码中的 Pink粉红/Red红色/Brown褐色 三行代码,屏蔽或注释掉即可。
  1. Sub 第一章第一条()
  2.     Dim i&, j$, k$, m$, n&
  3.     k = MsgBox("<是>:第一章    <否>:第一条    <取消>:自定义", 3 + 48)
  4.     If k = vbYes Then
  5.         j = "章"
  6.     ElseIf k = vbNo Then
  7.         j = "条"
  8.     Else
  9.         j = InputBox("", "请输入量词(节/课/题/部分/阶段/自然段)", "部分")
  10.         If j = "" Then End
  11.     End If
  12.     m = MsgBox("<是>:第一" & j & "    <否>:第1" & j & "    <取消>:放弃", 3 + 48)
  13.     If m = vbYes Then
  14.         n = 2
  15.     ElseIf m = vbNo Then
  16.         n = 1
  17.     Else
  18.         End
  19.     End If
  20.     With Selection
  21.         .HomeKey Unit:=wdStory
  22.         With .Find
  23.             .ClearFormatting
  24.             .Replacement.Text = ""
  25.             Do While .Execute("^13第[一二三四五六七八九十0-90-9百零〇○Oo千]{1,}" & j, , , 1, , , 1)
  26.                 With .Parent
  27.                     If Not .Information(12) Then
  28.                         .MoveStart 1, 1
  29.                         .Expand 4
  30.                         With .Find
  31.                             .Execute " ", , , , , , , , , "", 2
  32.                             .Execute " ", , , , , , , , , "", 2
  33.                             .Execute "^s", , , , , , , , , "", 2
  34.                             .Execute "^t", , , , , , , , , "", 2
  35.                         End With
  36.                         .Characters(InStr(.Text, j) + Len(j) - 1).InsertAfter Text:=Chr(-24159)
  37.                         If j = "条" Then
  38.                             If .Text Like "*[!。:;,、!?…—.:;,!?]?" Then .Characters.Last.InsertBefore Text:="。"
  39.                             .MoveEnd 1, -(Len(.Text) - InStr(.Text, j))
  40.                             With .Font
  41.                                 .NameFarEast = "黑体"
  42.                                 .NameAscii = "Times New Roman"
  43.                                 .Bold = True
  44.                                 .Color = wdColorPink
  45.                             End With
  46.                         Else
  47.                             .Style = wdStyleSubtitle
  48.                             .Font.NameFarEast = "黑体"
  49.                             .Font.Color = wdColorRed
  50.                             If Len(j) > 1 Then .Font.Color = wdColorBrown
  51.                             If Len(j) > 1 Then .Font.Size = 18
  52.                             With .ParagraphFormat
  53.                                 .SpaceBefore = 24
  54.                                 .SpaceAfter = 30
  55.                             End With
  56.                             If .Text Like "*[。:;,、!?…—.:;,!?]?" Then .Characters.Last.Previous.Delete
  57.                             If .Text Like "* ???" Then .Characters.Last.Previous.InsertBefore Text:=Chr(-24159)
  58.                             .MoveEnd 1, -(Len(.Text) - (InStr(.Text, j) + Len(j) - 1))
  59.                         End If
  60.                         .MoveStart 1, 1
  61.                         .MoveEnd 1, -Len(j)
  62.                         i = i + 1
  63.                         .Text = i
  64.                         If n = 2 Then
  65.                             .Delete
  66.                             .Fields.Add Range:=.Range, Text:="= " & i & " \* CHINESENUM3"
  67.                             .Paragraphs(1).Range.Fields.Unlink
  68.                         End If
  69.                     Else
  70.                         .Tables(1).Range.Next.Select
  71.                         If Asc(.Text) <> 13 Then .InsertParagraphBefore
  72.                         .Characters(1).Font.Size = 4
  73.                     End If
  74.                     .EndKey 5
  75.                 End With
  76.             Loop
  77.         End With
  78.         .HomeKey Unit:=wdStory
  79.     End With
  80. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-10 15:22 , Processed in 0.029787 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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