ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 查找关键字,然后替换关键字所在段落的样式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-2-19 22:57 | 显示全部楼层 |阅读模式
本帖最后由 niehongzhou9 于 2021-2-19 23:00 编辑

无标题.png

所图所示,“图表”这二个字所在的段落样式是不对的(包括字体不统一/有时候整段都是宋体等,而正确的是全段都是黑体),需要重新应用正确的段落样式。查找替换功能某似没有办法做到。
请问各位大佬,有没有好办法处理这种情况呢,我是每次只能手动去做。

TA的精华主题

TA的得分主题

发表于 2021-2-20 02:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub 题注黑体()
  2. '不选则全选
  3.     Dim r As Range
  4.     Set r = IIf(Selection.Type = wdSelectionIP, ActiveDocument.Content, Selection.Range)
  5.     With r.Find
  6.         .ClearFormatting
  7.         .Text = "图表"
  8.         .Forward = True
  9.         .MatchWildcards = True
  10.         Do While .Execute
  11.             With .Parent
  12.                 If Not Selection.Type = wdSelectionIP Then
  13.                     If .End > Selection.End Then Exit Do
  14.                 End If
  15.                 With .Paragraphs(1).Range.Font
  16.                     .NameFarEast = "黑体"
  17.                     .NameAscii = "Arial"
  18.                     .Bold = False
  19.                 End With
  20.             End With
  21.         Loop
  22.     End With
  23. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-20 17:37 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-20 17:49 | 显示全部楼层
有没有选项让我点击的,因为文件中,还有其它地方有“图表”二字,而且是不需要调整样式的。

TA的精华主题

TA的得分主题

发表于 2021-2-20 18:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
niehongzhou9 发表于 2021-2-20 17:49
有没有选项让我点击的,因为文件中,还有其它地方有“图表”二字,而且是不需要调整样式的。

这个直接用替换就可以,很方便的。
文档里得有希望的段落样式,如果没有,先设置一个好比名称为tubiao的样式,字体为黑体等等。

然后替换:
勾选使用通配符

查找内容:
图表[0-9]@^32
或者:
图表[0-9]
具体看文档的内容特点。

替换为框内容是空的,但样式选择tubiao

最后,全部替换。

这类操作,是WORD非常擅长的了。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-2-20 18:12 | 显示全部楼层
niehongzhou9 发表于 2021-2-20 17:49
有没有选项让我点击的,因为文件中,还有其它地方有“图表”二字,而且是不需要调整样式的。

您所想要的选项,更改表达式就可以了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-20 23:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
gemj 发表于 2021-2-20 18:11
这个直接用替换就可以,很方便的。
文档里得有希望的段落样式,如果没有,先设置一个好比名称为tubiao的 ...

这个非常好,可以控制想要替要和不想要替换的部分,谢谢哈。。

还想问一下,有没有办法,把这个查找和替换的内容,保存起来,然后下次不用再次输入,像宏一样的,点击就可以运行的方法呢。因为平时经常有这样的操作。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-20 23:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
gemj 发表于 2021-2-20 18:11
这个直接用替换就可以,很方便的。
文档里得有希望的段落样式,如果没有,先设置一个好比名称为tubiao的 ...

这个非常好,可以直接控制 想替换和不想替换的地方,感谢!

另外,我想问一下这种查找替换操作,是否可以保存起来,然后下一次再用,而不用再次输入呢。因为平时有很多这样的文件需要操作。

TA的精华主题

TA的得分主题

发表于 2021-2-21 03:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-2-21 09:59 | 显示全部楼层
niehongzhou9 发表于 2021-2-20 23:50
这个非常好,可以直接控制 想替换和不想替换的地方,感谢!

另外,我想问一下这种查找替换操作,是否 ...
  1. Sub TubiaoStyle()
  2.     With ActiveDocument.Content.Find
  3.         .ClearFormatting
  4.         .Replacement.ClearFormatting
  5.         .Replacement.Style = "tubiao"
  6.         .Execute FindText:="图表[0-9]@^32", ReplaceWith:="", Format:=True, Forward:=True, Replace:=wdReplaceAll, MatchWildcards:=True
  7.     End With
  8. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 00:57 , Processed in 0.042298 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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