ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

Word中如何用替换功能将包含某特定字符的段落格式改变为无缩进、且居中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-12-26 17:03 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
如题,求教,Word中如何用替换功能将包含某特定字符的段落格式改变为无缩进、且居中,

我的文档里面有很多个 第一章、第二章,如何批量将包括“第一章”的段落居中且无缩进。

PPP的财政效应.zip

5.69 KB, 下载次数: 20

TA的精华主题

TA的得分主题

发表于 2014-12-26 17:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Word 这方面可能有点小 Bug 吧,
单纯替换解决不了 首行缩进2字符的问题。

还是用 查找+设置段落格式 来解决吧。
点击“查找”选项卡,
查找内容:
  1. (第[一二三四五六七八九十廿卅卌]@章*^13)
复制代码
(注:查找时,前后的圆括号要不要都行。要圆括号的话,只是方便你替换时当作表达式引用。)
搜索:全部,
勾选“使用通配符”,
在以下项中查找:主文档,
关闭。
如下图:
01.png

然后鼠标不要乱点,
直接打开“段落”对话框,
对齐方式:居中,
特殊格式:(无),
确定。
如下图:
02.png


TA的精华主题

TA的得分主题

发表于 2014-12-26 17:43 | 显示全部楼层
然后,
建议楼主再用“替换”的方法,在“章、节”后面加一个全角空格。

点击“替换”选项卡,
勾选“使用通配符”,
查找内容:
  1. (第[一二三四五六七八九十廿卅卌]@[章节])
复制代码
(注意,与2楼的有变化。)
替换为:
  1. \1 
复制代码
(注意:“\1”后面有个全角空格。)
点“全部替换”按钮。
如下图:
03.png







TA的精华主题

TA的得分主题

发表于 2014-12-26 19:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 第一章()
    Dim i As Paragraph
    For Each i In ActiveDocument.Paragraphs
        If i.Range.Characters(1) = "第" Then
            If i.Range.Characters(3) = "章" Or i.Range.Characters(4) = "章" Or i.Range.Characters(5) = "章" Then
                i.Style = ActiveDocument.Styles(wdStyleSubtitle)
                With i.Range
                    With .Font
                        .Name = "黑体"
                        .Name = "Arial"
                    End With
                    With .ParagraphFormat
                        .SpaceBefore = 30
                        .SpaceAfter = 24
                        .AutoAdjustRightIndent = False
                        .DisableLineHeightGrid = True
                    End With
                End With
            End If
        End If
    Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-26 22:55 | 显示全部楼层
周星骋 发表于 2014-12-26 17:35
Word 这方面可能有点小 Bug 吧,
单纯替换解决不了 首行缩进2字符的问题。

感动得快哭了,只能说感谢再感谢2楼周星骋:
一、化解了我多日的困惑,原来是word的bug,其实一直在怀疑自己;
二、解决方法堪称绝妙,其他地方没有,用查找就能一次修改,同样简便;
三、服务周到完善,居然把我想要做的下一步加空格的解答方法也提供了;
四、解决方法很具有启发性,可以运用到很多地方。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-26 22:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2014-12-26 19:35
Sub 第一章()
    Dim i As Paragraph
    For Each i In ActiveDocument.Paragraphs

尽管还没有用上VBA,但是非常感谢

TA的精华主题

TA的得分主题

发表于 2014-12-29 09:57 | 显示全部楼层
本帖最后由 周星骋 于 2014-12-29 10:10 编辑
libing099 发表于 2014-12-26 22:55
感动得快哭了,只能说感谢再感谢2楼周星骋:
一、化解了我多日的困惑,原来是word的bug,其实一直在怀疑 ...


楼主小样儿,太夸张了吧,哪有那么容易就感动成啷个样子噻。

另外,“Word 的 Bug” 我只是随口那么一说。可不敢宣传。

也许不是 Bug,有意那么设计也有可能。
例如,我发现:
  首行缩进,跟所选文字的字号有关。
  左缩进,跟“正文”样式的字号有关。
默认的“正文”样式,如果没有修改过,它用的是字号是五号字。
在这个前提下,在文档选定文字,设置三号字大小,当:
首行缩进2字符时,实际首行缩进的就是2个三号字位置;
左缩进2字符时,实际左缩进的却是2个五号字的位置。
如下图:
001.png
以上用三号字,只是举个例子,实际上用任何大小的字号,都存在这个问题。

下面这个附件,只有当Word的默认“正文”样式没修改过时,才看得到如上效果:
首行缩进、左缩进的字号问题.rar (6.11 KB, 下载次数: 8)

虽然我一直没搞明白其用意何在,
但只能相信存在的即是合理的。
所以我通常要用到左缩进时,只能用厘米或磅来控制了。

另外,当左缩进为“厘米”,悬挂缩进为“字符”时,我记得也不能准确控制。
左缩进、悬挂缩进的度量单位,不能一个用长度、另一个用字符数,
不说必须统一吧,但哪怕一个用厘米、另一个用磅也行。当然同时用厘米更好。
很想同时用字符数,可是如同前面所述,它达不到理想要求哇。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-31 20:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
周星骋 发表于 2014-12-29 09:57
楼主小样儿,太夸张了吧,哪有那么容易就感动成啷个样子噻。

另外,“Word 的 Bug” 我只是随口那么 ...

虽然还没理解透彻,但必须为你的专业点赞

TA的精华主题

TA的得分主题

发表于 2021-4-12 18:10 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 22:27 , Processed in 0.042850 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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