ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 在word中怎么才能同时搜索多个关键字?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-3-11 00:28 | 显示全部楼层 |阅读模式
假如在一个长文档中,查找“精益生产”,“消防”,“生产规模”三个关键字,这些关键字又不能相隔太远,要全部出现在连续的300个字符的文字内,并且不一定按顺序出现。例如在下面的一段话中:
-----------------------------------------------------------
主要设计原则
1、推行精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防要求,对废气、废水、噪音等污染源及危害劳动安全卫生的不利因素,遵照“三同时”的原则,采取相应的治理措施,以符合国家和地方的有关法规。
-------------------------------------------------------------
我发现查找功能不具备这样的功能,请教如何实现?
word版本:2010

TA的精华主题

TA的得分主题

发表于 2015-3-11 09:52 | 显示全部楼层
要是一项功能啥都能实现 大家还编什么程

TA的精华主题

TA的得分主题

发表于 2015-3-11 10:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
建议分开查找并使用阅读突出显示。
三个可以一起查找,要加[],问题是可能不是词组,而是单个的字。

TA的精华主题

TA的得分主题

发表于 2015-3-11 10:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
勾选通配符,查找输入以下内容,可以查找楼主的连续字符
(精益生产)*(生产规模)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-11 23:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好象没什么人注意到我的问题,想了一上午,我自己写了段程序草稿出来,基本能达到所需功能,但程序效率太低,一个千页文档要花5分钟以上才能执行完程序,不具有实用价值,请有心人指教下。程序代码如下:

  1. Public Sub mySearch()
  2. ScreenUpdating = False
  3. Dim findString As String
  4. findString = InputBox("输入要查找的内容", "包括", "")
  5. '-------------
  6. '抽取查找内容的单字给数组
  7. Dim myArray() As String
  8. Dim cou As Long
  9. Dim findStringLen As Long
  10. findStringLen = Len(findString)
  11. ReDim myArray(1 To findStringLen)
  12. For cou = 1 To findStringLen Step 1
  13.     myArray(cou) = Mid(findString, cou, 1)
  14. Next cou
  15. '------------------------------
  16. Dim carCout As Long
  17. carCout = ActiveDocument.Characters.count '文档所含字数
  18. '-----------------------------
  19. cou = 0
  20. Dim carStart As Long
  21. Dim carEnd As Long
  22. carStart = 0
  23. carEnd = 0
  24. Dim myRange As Range
  25. Dim myString As String
  26. Dim logic1 As Boolean
  27. Dim logic2 As Boolean
  28. logic1 = True
  29. logic2 = True
  30. Do While carEnd < carCout
  31.     carEnd = carStart + 100
  32.     Set myRange = ActiveDocument.Range(Start:=carStart, End:=carEnd)
  33.     myString = myRange.text
  34.     'Debug.Print myString
  35.          For cou = 1 To findStringLen Step 1
  36.            If InStr(1, myString, myArray(cou), 1) > 0 Then
  37.                logic1 = True
  38.            Else
  39.                logic1 = False
  40.            End If
  41.            logic1 = logic1 And logic2
  42.            logic2 = logic1
  43.            Debug.Print logic1
  44.         Next cou
  45.     If logic1 = True Then myRange.HighlightColorIndex = wdYellow
  46.     carStart = carStart + 1
  47.     logic1 = True
  48.     logic2 = True
  49. Loop
  50. ScreenUpdating = True
  51. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-3-12 00:22 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2017-3-30 19:25 | 显示全部楼层
nkgsm 发表于 2015-3-11 10:32
勾选通配符,查找输入以下内容,可以查找楼主的连续字符
(精益生产)*(生产规模)

这个应该是选中了从精益生产到生产规模的连续文字,而不是这两个词。

TA的精华主题

TA的得分主题

发表于 2017-3-30 20:28 | 显示全部楼层
本帖最后由 duquancai 于 2017-3-30 21:08 编辑

Sub shishi()
    Dim p As Range, a, s As Range
    a = Array("精益生产", "消防", "生产规模")
    Set p = ActiveDocument.Range(0, 300)
    For i = 0 To UBound(a)
        Set s = p.Duplicate
        Do While s.Find.Execute(a(i))
            If Not s.InRange(p) Then Exit Do
            s.HighlightColorIndex = 6
            s.Collapse 0
        Loop
    Next
End Sub

TA的精华主题

TA的得分主题

发表于 2017-3-30 21:09 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub W_正则()
    Dim p As Range, mt, reg As Object
    Set reg = CreateObject("vbscript.regexp")
    reg.Global = True
    reg.Pattern = "生产规模|精益生产|消防"
    Set p = ActiveDocument.Range(0, 300)
    For Each mt In reg.Execute(p.Text)
        m = mt.FirstIndex: n = mt.Length
        With ActiveDocument.Range(p.Start + m, p.Start + m + n)
            .HighlightColorIndex = 6
        End With
    Next
End Sub

TA的精华主题

TA的得分主题

发表于 2017-3-30 21:52 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 duquancai 于 2017-3-30 22:16 编辑

查找“精益生产”,“消防”,“生产规模”三个关键字,这些关键字又不能相隔太远,要全部出现在连续的300个字符的文字内,并且不一定按顺序出现。
这句话存在严重逻辑错误!有n种情况(区域重叠查找 是实现不了的)
第一种情况:   1、推行精益生产理念作为设计出发点,合理组织车间物流系统,以降低生产成本,提高产品质量为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3
、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4
、按照环境保护、劳动安全卫生和消防”   这在239字符
第二种情况:   “、推行精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防”   这在238字符
第三种情况:   “推行精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防”   这在237字符
第四种情况:   “行精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防”   这在236字符
第五种情况:   精益生产理念作为设计出发点,合理组织车间物流系统,以降低生产成本,提高产品质量为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防”   这在235字符
第六种情况:   精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防”   这在236字符
第七种情况:   精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防要求”   这在3237字符
第八种情况:   精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防要求,”   这在238字符
第九种情况:   “行精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防要求,对”   这在239字符
第十种情况:   精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防要求,对废”   这在240字符
。。。。。。。。。
第二十种情况:   精益生产理念作为设计出发点,合理组织车间物流系统,以“降低生产成本,提高产品质量”为中心任务,做到在制品最少、物流成本最低,实现企业利润的最大化。
2、工艺方案的制定和设备选型力求与产品技术要求相适应,与生产规模相协调,针对产品工艺特点、技术要求,新增设备力求高起点、高水平、高质量;加强工序间检测和最终检测,有效控制产品质量。
3、主体厂房采用钢结构,以缩短施工周期,确保在较短的时间内完成建设。同时考虑工厂将来的发展性、适用性。
4、按照环境保护、劳动安全卫生和消防要求,对废气、废水、噪音等污染”   这在300字符






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

本版积分规则

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

GMT+8, 2024-5-19 19:32 , Processed in 0.045659 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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