ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何批量把括号内的文字变成红色

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-4-13 07:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2018-4-12 22:13
1、我不是大神,杜先生/老师 才是大神。
2、请举出实例,比如:是像(大3神),还是(A大4神B)等等……

不好意思!光说忘了上传附件,请看“模拟附件。谢谢!

模拟附件.rar

8.21 KB, 下载次数: 38

TA的精华主题

TA的得分主题

发表于 2018-4-14 13:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
相见 你好!——开始我也觉得有点儿难,讨论了半天 中/英/数,后来一想,算法其实就是选中括号中的文字逐一字符判断是否 中/英/数,分别变色即可。由于选定了对象,效率稍差,请测试(假设全文是自动色,括号都是半角):
  1. Sub 括号内文字分色显示()
  2.     Dim i&
  3.     With ActiveDocument.Content.Find
  4.         .ClearFormatting
  5.         Do While .Execute("\(*\)", , , 1, , , 1)
  6.             With .Parent
  7.                 .MoveStart 1, 1
  8.                 .MoveEnd 1, -1
  9.                 .Select
  10.                 With Selection.Font
  11.                     .Bold = True
  12.                     .Parent.Characters(1).Select
  13.                     Do
  14.                         If Selection Like "[0-9]" Then
  15.                             .Color = wdColorPink
  16.                         ElseIf Selection Like "[a-zA-Z .]" Then
  17.                             .Color = wdColorRed
  18.                         Else
  19.                             .Color = wdColorBlue
  20.                         End If
  21.                         .Parent.Next.Select
  22.                     Loop Until .Parent.Text = ")"
  23.                 End With
  24.                 .Collapse 0
  25.             End With
  26.         Loop
  27.     End With
  28.     Selection.HomeKey unit:=wdStory
  29. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-4-14 16:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2018-4-14 13:46
相见 你好!——开始我也觉得有点儿难,讨论了半天 中/英/数,后来一想,算法其实就是选中括号中的文字逐一 ...

测试OK!非常感谢!
VBA像魔术一样,到了那个水平一捅就破,水平未到就像一座山!

TA的精华主题

TA的得分主题

发表于 2018-4-15 06:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2018-4-14 13:46
相见 你好!——开始我也觉得有点儿难,讨论了半天 中/英/数,后来一想,算法其实就是选中括号中的文字逐一 ...

代码中的这几句看不懂,还请大神注释一下,谢谢!
Dim i&
.MoveStart 1, 1
.MoveEnd 1, -1
.Select
.Parent.Characters(1).Select
.Parent.Next.Select
Loop Until .Parent.Text = ")"

TA的精华主题

TA的得分主题

发表于 2018-4-15 11:21 | 显示全部楼层
我不是大神,咱们都是后来者,咱们共同向 杜先生 等高人/老师 学习吧!
*************
    Dim i&
    Dim i As Long
    '上面两行代码作用相同。设变量 i 为 长整型变量。上行为简化写法(简写),下行为标准写法。
   
    Selection.MoveStart 1, 1
    Selection.MoveStart unit:=wdCharacter, Count:=1
    '上面两行代码作用相同。选定区域首部向内缩进 1 个字符。简写。--wdCharacter字符
   
    Selection.MoveEnd 1, -1
    Selection.MoveEnd unit:=wdCharacter, Count:=-1
    '上面两行代码作用相同。选定区域尾部向内缩进 1 个字符。简写。
   
    Selection.Select
    '选定(对象),Select 是个方法。
   
    .Parent.Characters(1).Select
    '.Parent 是父对象。比如:查找时,Selection.Find.Execute "", , , 1, , , 1,
    '找到的是 .find 子对象,它的上一级是 Selection,就写为 .Parent
   
    .Parent.Next.Select
    '.Parent 父对象
    'Next 属性:返回集合中的下一个对象。
    '本示例缩进所选内容的第二段。Selection.Paragraphs(1).Next.Indent
   
    Loop Until .Parent.Text = ")"
    '循环控制语句 Do ...Loop Until。本句意思是:循环,直到 .Parent 父对象(可以理解为 Selection)的 文本值 .Text 等于 ")"(半角括号)时循环停止。

    '建议:在测试代码时,可以按 F8 逐步运行程序。将光标定位在不明白的方法/属性 上,按 F1 键,一般会给出解释说明(须本机已安装了 VBA 官方帮助)。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2018-4-15 14:41 | 显示全部楼层
