ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 怎样判断每段文字最后有无标点符号?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-9-1 16:16 | 显示全部楼层 |阅读模式
一篇WORD文件中很多段落,我想批量查找段落最后没有标点符号的(我的工作是找出段落末遗漏标点符号的进行补齐),有什么办法可以做到?
谢谢了!

TA的精华主题

TA的得分主题

发表于 2016-9-1 16:59 | 显示全部楼层
本帖最后由 duquancai 于 2016-9-1 18:20 编辑

无具体需求,无附件!都是空谈!!!开启全局匹配,开启多行模式  正则表达式为: "(?![^一-﨩\x00-\x7F]).$"

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-1 20:10 | 显示全部楼层
duquancai 发表于 2016-9-1 16:59
无具体需求,无附件!都是空谈!!!开启全局匹配,开启多行模式  正则表达式为: "(?![^一-﨩\x00-\x7F]). ...

是我大意了,我以为问问就能明白,没想到专业性那么强,恐怕只简单听听我还弄不明白。上个附件,请您帮忙!谢谢老师!
文档段落末标点太乱, 最终目标是把段落末所有符号和空格都替换为句号。中间目标:1.替换标点
2.替换空格
3.替换其他符号
随便完成那个目标都是进步。
再次感谢。

统一段落末标点符号.zip

26.03 KB, 下载次数: 19

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-1 20:42 | 显示全部楼层
duquancai 发表于 2016-9-1 16:59
无具体需求,无附件!都是空谈!!!开启全局匹配,开启多行模式  正则表达式为: "(?![^一-﨩\x00-\x7F]). ...

老师,请给我讲解一下你的正则表达式好吗?我不懂。
"(?![^一-﨩\x00-\x7F]).$"
查了查,$表示行尾
^一-﨩是排除所有汉字
?!是进行负正向预查
我上边理解的对吗?\x00-\x7F是什么意思呢?还有,$前边那个点也让我迷惑。

TA的精华主题

TA的得分主题

发表于 2016-9-5 10:54 | 显示全部楼层
dongfgdwdjg 发表于 2016-9-1 20:10
是我大意了,我以为问问就能明白,没想到专业性那么强,恐怕只简单听听我还弄不明白。上个附件,请您帮忙 ...

网友好!
1、您是不是要把所有段尾的标点、符号、空格,都统一去掉,再替换为中文句号?
2、段尾中,有中文分号和Calibri字体的引号是否保留?再加上句号?
3、这种Calibri字体的引号是否可变为中文引号?

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-5 11:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
13907933959 发表于 2016-9-5 10:54
网友好!
1、您是不是要把所有段尾的标点、符号、空格,都统一去掉,再替换为中文句号?
2、段尾中,有 ...

1、要把所有段尾的标点、符号、空格,都统一去掉,再替换为中文句号;
2、段尾中,有中文分号和Calibri字体的引号不保留,直接删除后加上句号;
3、Calibri字体的引号可以变为中文引号。
我主要想通过这个案例学习些知识,所以,不管能否达到目标,只要过程中有值得学习的推进/知识点,我都深表感谢!您知道的,都可以说出来,或许您认为很平常的知识点,就可能对我产生很大帮助。
谢谢!!

TA的精华主题

TA的得分主题

发表于 2016-9-5 12:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
dongfgdwdjg 发表于 2016-9-5 11:58
1、要把所有段尾的标点、符号、空格,都统一去掉,再替换为中文句号;
2、段尾中,有中文分号和Calibri ...

网友好!看这个能否成?

Sub 删除所有段尾的标点_符号_空格替换为句号()
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "[!一-龥]@^13"
        .Replacement.Text = "。^13"
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-5 14:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
13907933959 发表于 2016-9-5 12:10
网友好!看这个能否成?

Sub 删除所有段尾的标点_符号_空格替换为句号()

谢谢!送花。
能麻烦您解释一下代码的意思和思路吗?我不懂。
运行后,发现还有相当多一部分段落后没有标点,我在查找规律,看是什么原因造成的。
另外,替换后,首行缩进给改变了,这是个副作用,不知道能否解决。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-5 14:18 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
13907933959 发表于 2016-9-5 12:10
网友好!看这个能否成?

Sub 删除所有段尾的标点_符号_空格替换为句号()

另外,请教个很菜的问题:在WORD中,代码能否象在excel中一样放到按钮中,点击按钮就可以 运行代码?怎么操作
我现在只会在VBE窗口中运行。

TA的精华主题

TA的得分主题

发表于 2016-9-5 15:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13907933959 于 2016-9-6 16:10 编辑
dongfgdwdjg 发表于 2016-9-5 14:18
另外,请教个很菜的问题:在WORD中,代码能否象在excel中一样放到按钮中,点击按钮就可以 运行代码?怎么 ...

网友好!

抱歉!中午没有来得及测试代码,请重新测试下面的代码!

Sub 查找所有中文字结尾至段落符之间的所有的标点_符号_空格()
    Selection.Find.ClearFormatting  '清除查找框内的格式。
    Selection.Find.Replacement.ClearFormatting  '清除替换框内的格式。
    With Selection.Find  '查找对象。
        .Text = "[!一-龥]@^13"  '查找的字符。
        .Replacement.Text = "
。^p"  '替换为的字符。
        .Forward = True  '向下搜索。
        .Wrap = wdFindContinue  '换行继续搜索。
        .MatchWildcards = True  '勾选"使用通配符"。
    End With  '语句结束。
    Selection.Find.Execute Replace:=wdReplaceAll  '本文档所有的关键字全部替换。
End Sub  '方法结束。


如想要把代码设置一个快捷按钮,可打开一个Word文档,依次右击文档上面的“工具→自定义→在出来的对话窗口左边→命令→宏→在右边找到那个宏→拖动到文档上面的工具栏中的合适位置,注意,这时不要关闭“自定义”对话框。右击刚刚拖到工具栏上的“Normal New Macros.test”,在弹出的快捷菜单中,选择“命名(N)”,将“命名”后面框中的“Normal.New Macros.test”删除,改为想要的名称(也可以用其它的任何图标、符号),关闭“自定义”对话框,即可。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-13 19:35 , Processed in 0.027921 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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