ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] word更改格式,未达理想效果。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-2-2 22:23 | 显示全部楼层 |阅读模式
本帖最后由 weiyingde 于 2020-2-6 15:28 编辑

要求:在word自带的查找替换下,匹配红字部分的表达式,并改变其颜色调字体等格式。

注意事项:
1.本试包括道德与法治试题和历史试题,满分80分,考试时同80分钟。
2.答卷前,考生务必将自己的名、准考证号填写在试题和答题卡上,并将准考证号条形码粘贴在答题卡上的指定位置。
3.1-11题为道德与法治选择题,14-21题为历史选择题,每小题选出答案后,用2B铅笔把答题卡上对应题目的答案标号涂黑,如果改动,用橡皮擦千净后,再涂其他答常标雪,答在试卷上无效。
4.非逃择题的作答:用0.5毫米黑色墨水签宇笔直接答在答题卡上对应的答题区域内。答在试题卷上无效。
5.考生必须保持答题卡的整洁、考试结束后,请将本试题卷和答题卡一开上交。

道德与法治试题
一、选择题:本题共11小題,每小题2分,共22分。在每小题给出的四个选项中,只有一项是符合题目要求的。

代码如下:
Sub 更改注意条款格式()
With ActiveDocument
     With .Content.Find
          .ClearFormatting
          With .Replacement
               .ClearFormatting
               .Font.ColorIndex = wdBlack
               .Font.Name = "华文楷体"
               .Font.Size = 9.5
               .Font.Bold = False
         End With
         .Execute "注意事项:(^13[1-9]@[\.、.]@[!^13]@*)^13[!^13\d\.、.]@", , , 1, , , , , , "^&", 2
     End With
End With
End Sub

问题:只能更改部分,并不能匹配全部条款。不知为何。

附件如下:

更改格式未达效果.rar

18.91 KB, 下载次数: 8

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-3 09:00 | 显示全部楼层
求助大侠,敬请援手,在线等候。先谢了。

TA的精华主题

TA的得分主题

发表于 2020-2-3 12:18 | 显示全部楼层
替换前先确认下能否手动查找到:
360截图20200203121102023.jpg
手动都查不全,肯定代码也执行不了。
可以写成这样:“注意事项:*5.[!^13]@^13”

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-3 13:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-2-3 13:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
\d     ?                              

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-3 14:07 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-3 18:11 | 显示全部楼层
zhanglei1371 发表于 2020-2-3 12:18
替换前先确认下能否手动查找到:

手动都查不全,肯定代码也执行不了。

谢谢张老师的回复。你的代码对本例有用,但如果不是是五条:或以下,或以上,这个代码就不能执行。
——缺乏通用性。有功夫烦请张先生再看看。先谢了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-3 18:33 | 显示全部楼层
用正则,自我解决了。
Sub 正则看看()
isr = ActiveDocument.Content
With CreateObject("Vbscript.RegExp")
     .Global = False
     .MultiLine = True
     .Pattern = "注意事项:\r(^\d[\.、.][^\r]*\r)*(?!^\d)"
     Set mh = .Execute(isr)
     For Each mt In mh
         MsgBox mt
     Next
End With
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-3 19:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
自我搞定,匹配文本并修改格式,代码如下:
Sub 正则看看()
isr = ActiveDocument.Content
With CreateObject("Vbscript.RegExp")
     .Global = False
     .MultiLine = True
     .Pattern = "(注意事项:\r)((^\d[\.、.][^\r]*\r)*(?!^\d))"
     Set mh = .Execute(isr)
         ft = mh(0).firstindex
         lth = mh(0).Length
         lh = Len(mh(0).submatches(0))
         With ActiveDocument.Range(ft, ft + lh).Font
              .Name = "方正苏新诗柳楷简体"
              .ColorIndex = wdDarkRed
              .Size = 14
         End With
         With ActiveDocument.Range(ft + lh, ft + lth).Font
              .Name = "仿宋"
              .ColorIndex = wdBlue
              .Size = 7.5
         End With
End With
End Sub

正则看看.rar

20.53 KB, 下载次数: 11

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-4 17:59 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
用word自带的查找能写出合理的表达是吗?请过路的大侠援手。期待!!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-4-30 17:38 , Processed in 0.036263 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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