ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求前辈们帮忙实现这样的“查找替换”

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-5-7 16:27 | 显示全部楼层
13907933959 发表于 2017-5-7 14:55
前辈好!
此言差矣!有不有意义我觉得是因人、因事而异,VBA 本来就不是大多数人能用得上的,您说全球70 ...

小花鹿说的极是,一口吃不了个胖子,一锄头挖不出个井!很多实用的程序,都是在不断完善当中逐步实现的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-7 16:41 | 显示全部楼层
skyzxh 发表于 2017-5-7 15:58
是看不明白你要做什么?如果是VBA代码,改不改字体颜色有啥关系?(1、把全文字符设为、黑色。);这里( ...

前辈好!
1、改字体颜色是为统一颜色,因为我收藏的代码字体颜色不统一,有自动色、黑色、灰色…等。
2、把文档中的手动换行符,全部替换为段落符,因我要整理的代码中有手动换行符,也有段落符。
3、手动换行符↓ 段落符(即:段落标记 ↵ )。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-7 16:57 | 显示全部楼层
weiyingde 发表于 2017-5-7 16:27
小花鹿说的极是,一口吃不了个胖子,一锄头挖不出个井!很多实用的程序,都是在不断完善当中逐步实现的。

前辈好!
这个替换对我来说,因水平不够是实现不了,但我感觉对道行比我深的前辈并不是什么难事,肯定可以实现,只不过烦琐一些,花的时间要多一些而已。

TA的精华主题

TA的得分主题

发表于 2017-5-7 17:38 | 显示全部楼层
13907933959 发表于 2017-5-7 16:57
前辈好!
这个替换对我来说,因水平不够是实现不了,但我感觉对道行比我深的前辈并不是什么难事,肯定可 ...

当然可以实现。但是,你的要求,毕竟是一个完整的程序。这且不说,你有懒惰且绑架别人义务完成你“空中楼阁”的嫌疑,单说这一系列任务下来,有哪些人有那么多的时间介入其中?
你提的问题越细,角度越小,对帮助的人来说,负担越小,花费的时间越短,别人也就愿意接手解决。
若是一系列的任务,别人恐怕想帮忙,也会敬而远之。
毕竟,你要实现的东西,也许对你而言是“宝贝”,但在别人眼里可能是无用的“废物”——“零动力”是吸引不了人的;
更何况,大家都是“义务员”——“零报酬”,即使“袖手旁观”,心中也没有任何愧疚。

TA的精华主题

TA的得分主题

发表于 2017-5-7 17:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
若是说重了,敬请原谅。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-9 14:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 13907933959 于 2017-5-21 08:27 编辑

好的、感谢提醒和见议!

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-11 08:04 | 显示全部楼层
本帖最后由 13907933959 于 2017-5-11 16:17 编辑

刚才在邮箱内看到g××××××前辈(应他的要求,隐去他的网名)发来的处理该问题的GIF录像,从录像上看,代码运行的效果是很完美的解决了该问题,遗憾的是他说他这次不愿提供代码。遗憾归遗憾,还是要对他说一声谢谢!感谢他提供的录像,感谢他以前曾多次的出手相助!
aaa.gif

TA的精华主题

TA的得分主题

发表于 2017-5-11 18:34 来自手机 | 显示全部楼层
13907933959 发表于 2017-5-11 08:04
刚才在邮箱内看到g××××××前辈(应他的要求,隐去他的网名)发来的处理该问题的GIF录像,从录像上看, ...

估计给点小费就有代码了

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-5-12 06:38 | 显示全部楼层
本帖最后由 13907933959 于 2017-5-12 08:07 编辑
jiminyanyan 发表于 2017-5-11 18:34
估计给点小费就有代码了
前辈好!
这个他到没说,我也不好问,人家不给也可能有他的难处或有其它的用意,就像有的代码要密码,有的代码只有一张图片,有的代码只上传录像,只能理解万岁!像我这样的菜鸟真希望前辈们,都能给一个可正常用使用带中文注解的代码!唉!可毕竟是希望啊!

TA的精华主题

TA的得分主题

发表于 2017-5-12 11:07 | 显示全部楼层
*** 139:请处理前备份文件,满意后再存盘!(复制代码到VBE中,关闭VBE,按 Alt+F8 再找 c打头的宏执行):
  1. Sub c1全文黑色()
  2.     ActiveDocument.Content.Font.Color = wdColorBlack
  3. End Sub
  4. Sub c2手动换行符全部替换为段落标记()
  5.     ActiveDocument.Content.Find.Execute FindText:="^l", ReplaceWith:="^p", Replace:=wdReplaceAll '手动换行符全部替换为段落标记
  6.     ActiveDocument.Content.Find.Execute FindText:="^13", ReplaceWith:="^p", Replace:=wdReplaceAll '真假回车符全部替换为段落标记
  7. End Sub
  8. Sub c3单引号前空格替换为两个半角空格()
  9.     ActiveDocument.Content.Find.Execute FindText:="[!a-z0-9]@(')", ReplaceWith:="  \1", Replace:=wdReplaceAll, MatchWildcards:=True
  10.     ActiveDocument.Content.Find.Execute FindText:="([a-z0-9])(')", ReplaceWith:="\1  \2", Replace:=wdReplaceAll, MatchWildcards:=True
  11.     MsgBox "处理完毕!!!"
  12. End Sub
  13. Sub c5中文注释结尾加标点()
  14.     Dim i As Paragraph
  15.     For Each i In ActiveDocument.Paragraphs
  16.         If i.Range Like "*'*[!。:;,、!?”…—.:;,!?]" & vbCr Then
  17.             i.Range.Characters.Last.Previous.Text = "。"
  18.         End If
  19.     Next
  20. End Sub
  21. Sub c6多个单引号替换为一个()
  22.     Dim i As Paragraph, j As Long
  23.     For Each i In ActiveDocument.Paragraphs
  24.         If i.Range Like "*'*'*" Then
  25.             i.Range.Characters(1).Select
  26.             Do While Selection.Characters.Last Like "[ ']"
  27.                 Selection.MoveEnd unit:=wdCharacter, Count:=1
  28.             Loop
  29.             Selection.MoveEnd unit:=wdCharacter, Count:=-1
  30.             Selection = "'"
  31.             Selection.ParagraphFormat.CharacterUnitFirstLineIndent = 17.5
  32.         End If
  33.     Next
  34. End Sub
  35. Sub c8注释蓝色()
  36.     Dim i As Paragraph
  37.     For Each i In ActiveDocument.Paragraphs
  38.         If i.Range Like "*'*" Then
  39.             i.Range.Characters.Last.Previous.Select
  40.             Selection.MoveEndUntil cset:="'", Count:=wdBackward
  41.             Selection.MoveRight unit:=wdCharacter, Count:=1, Extend:=wdExtend
  42.             Selection.MoveEndUntil cset:=vbCr, Count:=wdForward
  43.             If Len(Selection) <> Len(i.Range) - 2 Then Selection.Font.Color = wdColorBlue
  44.         End If
  45.     Next
  46. End Sub
  47. Sub c9注释绿色_结尾段落标记未保持黑色()
  48.     Dim i As Paragraph
  49.     For Each i In ActiveDocument.Paragraphs
  50.         If i.Range Like "'*" Then
  51.             i.Range.Select
  52.             Selection.MoveEnd unit:=wdCharacter, Count:=-1
  53.             Selection.Font.Color = wdColorGreen
  54.         End If
  55.     Next
  56. End Sub
  57. Sub c11单引号全部替换为红色()
  58.     With ActiveDocument.Content.Find
  59.         .ClearFormatting
  60.         With .Replacement
  61.             .ClearFormatting
  62.             .Font.Color = wdColorRed
  63.         End With
  64.         .Execute FindText:="'", ReplaceWith:="", Format:=True, Replace:=wdReplaceAll
  65.     End With
  66. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-13 02:33 , Processed in 0.028472 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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