413191246se 发表于 2018-4-15 11:21
我不是大神,咱们都是后来者,咱们共同向 杜先生 等高人/老师 学习吧!
*************
    Dim i&

感谢详解!
可水平未到还是云里雾里!实际上我也就想知代码的中文大概意思,理论上因水平未到还听不慬。
这句 .Parent.Next.Select 的大概意思是:缩进所选内容的第二段 ???
另外、请问怎么安装了 VBA 官方帮助?

TA的精华主题

TA的得分主题

发表于 2018-4-15 23:37 | 显示全部楼层
相见 你好!—— '本示例缩进所选内容的第二段。Selection.Paragraphs(1).Next.Indent
——上面这段代码才是缩进,你误会了。上面的代码是我从 微软VBA官方帮助中抄来的。
.
.Parent.Next.Select ----这句代码的意思是:选定父对象 .Parent(可以理解为 Selection)的下一个字符(Next 是属性,下一个的意思),再通俗地说,就是,选定<当前已经选定范围>的下一个字符。
.
《VBA微软官方帮助》,是一个 CHM 文件,大小是 3MB,它要复制到 C盘 OFFICE 文件夹中的一个叫 2052 的文件夹 中应用,具体文件名是 VBAWD11.CHM,如果你没有这个文件的话,我可以发给你,你先给我来个邮件,我的邮箱是:ln1400014884爱她163点com。

TA的精华主题

TA的得分主题

发表于 2018-4-16 12:01 | 显示全部楼层
413191246se 发表于 2018-4-15 23:37
相见 你好!—— '本示例缩进所选内容的第二段。Selection.Paragraphs(1).Next.Indent
——上面这段代码才 ...

感谢!感谢!
你上传到论坛上的《VBA微软官方帮助》我有收藏,这个有用吗?
http://club.excelhome.net/forum. ... 65671&typeid=54

TA的精华主题

TA的得分主题

发表于 2018-4-16 15:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2018-4-15 23:37
相见 你好!—— '本示例缩进所选内容的第二段。Selection.Paragraphs(1).Next.Indent
——上面这段代码才 ...

不好意思,看错了,你是说要CHM 格式的文件,那个是doc格式的。
我的邮箱:wubicheng88@sohu.com         谢谢!
另外、我的C盘 OFFICE 文件夹内没有2052 的文件夹。

TA的精华主题

TA的得分主题

发表于 2018-4-17 07:03 | 显示全部楼层
413191246se 发表于 2018-4-15 23:37
相见 你好!—— '本示例缩进所选内容的第二段。Selection.Paragraphs(1).Next.Indent
——上面这段代码才 ...

您好!
邮件收到,感谢您另给的学习资料!万分感谢!
因我的C盘 OFFICE 文件夹内只有一个DATA的文件夹,没有2052 的文件夹,我在OFFICE 文件夹内,新建了一个文件夹,重命名为2052,把您给的《VBA微软官方帮助》解压后的VBAWD10.CHM文件复制粘贴进新建的2052文件夹内,关闭后,进代码窗口,用鼠标点在代码的尾部,按键盘上的F1键,右边的“帮助”窗口还是空白,试了几句不同的代码都一样,是那里没弄好?还请您详教!谢谢!

这是2052文件夹的路经:
C:\Documents and Settings\All Users\Application Data\Microsoft\OFFICE\2052

另外、您上面说的:
1、它要复制到 C盘 OFFICE 文件夹中的一个叫 2052 的文件夹 中应用,这个“应用”是还要另外怎样操作吗?
2、具体文件名是 VBAWD11.CHM  我把您给的《VBA微软官方帮助》解压后的文件名是VBAWD10.CHM  是不是这里的原因?

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-11 23:40 , Processed in 0.032666 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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