ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]为英语生词自动生成词汇表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-12-15 11:27 | 显示全部楼层

老大  我测试了一下   遇到一些问题~    请看   我的 word2007 + 金山 2003

问题 :

1、当 生词表 ,表格还剩下 1行的空行的时候 ,再加入单词的时候,会报一个错误“下标越界”,如图


2、然后 我调整一下单元格的宽度 ,就可以再次添加了

3、但是再次出现,并调整后,所有添加的单词 都找不到注解了~,如图


[求助]为英语生词自动生成词汇表

[求助]为英语生词自动生成词汇表

[求助]为英语生词自动生成词汇表

[求助]为英语生词自动生成词汇表

[求助]为英语生词自动生成词汇表

[求助]为英语生词自动生成词汇表

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-12-17 15:53 | 显示全部楼层

对老大的两个生词表程序匆测报告

谢谢老大总是把小弟的事情时刻放在心头上!这一回,又耗了老大极多心血最大程度帮了小弟!

要请老大恕罪的是,小弟困于“地震后重建”,首次尝试重装电脑,茫无头绪,无法详测老大的代码。怕时间拖久了还是一样,小弟只好在这里先简单把目前的测试印象汇报一下,请老大过目。

暂时取名——

〖小词表〗:

即老大为小弟编写的第一个词汇表程序——在阅读英语文章时,碰到一个生词,就在生词上右键,用老大的程序,把它发送到“我的生词表”中。这样不断拾取生词,于文档中生成一个“我的生词表”。

〖巨词表〗:

即老大为小弟编写的第二个词汇表程序——在一篇文档中,只有成百上千的生词,每个生词为一行(也可称为一段),运行老大的程序,把它们一次性转成生词表。

一、关于iustar123兄的测试情况。

QUOTE:
以下是引用liustar123在2006-12-15 11:27:59的发言:

老大  我测试了一下   遇到一些问题~    请看   我的 word2007 + 金山 2003

…………

谢liustar123兄的仔细测试!

小弟测试过程中,也偶有“下标越界”现象,但小弟未按照liustar123兄那样去“补救操作”,因此不敢说liustar123兄碰到的情况是“非常意外”的。

前前后后的测试过程中,小弟还没有碰到过像liustar123兄所说的情况,但又不能确认在什么情况下必然会出现“下标越界”的提示(呵呵,这一点,小弟也还不明白“下标”是什么东西。老大的代码中没有这字样,因此,这是Word自带的消息框吧)。

二、小弟的测试情况。

1、老大的用心处:

(1)大工程:为小弟新编写了“巨词表”程序。

(2)润物无声:

词性与中文释义合在了一段,中间以半角空格隔开。解决了原先的词性单独为一段的空间过大问题。

②生词如果在金山词霸里没有音标,则音标所在单元格为空,词性与中文释义单元格的样式仍然和其他生词的一致。即:一个生词有无音标,不影响到词性与中文释义所在单元格的样式。

对金山词霸的设置没有过多要求。从金山词霸2003到金山词霸2007,对于“屏幕取词”“显示任务栏图标”两项设置,不再有严格要求。即:只要是打开了金山词霸,就可以运行老大的两个生词表程序。

2、再扰动老大的一些细部问题

(1)现况:所有词性词义都为一段

怪小弟在前边没有说清楚,因此,害老大辛辛苦苦帮小弟的忙总是要费好几番周折!

小弟理想中的情况是:每个词性都与相应的词义合为一段,词性与词义间用半角空格隔开。这样,有几个词性,就对应分为几段。而且,最好是每段都设置成悬挂缩进4个字符。这样,在生词表里,一个生词是有几个词性的,一目了然。

(2)现况:每个音标的最后一个字符都是Tahoma字体

在老大去年编写的《自动加注音标》程序中,音标的方括号为Times New Roman字体,音标全为Kingsoft Phonetic Plain字体,看上去,格式统一,很是清爽。

现在的两个词汇表程序生成的音标中,方括号为Tahoma字体,音标的最后一个字符也和方括号一样是Tahoma字体,音标中其他字符为Kingsoft Phonetic Plain字体。这样,粗一看,音标的最后一个字符就类似于“乱码”了。

理想中的情况:方括号为Tahoma字体,音标所有字符都为Kingsoft Phonetic Plain字体

小弟尝试于老大代码中修改SetRange的起迄,结果未能改好。还请老大指点!

