ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 试题顺号

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-2 14:10 | 显示全部楼层 |阅读模式
有没有能帮助做一段顺题号的代码,把每道大题下面的题目都按照1. 2. 3. 4.5.的顺序进行编号!

TA的精华主题

TA的得分主题

发表于 2018-7-2 16:38 | 显示全部楼层
占个2楼,坐等被骂!
      三无产品,无能为力!

TA的精华主题

TA的得分主题

发表于 2018-7-3 15:43 | 显示全部楼层
  1. Sub test()
  2. '预处理
  3.     Dim i As Paragraph, r As Range, n&
  4.     With ActiveDocument.Content.Find
  5.         .Execute "^13", , , 0, , , , , , "^p", 2
  6.         .Execute "^11", , , 0, , , , , , "^p", 2
  7.         .Parent.ListFormat.ConvertNumbersToText
  8.     End With
  9.     With Selection
  10.         .WholeStory
  11.         .ClearFormatting
  12.         CommandBars.FindControl(ID:=122).Execute
  13.         CommandBars.FindControl(ID:=123).Execute
  14.         With .Font
  15.             .Kerning = 0
  16.             .DisableCharacterSpaceGrid = True
  17.         End With
  18.         With .ParagraphFormat
  19.             .AutoAdjustRightIndent = False
  20.             .DisableLineHeightGrid = True
  21.         End With
  22.         Set r = .Range
  23.         For Each i In r.Paragraphs
  24.             If Asc(i.Range) = 13 Then i.Range.Delete
  25.         Next
  26.     End With
  27. '编号预处理
  28.     With Selection
  29.         .HomeKey unit:=wdStory
  30.         With .Find
  31.             .ClearFormatting
  32.             .Replacement.Text = ""
  33.             Do While .Execute("^13[一二三四五六七八九十0-90-9\((百零〇○Oo千]{1,}[、..\))]", , , 1, , , 1)
  34.                 With .Parent
  35.                     If .Information(12) Then .Tables(1).Range.Next.Select: .HomeKey 5
  36.                     If .Text Like "?(*" Then .Characters(2).CharacterWidth = wdWidthFullWidth
  37.                     If .Text Like "*)" Then .Characters.Last.CharacterWidth = wdWidthFullWidth
  38.                     If .Text Like "*)" Then If .Next.Text = "、" Then .Next.Delete
  39.                     If .Text Like "*[0-90-9]*" Then
  40.                         If .Text Like "?(*)" Then .MoveStart 1, 2: .MoveEnd 1, -1
  41.                         If .Text Like "*[、..]" Then .Characters.Last.Text = "."
  42.                         .Range.CharacterWidth = wdWidthHalfWidth
  43.                     End If
  44.                     .Collapse 0
  45.                 End With
  46.             Loop
  47.         End With
  48.     End With
  49. '核心代码--颜色语句如果不喜欢,可以屏蔽/注释该行
  50.     For Each i In ActiveDocument.Paragraphs
  51.         If Not i.Range.Information(12) Then
  52.             If i.Range Like "[一二三四五六七八九十百零〇○Oo千]*、*" Then
  53.                 i.Range.Font.Color = wdColorRed '红色
  54.                 n = 0
  55.             ElseIf i.Range Like "#.*" Or i.Range Like "##.*" Or i.Range Like "###.*" Or i.Range Like "####.*" Then
  56.                 i.Range.Font.Color = wdColorBlue '蓝色
  57.                 n = n + 1
  58.                 ActiveDocument.Range(Start:=i.Range.Characters(1).Start, End:=i.Range.Characters(InStr(i.Range, ".")).End - 1).Text = n
  59.             End If
  60.         End If
  61.     Next
  62.     Selection.HomeKey 6
  63. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-7-16 20:20 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 23:38 , Processed in 0.040428 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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