ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 杜先生、各位朋友请进来!<文件搜索>疑难!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-2-19 12:09 | 显示全部楼层 |阅读模式
杜先生、各位朋友:
    我徒弟139提出了一个新的难题,由于本人才疏学浅,甚感为难,故请 杜先生 及各位朋友 出手相助,完成此一壮举!提前表示感谢!
    【问题】编制一个Word2003VBA宏,在循环遍历文件夹(包括子文件夹)时,搜索每一个Word文档中,满足下列选项中的一项或多项:

□搜索任意中文字体(如:黑体)
□搜索任意英文字体(如:Times New Roman)
□搜索任意字形(常规/倾斜/加粗/加粗倾斜)
□搜索任意字号(初号~八号,或:任意磅值字号)
□搜索任意字体颜色(如:粉红字体)
□搜索任意颜色突出显示文字(如:搜索绿色突出显示)

□搜索时前缀:任意字符(如:段落标记、手动换行符等)
□搜索时后缀:任意字符(如:段落标记、手动换行符等)

搜索条件(查找内容)= 前缀 + 主要搜索条件 + 后缀

***目标:将符合以上条件的文档提取文件名到新建文档中并一一打开。

demo 水质超标.rar (2.98 KB, 下载次数: 7)

TA的精华主题

TA的得分主题

发表于 2017-2-19 12:43 | 显示全部楼层
循环遍历文件夹(包括子文件夹)不难,但是这么多的搜索条件,每一个条件可以用自定义函数或者带参数的子过程 用主过程调用。但是这得花大量时间和精力来设计代码,最关键的是谁有这么多时间来做这些呢?

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-2-19 14:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
呵呵!杜先生 所说极是!——我也觉得此工程太浩大了!
先不说查找字体/字号/字形/颜色这个方面,就是《突出显示》这一点,判断文档中是否有突出显示,如果查找鲜绿色的突出显示,是否存在——刚才我费了好半天劲儿,才完成代码,能判断出文档中是否含有突出显示。
***杜先生,这样吧,请你稍微费点儿时间,想一想,这个宏是否需要用到《窗体》呢?我觉得如果不设计窗体的话,恐怕不好办,是不是?——千万不要背上负担,我充分理解 杜先生,我有的是时间,就是水平不行,请 杜先生 提出一点设计思路,不必写代码!杜先生 的健康,我是很关注的,千万别累着。——并请适当关注此帖,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-2-19 14:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
杜先生 有空可以给指导一下:
  1. Sub 查找鲜绿突出显示()
  2. '查找突出显示——有/无!
  3. '查找鲜绿突出显示——有/无!
  4. '变量 h=highlight--如果 h=1 则存在突出显示;否则 h=0 不存在突出显示

  5.     Dim h As Long
  6.     With ActiveDocument.Content.Find
  7.         Do
  8.             .ClearFormatting
  9.             .Highlight = True
  10.             .Text = ""
  11.             .Replacement.Text = ""
  12.             .Format = True
  13.             .Execute
  14.             If .Found = True Then
  15.                 h = 1
  16.                 .Parent.Underline = wdUnderlineWavyHeavy
  17.             Else
  18.                 h = 0
  19.                 Exit Do
  20.             End If
  21.         Loop Until .Found = False
  22.     End With

  23. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2017-2-19 16:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
413191246se 发表于 2017-2-19 14:39
杜先生 有空可以给指导一下:

你这代码 只要是有 高亮色 都会被查找 不只是查找“鲜绿突出显示”
试试如下代码!
  1. Sub 查找鲜绿突出显示()
  2.     With ActiveDocument.Content.Find
  3.         .Highlight = True
  4.         Do While .Execute
  5.             If .Parent.HighlightColorIndex = wdBrightGreen Then
  6.                 .Parent.Underline = wdUnderlineWavyHeavy
  7.             End If
  8.         Loop
  9.     End With
  10. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-2-20 12:17 | 显示全部楼层
杜先生,我现在正在学习 调用WORD内置对话框,但没发现哪个是《突出显示》对话框,不知在窗体中怎么引入这个《突出显示》对话框……
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-24 10:36 , Processed in 0.039962 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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