word中怎样把不同颜色的下划线文字变成对应的颜色, 已有vba代码, 帮修改

aeqvkec 2018-10-09 09:41:33



Dim arrf()
Dim arrr()
Dim i As Integer
i = 0
arrf = Array(RGB(0, 0, 0), RGB(0, 0, 255), RGB(0, 190, 90), RGB(255, 0, 0), RGB(255, 192, 0), RGB(255, 0, 255), RGB(150, 50, 0))
arrr = Array(RGB(255, 254, 255), RGB(255, 255, 255), RGB(254, 254, 254), RGB(255, 255, 254), RGB(253, 254, 254), RGB(254, 255, 255), RGB(254, 253, 254))

For i = 0 To UBound(arrf)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Font.Color = arrf(i)
Selection.Find.Replacement.Font.Color = arrr(i)
If Selection.Font.UnderlineColor = RGB(0, 0, 255) And Selection.Font.Underline = wdUnderlineThick Then
With Selection.Find
.Text = "^?"
.Replacement.Text = ""
.MatchWildcards = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
End If
Next

不知道哪里出问题了, 请帮忙修改一下, 谢谢!
...全文
628 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
aeqvkec 2018-10-11
  • 打赏
  • 举报
回复
运行过了, 可行
来这里算是来对了地方, 十分感谢

脆皮大雪糕 2018-10-10
  • 打赏
  • 举报
回复
看你的代码和你的需求不是一回事。
录一段宏然后看看微软怎么做的就是了。然后改一改咯
不过录制的宏有时候和实际做的会有些出入,需要自己改。

下面这段供参考,搜索红色下划线的字,然后把字体颜色改成蓝色的,下划线颜色不变。
替换你循环里的相应代码


Selection.Find.ClearFormatting '清除所有查找格式
Selection.Find.Font.Underline = wdUnderlineSingle '查找条件加上有单下划线
Selection.Find.Font.UnderlineColor = vbRed '并且下划线颜色是红色的
Selection.Find.Replacement.ClearFormatting '清除所有替换格式
Selection.Find.Replacement.Font.Color = vbBlue '设置把查找到的部分字体变成蓝色
Selection.Find.Execute Replace:=wdReplaceAll '干!!
脆皮大雪糕 2018-10-09
  • 打赏
  • 举报
回复
不看你这帖,我还真不知道下划线能单独设置颜色
aeqvkec 2018-10-09
  • 打赏
  • 举报
回复
引用 3 楼 Chen8013 的回复:
[quote=引用 1 楼 chewinggum 的回复:]
不看你这帖,我还真不知道下划线能单独设置颜色

我也是才知道,涨姿势了………… 

以前为还以为只是字体本身的效果而已,没去注意别的方面。
刚才打开Word试了一下,Word中的下划线不仅可以设置颜色,还可以设置不同的粗细、不同的线型。
不过,下划线搞出这么多花样,也应该是Word文档才有的吧。
[/quote]

嗯, 确实是word才有, 这也是word的优势, 对于做读书笔记很有用. 秀一下我的笔记标记.


然后, 重点是帖子的问题还没解决, 救救小白.
aeqvkec 2018-10-09
  • 打赏
  • 举报
回复
引用 4 楼 Runnerchin 的回复:
没看懂标题,把文字颜色设置成和下划线颜色一样?
 selection.Font.color=Selection.Font.UnderlineColor


我是想把所有蓝下划线的文字改成另一种颜色, 比如绿字RGB(0, 190, 90)改成RGB(254, 254, 254), 其他颜色以此类推, 这样就起到隐藏的效果. 这个可以实现吗?
aeqvkec 2018-10-09
  • 打赏
  • 举报
回复
引用 2 楼 chewinggum 的回复:
试了一下在word里面按照字体颜色搜索内容,貌似没成功,不知道你录制过相应的宏并且成功过么?


这个还不知道怎样录制宏, 因为我是想所有把蓝下划线的文字改成另一种颜色, 比如绿字RGB(0, 190, 90)改成RGB(254, 254, 254), 其他颜色以此类推, 这样就起到隐藏的效果. 这个可以实现吗?
X-i-n 2018-10-09
  • 打赏
  • 举报
回复
没看懂标题,把文字颜色设置成和下划线颜色一样?
 selection.Font.color=Selection.Font.UnderlineColor
舉杯邀明月 2018-10-09
  • 打赏
  • 举报
回复
引用 1 楼 chewinggum 的回复:
不看你这帖,我还真不知道下划线能单独设置颜色

我也是才知道,涨姿势了………… 

以前为还以为只是字体本身的效果而已,没去注意别的方面。
刚才打开Word试了一下,Word中的下划线不仅可以设置颜色,还可以设置不同的粗细、不同的线型。
不过,下划线搞出这么多花样,也应该是Word文档才有的吧。
脆皮大雪糕 2018-10-09
  • 打赏
  • 举报
回复
试了一下在word里面按照字体颜色搜索内容,貌似没成功,不知道你录制过相应的宏并且成功过么?

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