ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 在一个英语文章中把一个单词表中所有的单词标识出来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-11-15 10:58 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
各位大侠,求助一个问题。

原始资料,一个word版的英文文章,一个txt版的单词列表。
目标,通过宏,运行一次,把txt中的单词在word的英文文章中用颜色标识出来。
要求,如果一个单词,txt中有,英文文章中没有,则忽略掉。如果txt中的一个单词,在word中出现很多次,则所有出现的该单词,全部需要标识出来。

谢谢高手。

求助.rar

13.84 KB, 下载次数: 26

TA的精华主题

TA的得分主题

发表于 2014-11-15 11:21 | 显示全部楼层
Sub test003() '在一个英语文章中把一个单词表中所有的单词标识出来
Rem 请将word文档与txt文件放在一个文件夹下,且txt文件中须每个单词单独一行
Dim textline As String
Dim lout As Integer
Application.ScreenUpdating = False
apth = ActiveDocument.Path
lout = FreeFile
Open apth & "\list.txt" For Input As #lout 'list.txt此txt文件名必须和文件夹中txt文件名高度一致
Do While Not EOF(lout)
    Line Input #lout, textline
    textline = Trim(textline)
    Selection.HomeKey wdStory
    Do While Selection.Find.Execute(textline) = True
       Selection.font.Color = wdColorBlue
    Loop
Loop
Close #lout
Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2014-11-15 11:27 | 显示全部楼层
请使用我曾经做word灵感百宝箱的一个功能,可以解决你的问题:
具体功能参考:http://public.strosoft.com/cuteword/index.html?n=7.1.1.htm
具体操作,把替换时把"替换时打开修订功能"取消,设置颜色,把要替换的内容粘贴到上下标字符串下面的文本框中,其它不管运行该功能就可以了。我试过了,可以。
http://club.excelhome.net/thread-890627-1-1.html
http://club.excelhome.net/thread-664005-1-1.html
最新版本请在360软件管家中下载
QQ截图20141114222622.png

TA的精华主题

TA的得分主题

发表于 2014-11-15 11:31 | 显示全部楼层
当然,为了防止误判,你可以设置对应的之前和之后排除,来去掉包含比如mix的单词

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-15 12:36 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2015-2-11 15:47 | 显示全部楼层
pipiludaxian 发表于 2014-11-15 11:21
Sub test003() '在一个英语文章中把一个单词表中所有的单词标识出来
Rem 请将word文档与txt文件放在一个文 ...

新年好老师,我看到了您的这段代码,可以初步满足我的学习要求,如果改一下就更好了。
特别请您更改一下。

需要更改的地方:
1、需要同时可以指定几个单词表文件,比如1.txt要标注为红色,2.txt要标注为绿色。3.txt标注为蓝色。

谢谢您的帮助

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-20 12:12 | 显示全部楼层
pipiludaxian 的宏,运行的很好。但有个问题是,它会把一个单词里面的几个字母当成另外一个单词标识出来。例如“there”这个单词,宏会把里面的"the"当成另外一个单词标识出来。请问,有没有办法克服?

TA的精华主题

TA的得分主题

发表于 2018-11-20 22:48 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
单词之间有空格,查找关键字前或后加空格,可避免你这种情况。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-21 13:05 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
leikaiyi123 发表于 2018-11-20 22:48
单词之间有空格,查找关键字前或后加空格,可避免你这种情况。

是个好思路,能帮忙改一下宏的代码吗? 我不懂VB。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-21 20:18 | 显示全部楼层
pipiludaxian 发表于 2014-11-15 11:21
Sub test003() '在一个英语文章中把一个单词表中所有的单词标识出来
Rem 请将word文档与txt文件放在一个文 ...

大侠,上线的时候看看能不能修改一下代码解决我提出的问题。谢谢。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-27 19:55 , Processed in 0.053190 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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