本帖最后由 geryjun 于 2012-5-12 13:07 编辑
批量设置下划线题号代码已经在18楼,现在我想修改为 对选定内容进行操作,这样我可以在同一个页面对三种条件进行操作,不会对其他内容产生影响。
我看过类似的代码,但不会修改,请高手指教。
Selection.ParagraphFormat.TabStops.ClearAll
'基于选定内容的查找与替换
Dim myFind() As Variant, myReplace As String
Dim aArray As Variant, mySet As String, n As Integer, M As Integer
Dim myRange As Range, myBk As Bookmark
------------------------------
在编辑试题时,常常要修改题号为 1 可是网上下载的一些文档有出现以下三种情况,如____1_____、 1 、1、
求助如何批量修改为统一格式,具体请见附件。谢谢
现在基本解决了,代码在18楼。谢谢 sqhsqhli 的提示:
现在根据10楼内容,录制了条件一的代码:但是测试时去不能实现加下划线的效果,求解。
- Sub 条件1()
- '
- ' 文档中的多个连续的空格变成一个半角空格
- '
- Selection.Find.ClearFormatting
- Selection.Find.Replacement.ClearFormatting
- With Selection.Find
- .Text = "^32{1,}"
- .Replacement.Text = "^32"
- .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
- Selection.Find.Execute Replace:=wdReplaceAll
- '除英文间的空格保留之外,其余多余的空格都被删除
- Selection.Find.ClearFormatting
- Selection.Find.Replacement.ClearFormatting
- With Selection.Find
- .Text = "([!a-zA-Z])( )([!a-z,A-Z])"
- .Replacement.Text = "\1\3"
- .Forward = True
- .Wrap = wdFindContinue
- .Format = False
- .MatchCase = False
- .MatchWholeWord = False
- .MatchByte = False
- .MatchAllWordForms = False
- .MatchSoundsLike = False
- .MatchWildcards = True
- End With
- '添加下划线
- Selection.Find.ClearFormatting
- Selection.Find.Replacement.ClearFormatting
- With Selection.Find
- .Text = "[0-9]{1,}"
- .Replacement.Text = "^32^&^32"
- .Forward = True
- .Wrap = wdFindContinue
- .Format = True
- .MatchCase = False
- .MatchWholeWord = False
- .MatchByte = False
- .MatchAllWordForms = False
- .MatchSoundsLike = False
- .MatchWildcards = True
- End With
- Selection.Find.Execute Replace:=wdReplaceAll
- End Sub
复制代码- Sub 条件二()
- '
- ' 替换__ 为空格,转换为条件三格式
- '
- Selection.Find.ClearFormatting
- Selection.Find.Replacement.ClearFormatting
- With Selection.Find
- .Text = "__"
- .Replacement.Text = " "
- .Forward = True
- .Wrap = wdFindContinue
- .Format = False
- .MatchCase = False
- .MatchWholeWord = False
- .MatchByte = False
- .MatchWildcards = False
- .MatchSoundsLike = False
- .MatchAllWordForms = False
- End With
- Selection.Find.Execute Replace:=wdReplaceAll
- Selection.Find.Execute Replace:=wdReplaceAll
- With Selection.Find
- .Text = "_"
- .Replacement.Text = " "
- .Forward = True
- .Wrap = wdFindContinue
- .Format = False
- .MatchCase = False
- .MatchWholeWord = False
- .MatchByte = False
- .MatchWildcards = False
- .MatchSoundsLike = False
- .MatchAllWordForms = False
- End With
- Selection.Find.Execute
- Selection.Find.Execute Replace:=wdReplaceAll
- Selection.Find.Execute Replace:=wdReplaceAll
- End Sub
复制代码 现在的关键就是条件一的最后下划线可以实现的话,其他问题都可以解决。
附件内容如下:(内容来自于网络,内容没有任何意义,只是做演示。)
新建 Microsoft Word 文档.zip
(4.15 KB, 下载次数: 34)
条件一: 中广网北京5月8日消息 据 1 经济之声《天下财经》报道,通化 2 金马昨天晚间发布公告,公司 3 又有两个批号的胶囊产品 4 被查出铬超标,胶囊的 5 来源来自早前已被曝光的问题供 6 应商华星胶丸厂。目前, 7 问题胶囊已全都 8 流入市场,通化金马将组 9 织召回和销毁。此前通化金马一 10 度宣 11 称除临时从 12 卓康胶囊厂购 13 进胶囊外,没 14 有再向其他被曝光的问 15 题供应商采购。 条件二 中广网北京5月8日消息 据 ____1_____ 经济之声《天下财经》报道,通化____2____金马昨天晚间发布公告,公司____3____又有两个批号的胶囊产品____4____被查出铬超标,胶囊的____5____来源来自早前已被曝光的问题供____6____应商华星胶丸厂。目前,____7____问题胶囊已全都____8____流入市场,通化金马将组____9____织召回和销毁。此前通化金马一____10____度宣____11____ 称除临时从____12____卓康胶囊厂购____13____进胶囊外,没____14____有再向其他被曝光的问____15____题供应商采购。 条件三 中广网北京5月8日消息 据 1 经济之声《天下财经》报道,通化 2 金马昨天晚间发布公告,公司 3又有两个批号的胶囊产品4被查出铬超标,胶囊的5来源来自早前已被曝光的问题供6应商华星胶丸厂。目前,7 问题胶囊已全都8 流入市场,通化金马将组9 织召回和销毁。此前通化金马一10 度宣11 称除临时从12 卓康胶囊厂购13 进胶囊外,没14 有再向其他被曝光的问15 题供应商采购。 最终效果: 中广网北京5月8日消息 据 1 经济之声《天下财经》报道,通化 2 金马昨天晚间发布公告,公司 3 又有两个批号的胶囊产品 4 被查出铬超标,胶囊的 5 来源来自早前已被曝光的问题供 6 应商华星胶丸厂。目前, 7 问题胶囊已全都 8 流入市场,通化金马将组 9 织召回和销毁。此前通化金马一 10 度宣 11 称除临时从 12 卓康胶囊厂购 13 进胶囊外,没 14 有再向其他被曝光的问 15 题供应商采购。
|