ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] Word2003 通用模板宏《2017春节版-SP1》!!!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-4-12 22:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
weiyingde 发表于 2017-4-12 21:27
413191246se ,我集众人代码,合成了一个格式整理的程序,可惜不能把这篇文档按要求整理出来——即不能消除 ...

http://club.excelhome.net/forum. ... ead&tid=1323258
参考这个帖子,有时候,手工操作也一两分钟搞定,不要一句代码....

TA的精华主题

TA的得分主题

发表于 2017-4-12 22:51 | 显示全部楼层
jiminyanyan 发表于 2017-4-12 22:50
http://club.excelhome.net/forum.php?mod=viewthread&tid=1323258
参考这个帖子,有时候,手工操作也一 ...

或者可以考虑把这个查找替换写成VBA.....

TA的精华主题

TA的得分主题

发表于 2017-4-13 10:58 | 显示全部楼层
Sub 宏1()
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "([!。:!?……)])^13"
        .Replacement.Text = "\1"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

TA的精华主题

TA的得分主题

发表于 2017-4-13 19:43 | 显示全部楼层
jiminyanyan 发表于 2017-4-13 10:58
Sub 宏1()
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting

具体情况是这样的,见代码中的注释:
Sub 处理断行()
With ActiveDocument.Content
    With .Find
         '.Execute "([!\[\(【)]@[!一二三四五六七八九十甲乙丙丁]@[!\]】\))]@[、\..  ]@*[!,:。?!”》]{1,})^13", , , 1, , , , , , "\1", 2 '处理断行:排除带有标号的小标题
         '比如,下面的标题后面都没有标点,都不能视为断行,所以要排除一些情况。
         '(1)、Word VBA 讲座
         '[甲]、中国的边疆
         '【丙】.中考专题—标点符号的用法
         '一、中国“四大名著”复习
    End With
    With .Find
          .Replacement.Font.NameFarEast = "方正康体简体"
          .Replacement.Font.ColorIndex = wdDarkBlue
          .Replacement.Font.Size = 15
          .Execute "([\[【((]@[一二三四五六七八九十甲乙丙丁]{1,})([\]】))]@[、,  ]@*^13)", , , , , , , , , "^&", 2 '处理标题
          .Execute "([一二三四五六七八九十]@[、,]*^13)", , , 1, , , , , , "^&", 2
    End With
End With
End Sub

请帮我看看取作用的两行代码。

TA的精华主题

TA的得分主题

发表于 2017-4-13 20:28 | 显示全部楼层
weiyingde 发表于 2017-4-13 19:43
具体情况是这样的,见代码中的注释:
Sub 处理断行()
With ActiveDocument.Content

可否做个需要处理断行的附件上来......

TA的精华主题

TA的得分主题

发表于 2017-4-13 22:15 | 显示全部楼层
jiminyanyan 发表于 2017-4-13 20:28
可否做个需要处理断行的附件上来......

自己优化了一下,解决了一些问题,还有两个毛病:
作为小标题该断却连,该连却断
我附上附件,你帮我测试调解一下,我基本花了一天的时间。

毛病:该断却连该连却断.rar

38.21 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2017-4-13 22:18 | 显示全部楼层
本帖最后由 weiyingde 于 2017-4-14 08:04 编辑
weiyingde 发表于 2017-4-13 22:15
自己优化了一下,解决了一些问题,还有两个毛病:
作为小标题该断却连,该连却断
我附上附件,你帮我测 ...


在附件中,单独处理这两个问题时候,没有出现类似的情况,但是融入主程序中,就出毛病了。程序替换较多,不知在那个替换上有纰漏。请帮我看看。

TA的精华主题

TA的得分主题

发表于 2017-4-14 11:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jiminyanyan 发表于 2017-4-13 20:28
可否做个需要处理断行的附件上来......

优化了一个问题,又来了一个问题:
原代码:.Execute "([!\[\(【(第]@)([!A-Z一二三四五六七八九十甲乙丙丁]{1,})([!\]\)】)]@)([、,.\.]@)(*)([!。:!?……)\)])^13", , , 1, , , , , , "\1\2\3\4\5\6", 2 '处理断行,排除带有标号的小标题。
将宏色代码删除,运行代码后,不会出现
将“(1)、Word VBA讲座”折行为:
“(1)、Word
VBA讲座
但同时问题又来了,如果小标题是这样:(A)、Word VBA讲座,又不会视为小标题了

TA的精华主题

TA的得分主题

发表于 2017-4-14 12:48 | 显示全部楼层
weiyingde 发表于 2017-4-14 11:32
优化了一个问题,又来了一个问题:
原代码:.Execute "([!\[\(【(第]@)([!A-Z一二三四五六七八九十甲乙 ...

有些问题,代码做的不是很完美,也只能手工较对调整,算是半自动吧....

TA的精华主题

TA的得分主题

发表于 2017-4-14 13:48 | 显示全部楼层
jiminyanyan 发表于 2017-4-14 12:48
有些问题,代码做的不是很完美,也只能手工较对调整,算是半自动吧....

是的,很难调试,继续在调试,很不稳定,不知是什么原因——肯定是不完美的。若有时间,请你帮帮忙,将代码查查,看哪儿表达不规范。谢谢你
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-10 06:32 , Processed in 1.053150 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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