寄托家园留学论坛

标题: Last tool for GRE 新红宝+3000的VBS版本,带发音及音标! [打印本页]

作者: headhuanglan    时间: 2013-6-20 23:18:21     标题: Last tool for GRE 新红宝+3000的VBS版本,带发音及音标!

这次完全了,大杀器制作好了,3000,红宝都包含了!使用方法:直接双击gre.vbs即可,乱序的单词背诵次序随机生成!

主要思路:用VBS脚本来操作excel,在excel中记录下是否已经背会当前单词,而且可以选择是否发音(若觉得发音会降低过单词速度的同学可以选择不发音),是否开启excel显示(不开启的话就直接弹窗来背单词),无论任何种方式,最终都会把背单词的次数和是否正确写入excel文件,最终可以通过excel筛选来查看自己多次背错的单词!

ps:本人专业并非信息技术相关。。。VBS脚本若有不足之处希望信息专业同学帮忙改进完善。程序暂时无法中途退出背诵,所以选了多少词就坚持到底吧!O(∩_∩)O~

[attach]221940[/attach]
[attach]221943[/attach][attach]221942[/attach][attach]221941[/attach]

附vbs代码:

Public Sub swap (a,b)
c = a: a = b: b = c
End Sub
Dim a()
Randomize
Set spell = CreateObject("sapi.spvoice")
currentfolder = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path
Set   ExcelApp  =  CreateObject("Excel.Application")      
Set   ExcelBook =  ExcelApp.Workbooks.open(currentfolder+"/gre.xlsx")


flag0=MsgBox("选择刷词词库 红宝(选择是)3000(选择否)", vbYesNo, "提示")
if flag0=vbYes then
Set   ExcelSheet   =   ExcelBook.Worksheets("新红宝2012")
      ExcelSheet.Select
elseif flag0=vbNo then
Set   ExcelSheet   =   ExcelBook.Worksheets("3000")
      ExcelSheet.Select
end if

ExcelApp.Visible = True



flag=MsgBox("是否开启单词发音功能?", vbYesNo, "提示")

if flag0=vbYes then

i = InputBox("输入起始序号:")
if i<2 then i=2
j = InputBox("请输入终止序号(最大为6497):")
if j>6497 then j=6497

elseif flag0=vbNo then

i = InputBox("输入起始序号:")
if i<2 then i=2
j = InputBox("请输入终止序号(最大为3105):")
if j>3105 then j=3105

end if
num=j-i+1
msgbox ("您选择的单词数目为:"&num)
ReDim a(num)
For k = 1 To num
  a(k) = i + k - 1
Next
For s = 1 To num
  Call swap(a(s), a(Int(Rnd() * num) + 1))
Next
For m = 1 To num
     if flag=vbYes then
         spell.speak ExcelSheet.Range("A"&a(m)).Value
      end if
     re=msgbox(ExcelSheet.Range("A"&a(m)).Value&" "&ExcelSheet.Range("B"&a(m)).Value&ExcelSheet.Range("C"&a(m)).Value,vbYesNo,"加油!O(∩_∩)O~")

      if re=vbNo then
              ExcelSheet.Cells(a(m),4).value = ExcelSheet.Cells(a(m),4).value+1
       end if
   ExcelSheet.Cells(a(m),5).value = ExcelSheet.Cells(a(m),5).value+1
Next


r=MsgBox("退出并关闭gre.xlsx?", vbYesNo, "提示")
If r = vbYes Then
ExcelBook.Close (True)
ExcelApp.Quit
Set ExcelApp = Nothing
Set spell = Nothing
end If

作者: max0505    时间: 2013-6-20 23:21:19

不明觉厉...辛苦LZ分享...下下来研究研究...
作者: panqiangno1    时间: 2013-6-21 00:23:27

进化了,不错不错。谢谢分享。
作者: miao1205    时间: 2013-6-21 00:23:37


作者: 泠泠曲罢    时间: 2013-6-21 10:49:54

楼主非常给力!感谢!
作者: kekele007    时间: 2013-6-21 11:12:28

发音好奇怪。。。
作者: headhuanglan    时间: 2013-6-21 11:33:24

kekele007 发表于 2013-6-21 11:12
发音好奇怪。。。

发音是用的windows下自带的narrater软件,就是那个附件里面的“讲述人”...发音是鸡肋,主要是用来刷单词的。
作者: shimeng0316    时间: 2013-6-21 12:11:14

谢谢headhuanglan~可是偶这win7打不开啊~
作者: crazyrobin    时间: 2013-6-21 12:17:09

很给力
作者: headhuanglan    时间: 2013-6-21 13:19:55

shimeng0316 发表于 2013-6-21 12:11
谢谢headhuanglan~可是偶这win7打不开啊~

怎么会呢~哦这也是win7系统啊~~是不是excel是03的打不开?需要升级到能打开xlsx格式的07或者12版本的excel。
作者: shimeng0316    时间: 2013-6-21 16:10:22

headhuanglan 发表于 2013-6-21 13:19
怎么会呢~哦这也是win7系统啊~~是不是excel是03的打不开?需要升级到能打开xlsx格式的07或者12版本的exce ...

安装07版就ok啦!Thanks!....就是这个发音让人听着很挣扎~
作者: compe    时间: 2013-6-21 16:16:24

忘记把3000传给你了。。结果你已经做好了。
感谢楼主辛苦奉献
作者: soulwangh    时间: 2013-6-21 21:42:15

