ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何在一篇英文中把含有某个单词的句子都列出来?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-10-11 03:49 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
如附件,WORD给出英文原始文本,
问题一:设计一个查询程序,输入查询的单词比如(number),则在文档结果一中会列出该篇英文中所有包含number的句子。
问题二:给出一个txt文档,里面有单词列表,在原始文章中查询txt中每个单词,把含有这个单词的句子分别列出来,都显示在文档结果二中。
恳请各位高手帮助。
求助.rar (18.78 KB, 下载次数: 84)

TA的精华主题

TA的得分主题

发表于 2010-10-11 08:20 | 显示全部楼层
复制到EXCEL处理

TA的精华主题

TA的得分主题

发表于 2010-10-11 11:20 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-10-11 11:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不知道,帮顶

TA的精华主题

TA的得分主题

发表于 2010-10-11 12:21 | 显示全部楼层
可试试如下代码:
问题一:
  1. Sub test1()
  2.     Dim findtext As String, n As Integer, info As String
  3.     findtext = InputBox("请输入要查的单词", , "Number")
  4.     If findtext <> "" Then
  5.         With ActiveDocument.Content.Find
  6.             .Text = findtext
  7.             .MatchAllWordForms = True
  8.             Do While .Execute
  9.                 n = n + 1
  10.                 With .Parent
  11.                     .Expand wdSentence
  12.                     If .Text Like "*" & Chr(13) Then .End = .End - 1
  13.                     info = info & n & vbTab & .Text & Chr(13)
  14.                     .Collapse wdCollapseEnd
  15.                 End With
  16.             Loop
  17.         End With
  18.         With Documents.Add.Content
  19.             .Text = info
  20.         End With
  21.     End If
  22. End Sub
复制代码
问题二:
  1. Sub test2()
  2.     Dim fs, f
  3.     Dim Dlg As FileDialog, findtext() As String
  4.     Dim i As Integer, n As Integer, c As Long, info As String
  5.    
  6.     Set fs = CreateObject("Scripting.FileSystemObject")
  7.     Set Dlg = Application.FileDialog(msoFileDialogFilePicker)
  8.     With Dlg
  9.         .InitialFileName = ActiveDocument.Path
  10.         .AllowMultiSelect = False
  11.         If .Show <> -1 Then Exit Sub
  12.         Set f = fs.OpenTextFile(.SelectedItems(1))
  13.         findtext() = Split(f.ReadAll, vbCrLf)
  14.     End With
  15.     With ActiveDocument.Content.Find
  16.         .MatchAllWordForms = True
  17.         For i = 0 To UBound(findtext)
  18.             info = info & vbCrLf & findtext(i) & vbCrLf
  19.             .Text = findtext(i)
  20.             Do While .Execute
  21.                 n = n + 1
  22.                 c = c + 1
  23.                 With .Parent
  24.                     .Expand wdSentence
  25.                     If .Text Like "*" & Chr(13) Then .End = .End - 1
  26.                     info = info & n & vbTab & .Text & Chr(13)
  27.                     .Collapse wdCollapseEnd
  28.                 End With
  29.             Loop
  30.             .Parent.WholeStory
  31.             n = 0
  32.         Next
  33.     End With
  34.     info = "共搜索到" & c & "条。" & vbCrLf & info
  35.     Documents.Add.Content.Text = info
  36. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2010-10-11 12:46 | 显示全部楼层
楼上高人,实力不济只简单做了第一个

[ 本帖最后由 honggexjq 于 2010-10-11 16:58 编辑 ]

求助.zip

32.51 KB, 下载次数: 57

TA的精华主题

TA的得分主题

发表于 2010-10-11 12:57 | 显示全部楼层
回答问题1
查找number
替换内容空,选择样式:标题(1-8)均可,完成替换后,右击替后的标题,选择格式相同文本,复制粘贴到别的地方即可!

TA的精华主题

TA的得分主题

发表于 2010-10-11 13:18 | 显示全部楼层
请问各位,现在论坛不能传动画文件了么?gif格式的

[ 本帖最后由 hhb6085 于 2010-10-12 01:47 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-11 21:10 | 显示全部楼层
谢谢各位老大的帮助,非常感谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-10-12 16:49 | 显示全部楼层
谢谢sylun老大的解答。烦请老大把问题二的代码再修改一下,比如单词表里有number,……,那么在原文中只要第一次找到含有number的例句,把这个例句摘出来后,就直接搜索下一个单词。也就是每个单词一个例句。应该是改一下循环语句,第一次找到就跳出,但是不会修改,烦请老大帮帮忙。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 00:22 , Processed in 0.048955 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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