(3)现况:生词表的最后一行是多出的,要手工删除

理想中的情况:“我的生词表”最后的成品是,有几个生词,表格就对应有几行

在“小词表”中,不会觉得太麻烦,手工删除一下就好。但在“巨词表”中,毕竟属于“全自动”完成的,最后要去手工删除最后一行表格,感觉这有点像是“小尾巴”。

小弟的瞎猜:如果真正的要达到这样的几个生词对应几行的理想状态,怕是要影响程序的运行速度。

“巨词表”好办,编写一段代码,使得生词表生成之后,删除最后一个空行。

“小词表”可能就得明显停顿了。——每完成一个生词的转换,就得删除一次空行。

(4)现况:程序不够稳定

①“小词表”程序:

“下标越界”的情况比较少见。“找不到”则比较频繁,须得对找不到的单词再重新发送一到两次,才能成功转换。——写到这里,突然奇想

平常的处理是将“找不到”的生词重新发送几次(当然,前提是这个单词确实在金山词霸里有音标词性词义),这样,一个生词表里,有时便连着几行是同一个生词的“找不到”。如果能够自动把后边重新找到的音标词性词义覆盖到原来的“找不到”上,那可省了不少手工。这当中得注意的是,原来某个生词都已经标上音标词性词义了,可后来不小心又重新找了一次却是找不到的,竟把原来找到的覆盖了,这显然不允。

针对这样的情况,处理方案是:对一个新发送到生词表的单词,先判断生词表中是否已经有这样的一个生词,如果生词表中本来没这个词,则直接把这个生词加入生词表;如果生词表中早已有了它,则进行以下四种判断处理——这个生词的音标词性词义或者是“找不到”的,或者已经是正确的;后来想要发送的在剪贴板上的内容,或者是“找不到”的,或者是正确的。

概言之,实现的目的是:

A、同一个生词表之中,避免同一个单词占据两行或多行,严格保证一个生词就只能占据一行,表格有多少行,就有多少个不重复的生词。也就是说,严格保证老大程序中的“编号”是对应生词数的。

B、当出现金山词霸会“即时显示”而在生词中却“找不到”的情况时(对于“小词表”程序和“巨词表”程序都一样),可以通过手工反复操作,使“找不到”字样被正确的音标词性词义覆盖,同时,又要保证原来正确的,不被后来错误的覆盖。

②“巨词表”程序:

在不同版本的金山词霸上反复测试,基本上可以得出这样一个判断:“巨词表”程序的“转换成功率”在60%左右。

即,取若干个金山词霸可以“即时显示”的生词,首次运行“巨词表”程序,可能会全部都正确转换在生词表中。但再把这些生词在新建文档中测试十次(好比说建立十个新文档,把这些单词粘贴其中),每次未必会全部正确转换,有一两个生词就是显示“找不到(不是固定某一个生词,而是变化着的,这一次是“张三”找不到,下一次是“李四”找不到……),十个文档中,全部单词都能正确转换的,大约有五六个文档

只要能有一次是正确转换出来的,就说明老大的代码是不会有问题的。更何况有那么多次可以成功转换!因此,这个稳定性的问题,所要考虑的范围就比较的大而杂了。诸如Windows系统的问题、金山词霸的问题、Office系统的问题。小弟实在不知这“疑难杂症”有没有十分有效的药方。请老大指引!

匆促之间,无法提供精确的测试数据给老大,请老大原谅!

QUOTE:
另: 小发现——
                在“小词表”程序中,如果在“我的生词表”之后,粘贴英语文章,并对其中的生词进行“To 生词表”操作,那么,新的生词将发送到已经生成的生词表中,而不是再新建一个生词表。——也就是说,不论怎样运行“小词表”程序,一篇文档之中,只有一个“我的生词表”。  

TA的精华主题

TA的得分主题

发表于 2006-12-17 16:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

TO 雨兄:

为你作过不少的代码和程序了,以为你对VBA应该有所悟了,希望能下些力气,略作一些学习。

有关你的几个疑问,我的几个说明:

1由于WORD程序是与金山词霸之间,使用SENDKEY的方法进行的,这种方法本身就是不太稳定的一种方法,运行效果和速度都不是很理想,之间,我曾用半天多的时间研究了一下与金山词霸之间的类接口直接对话,但无果而终(虽有所获,于本题无益),理想的方法是直接调用金山的词典库,可惜金山对此极为保密。孔兄曾想用Word自带的信息检索功能,可惜也不未找到好的方法。