首先,非常感谢楼主的辛苦。一些帖子是凌晨发上来的,看出楼主为大家服务的热心!也希望楼主能够GRE成功!

其次,这个版本的功能提一下个人建议。这个版本能够把单词和解释以及音标一起显示出来,非常好。但却不利于用来自查的同学。个人觉得以前的matlab版本的功能不错,供楼主参考。

最后,再次感谢楼主!

--------------------------------------------------------------------------------------------------------
大家一定都知道了著名的LastTool for GRE Words(V1.0).xls。可是我在使用的时候发现,例如我要随机第2-10的单词,运行结果如下。例如我看到abbreviate的时候,我不确定我记忆中的意思对不对,于是我得向右看它的解释,然后再在第一列记录我的错误信息。
于是我几天前,花了2天时间用MATLAB写了一个随机背单词的软件,这几天稍微修改一些小问题后,现发上来供大家使用。
运行GRE.m后,程序将先读取excel单词表,之后提示输入需要随机的起始和结束的单词序号后将开始随机背单词,如下面3张图所示。

在这里问“认识吗?”,回车默认表示认识,所有第一个字符不是Y/y的字符串都(例如“N”,“js’dlf”)表示不认识。如果输入认识,会出现单词释义,然后问你正确与否,如下

如果选择不认识,则直接出现释义,并让你记住它,并回车继续。
如果你要中途离开,暂停背单词,则可以在问你“认识吗?”或“正确吗?”处输入“end”并回车,如下

一旦背单词结束,或人工输入end中止,会把你背诵的情况显示出来,并错误单词写入excel中,如下,

上面的excel表显示,我的admonish背了3次,错0次;adopt背了1次,错了1次。
如果你手动输入end结束程序后,需要继续复习单词,则再次运行程序的时候,程序会询问是否继续上次未完成的复习,如下

选择继续后,就接着上次的继续复习,如下。

PS. 在每次复习完单词后,不论是完成所有单词,还是输入end手工结束,都会在“统计.txt”中显示你此次的复习情况,如下

PSS. 如果你手工end结束,则会生成一个last.dat,记录的是你这次单词背到哪了。
PSSS. 小诀窍,如果你只希望复习你做错的单词,可以在excel中选择B列,在数据栏中,按降序排列(Z→A那个图标),这样排在前面的就是你错的单词了。然后,你再在程序里输入对应的序号。

我暂时不会让这个小程序显示音标,如果有高手会的话,可以修改一下发上来。
如果大家有什么意见和建议的话,也可以发上来告诉我。

最后,我选用MATLAB是因为1.MATLAB对excel的读写较为简单,2.论坛中有许多工科生,MATLAB应该还是有一定使用率的。鉴于运行由m文件编译的exe文件需要安装一个400MB的编译器,我就不发EXE文件上来了,大家直接打开m文件在MATLAB上运行好了。如果有高手能修改为C语言或者VC之类的通用程序,也可以发上来。谢谢大家。
作者: lmjingyu    时间: 2013-6-21 22:54:44

好厉害~!终于遇到可以用的了><感谢lz啊!
作者: headhuanglan    时间: 2013-6-21 23:35:36

soulwangh 发表于 2013-6-21 21:42
首先,非常感谢楼主的辛苦。一些帖子是凌晨发上来的,看出楼主为大家服务的热心!也希望楼主能够GRE成功!
...

嗯 可以先显示单词 再显示解释。。。改改代码就可以了,可是这种方式对我来说刷的太慢了。。。所以我刷的时候发音也不用。直接刷。。。好建议!赞一个!
作者: headhuanglan    时间: 2013-6-21 23:36:24

crazyrobin 发表于 2013-6-21 12:17
很给力

robin大神也来视察了...倍感荣幸!
作者: g549034403    时间: 2013-8-23 19:18:33

谢谢了 哈哈
作者: LXSAngelsigh    时间: 2013-9-10 11:48:07

谢谢,下载下来用用看,不过那个vbs的 我用win8 excel 2013打开出现的框框是乱码。
作者: -Sweden-    时间: 2013-10-21 03:06:22

救命!用不了!!无法创建?
作者: 鸡翼壹号    时间: 2013-10-23 12:36:42

小白诚心请教一个问题,我双击gre.vbs后,提示我说 错误:找不到指定的模块 请问该怎么操作?
作者: nbann_1    时间: 2014-4-14 17:19:47

感谢楼主,下下来研究
作者: xiaomogu2    时间: 2014-5-21 14:17:17

part2在哪儿啊,怎么看不到呢
作者: EstherShayr    时间: 2014-8-11 12:25:45

谢谢分享~~
作者: dreamon1993    时间: 2014-9-2 14:52:00

鸡翼壹号 发表于 2013-10-23 12:36
小白诚心请教一个问题,我双击gre.vbs后,提示我说 错误:找不到指定的模块 请问该怎么操作?

我也是  你找到解决办法了么?

作者: 非同寻常    时间: 2014-9-6 18:36:06

谢谢
作者: zzyzero    时间: 2015-8-31 11:40:50

Thank you for your help!!!!!!!!
作者: JoshuaJin    时间: 2015-9-7 11:22:30

谢谢。请问怎么使用乱序呢,每次都是顺序出来的。是要到EXCEL里面重新排序吗,但是怎么乱序排呢




欢迎光临 寄托家园留学论坛 (https://bbs.gter.net/) Powered by Discuz! X2