ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求一个查找文档内多余的标点符号并把它们改为蓝色的宏代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-10-10 11:07 | 显示全部楼层
139:我这儿感觉正常!
你把我下面的代码复制到原位置,替换一下你的代码:(另外,在宏里双击可以选定整个宏代码,复制到文本文件保存起来)
    doc.Content.Find.Execute findtext:="^l", ReplaceWith:="^p", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="(", ReplaceWith:="(", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:=")", ReplaceWith:=")", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“.", ReplaceWith:=".“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“,", ReplaceWith:=",“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“。", ReplaceWith:="。“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“、", ReplaceWith:="、“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“:", ReplaceWith:=":“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“?", ReplaceWith:="?“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“!", ReplaceWith:="!“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="“;", ReplaceWith:=";“", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="。”", ReplaceWith:="”。", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:=",”", ReplaceWith:="”,", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="。”", ReplaceWith:="”。", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="、”", ReplaceWith:="”、", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:=":”", ReplaceWith:="”:", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="?”", ReplaceWith:="”?", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:="!”", ReplaceWith:="”!", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:=".”", ReplaceWith:="”.", Replace:=wdReplaceAll
    doc.Content.Find.Execute findtext:=";”", ReplaceWith:="”;", Replace:=wdReplaceAll

TA的精华主题

TA的得分主题

发表于 2015-10-10 11:10 | 显示全部楼层
139:上面的代码,中文双引号又变了,你自己在代码中逐一调整吧,在两个英文双引号中间放入中文双引号。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-10 15:02 | 显示全部楼层
本帖最后由 13907933959 于 2015-10-11 07:37 编辑
413191246se 发表于 2015-10-10 11:10
139:上面的代码,中文双引号又变了,你自己在代码中逐一调整吧,在两个英文双引号中间放入中文双引号。

师傅好!

把你的代码复制粘贴到VBA代码窗口,代码1~8句不但不会变成红色,也不用把1~8句代码前边的第二个英文前引号换成中文前引号,且运行正常、替换的效果也正常。师傅说:“你那儿也感觉正常”。这就奇了怪,后来我发现师傅的代码字体是Tahoma(而我的是宋体,这个我在其它的代码上也用过,也能正常替换),且每行代码后面是手动换行符(而我的是段落标记),徒弟胡乱猜测会不会跟这个有关?还求师傅指教,谢谢!

师傅、为什么把你的代码复制粘贴到了文档内(未做任何编辑修改)再从文档上复制粘贴到代码窗口内,代码1~8句还是会变成红色(每句后面还无故多了一个英文引号还删不掉、在把第二句后面的英文引号删除后,第一句的后面又自动加上了英文引号,把1~8句代码前边的第二个英文前引号换成中文前引号,结果可正常运行,但替换的效果还是和原来一样。

另外、我在代码窗口内双击也不能复制整个宏代码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-12 07:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13907933959 于 2015-10-12 14:37 编辑
413191246se 发表于 2015-10-10 11:10
139:上面的代码,中文双引号又变了,你自己在代码中逐一调整吧,在两个英文双引号中间放入中文双引号。

回重复了,删了。

TA的精华主题

TA的得分主题

发表于 2015-10-12 08:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
139:建议你一句一句地手动调整,然后,在此宏范围内双击,可以复制保存到文本文档中;如果想保存所有代码,在 NewMacros 上点击右键,选择导出(NewMacros.bas)即可;以后可以导入替换现在的所有代码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-12 14:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2015-10-12 08:58
139:建议你一句一句地手动调整,然后,在此宏范围内双击,可以复制保存到文本文档中;如果想保存所有代码 ...

师傅好!
我是把你的代码复制粘贴到了文档内(未做任何编辑修改)再从文档上复制粘贴到代码窗口内,后加的前8句替换标点符号的代码还是会变成红色,然后,我再一句一句地手动把这些代码前边的第二个英文前引号换成中文前引号,(可每句的末尾会无故多出一个英文引号,还删不掉、在把第二句后面的英文引号删除后,第一句的后面又自动加上了英文引号)但宏可正常运行,但替换的效果还是和原来一样,会出错。
师傅、你给我的代码具体是用什么方法弄好的?

TA的精华主题

TA的得分主题

发表于 2015-10-12 21:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
其实我也是一句一句地调整的,你也一句一句地调整吧,保存方法见楼上。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-13 08:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2015-10-12 21:23
其实我也是一句一句地调整的,你也一句一句地调整吧,保存方法见楼上。

师傅好!
意思是这种代码,不能用复制粘贴到文档内(不做任何编辑和修改)的保存方法,如再从文档上复制粘贴到代码窗口内,代码就会变形,只有用25楼的方法保存,才能让它不走样,是吧!师傅!

TA的精华主题

TA的得分主题

发表于 2015-10-13 10:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是的,中英文双引号,在代码里要分清,手动调整,一一确认,保存时要复制后直接粘贴到文本文档中即可。

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-10-13 16:32 | 显示全部楼层
413191246se 发表于 2015-10-13 10:57
是的,中英文双引号,在代码里要分清,手动调整,一一确认,保存时要复制后直接粘贴到文本文档中即可。

感谢师傅的一路扶行!谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-15 18:22 , Processed in 0.023573 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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