2关于表格最后一行,我一向推崇RANGE对象,对于表格中的插入行方法,作用于RANGE对象的,只能是向上插入,因此,表格必须保持最后一个空行,我以为,没有必要使用SELECTION对象,也没有必要删除最后一行。

3关于字体和表格数量和字体问题,以及代码中的一些用户可改进的地方,由于代码是开放式的,你完全可以按照你自己的意愿进行修改,正如上次你问及的空格(换行)等问题,实际上主体代码已实现,这些小节的地方,只是一两句代码,修改起来很方便,我希望雨兄自己进行研究一下,待数日后再向我回复研究结果不迟,不要太依赖我们,其实你也能行。

好了,我不多说了,很多东西,只要你通读一遍代码和代码注释,我想你会了解更多。

测试是效果,看懂代码才是你更应该学习的。

TA的精华主题

TA的得分主题

发表于 2006-12-17 16:20 | 显示全部楼层
QUOTE:
以下是引用雨雪霏霏在2006-12-12 23:20:51的发言:

感谢老大在很短的时间里就为小弟花了大量精力,拿出这样绝妙的自动词汇表方案!——老大惜乎不是女的,如果是女的,必是天下最温柔体贴的魔力女神。也正因为老大不是女的,所以,要对家园里这么多兄弟如此体贴、对小弟更是翼护,便显出老大十足的“长者之范”!水平超高,至仁至爱,笑对天下,老大可比大肚弥勒佛矣!

孔兄每每在老大接手小弟的烦杂问题之后,仍来帮忙小弟,跨千年之鸿沟风尘仆仆餐风露宿只为解小弟“危难”而来,小弟有幸至此,能不仰叹唏嘘!

无知无德小弟,二老始终不厌不弃,反愈益爱护有加,是小弟漫漫人生道上之大幸!

每次总是只有感动,言语总是不能尽意!


经典啊!园中兄弟的共同的心声啊!楼主文字功底超高,当是一代语言、文学大师!

老大惜乎不是女的... 补充充一点:

小弟惜乎不是女的,若是女的,必争取长得如花似玉,花容月貌,闭花羞月,沉鱼落雁,修炼成天下最温柔体贴的魔力女神,嫁与老大!老大之所以是老大,皆因对家园里这么多兄弟如此体贴、对小弟更是翼护,便显出老大十足的“长者之范”!水平超高,至仁至爱,笑对天下,老大可比大肚弥勒佛矣!

[此贴子已经被作者于2006-12-17 16:21:32编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-12-17 19:36 | 显示全部楼层

感谢老大终极指点,小弟一定好好学习VBA

QUOTE:
以下是引用守柔在2006-12-17 16:17:58的发言:

TO 雨兄:

为你作过不少的代码和程序了,以为你对VBA应该有所悟了,希望能下些力气,略作一些学习。

有关你的几个疑问,我的几个说明:

…………

老大今天说的话全都是心头久藏着的,一说出来,小弟便觉字字千钧,心头火热——老大真的是没得说的老大,长期如此耐心帮小弟,又从各方面引导小弟——从老大与孔兄不厌其烦的代码注释中,小弟便已经感受太多了这样的气息,甚至感激之后便是惭愧——老大与孔兄都这么耐心教导小弟、拿出“你就是一块木头我也要让你学会VBA”的宏愿炽爱了,小弟还是对VBA一窍不通,着实无法向天向地向自己交待!

原想着过不久手里的事情告一段落,再好好结合《Word非常接触》,于家园里浸泡喝水一段时间,把VBA粗粗弄个大致明白,现在更坚定了这种决心!相信有了老大的这番“大师心语”,小弟会在家园里一日有一日的收获。小弟有幸在一开始就得到老大与孔兄的指引,那么,这以后的路也必然会十分畅直美好——这让小弟想起,老大可是自己一个人闯出来的天下,什么东西都是自己摸出来的,在他当年,可有小弟这等福气?因此,小弟会好好珍惜这样的“幸福时代”,循着老大孔兄的足迹,步入一个全新的神奇的世界!

呵呵,用另外一种童话故事的语调说则是——

古时候,有一个小孩,到山上摘野果捉松鼠,忽然他见到了一个和蔼的白胡子爷爷,不久,山林里又走出了一个更老的白胡子爷爷,他们帮小孩摘了许多野果,又帮小孩捉了许多松鼠,他们还在小孩面前示范了如何栽蟠桃树、如何骑虎。小孩心里也很想掌握这些了不起的技艺,但他想,现在我还小,力气还没大那么大,没办法揪住老虎眉心那“王”字,我就先和白胡子爷爷们一起坐在老虎背上去游玩吧。于是,小孩子成天跟那两个白胡子爷爷山林里欣赏世外美景,有时,他坐在年轻一点的白胡子爷爷的后面,有时,他坐在老一点的白胡子爷爷的后面。两个白胡子爷爷整天都给小孩世上最好吃的,两个白胡子爷爷的心里都想把这个小孩培育成一个能自由自在遨游仙源的好后生。

随着时间的流逝,小孩子习惯了坐在白胡子爷爷的后面去任何一个地方,他虽然每到一地都很用力地向白胡子爷爷倾诉他心里种种的美妙感觉,可他竟“有意”忘了去向白胡子爷爷学习如何抓住老虎的眉心。直到一天,……

呵呵,一路下来,小弟很不该!请老大与孔兄恕罪!

感谢老大的终极话语!这话,其实也是孔兄一直想说而没说出来的吧!感谢二老对小弟这许久的呵护!下面的路,小弟会用心的,虽然走路不稳,但总应该迈出第一步!只有迈出这一步,小弟才能够再向老大与孔兄学习如何奔跑、如何飞翔!

谢谢老大今天如此和悦地向小弟说了人生的至紧要的道理!

谢谢老大如此详细向小弟解说了两个生词表程序的三点“背景”,这同样指向了遥远的征途!

QUOTE:
以下是引用gemj在2006-12-17 16:20:12的发言:

经典啊!园中兄弟的共同的心声啊!楼主文字功底超高,当是一代语言、文学大师!

老大惜乎不是女的... 补充充一点:

小弟惜乎不是女的,若是女的,必争取长得如花似玉,花容月貌,闭花羞月,沉鱼落雁,修炼成天下最温柔体贴的魔力女神,嫁与老大!老大之所以是老大,皆因对家园里这么多兄弟如此体贴、对小弟更是翼护,便显出老大十足的“长者之范”!水平超高,至仁至爱,笑对天下,老大可比大肚弥勒佛矣!


谢谢gemj兄的夸奖!小弟浅陋野孩,实不能寓gemj兄之目!方方面面都要请gemj兄指教呢!

自gemj兄入家园以来,学习最认真刻苦,悟性与功底俱高,为家园作了许多奉献,实是一股强力旋风,给兄弟们带来无限激情!小弟景慕万分!

至于gemj兄的“惜乎不是女的……”等语,小弟看了很感动!确实,我们的老大惜乎是男的,家园里女同胞很少,活跃在Word版块的尤其少,几乎就只有如意版主一个女同胞了,因此,“沉鱼落雁”的女版友说这样话的是找不到了——只能慨叹老大是男的了!不然,老大是女的话,肯定是家园里的第一公主,Kevin总版的电话、邮箱会被挤爆!再换一句话说,本来男同胞都习惯于向女同胞说这一类的话,可这话今天再出自gemj兄,更让人感动于老大的“高大”与“仁爱”!

[此贴子已经被作者于2006-12-17 19:40:36编辑过]

TA的精华主题

TA的得分主题

发表于 2006-12-19 09:18 | 显示全部楼层

有个软件可以把金山的词库转换为.txt,但转换完了容量很大,有好几G,如果需要可以提供。

TA的精华主题

TA的得分主题

发表于 2006-12-19 09:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
佩服雨雪霏霏兄,写起文章来洋洋洒洒数千言!下次向老大求助的时候,得跟你学学,呵呵!

TA的精华主题

TA的得分主题

发表于 2008-4-1 11:31 | 显示全部楼层
QUOTE:
以下是引用billdon在2006-12-19 9:23:21的发言:
佩服雨雪霏霏兄,写起文章来洋洋洒洒数千言!下次向老大求助的时候,得跟你学学,呵呵!

雨雪霏霏兄,你太有才了,得多向你学习学习哈

TA的精华主题

TA的得分主题

发表于 2008-9-16 13:15 | 显示全部楼层
不会用啊,能不能简单说下

TA的精华主题

TA的得分主题

发表于 2009-4-25 14:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
太强了,谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-16 01:01 , Processed in 0.048680 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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