标题: Last tool for GRE 的VBS版本,任何windows系统都能用,可发音带音标! [打印本页] 作者: headhuanglan 时间: 2013-6-19 23:07:52 标题: Last tool for GRE 的VBS版本,任何windows系统都能用,可发音带音标!
看到有同学用matlab写了个Last tool for GRE的版本很开心...但是似乎不能显示音标?而且有不少同学是不用matlab的,但大部分同学肯定用windows系统,所以...写了个VBS版本的Last tool for GRE。使用方法:直接双击gre.vbs即可,乱序的单词背诵次序随机生成!
(但还是要感叹。。。如果有琦叔3000的excel文件或者新版42个list的GRE红宝excel文件就好了。。。)
主要思路:用VBS脚本来操作excel,在excel中记录下是否已经背会当前单词,而且可以选择是否发音(若觉得发音会降低过单词速度的同学可以选择不发音),是否开启excel显示(不开启的话就直接弹窗来背单词),无论任何种方式,最终都会把背单词的次数和是否正确写入excel文件,最终可以通过excel筛选来查看自己多次背错的单词!
[attach]221745[/attach]
'定义“交换”过程swap(a,b)——将a,b值互换,为了核心算法用
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") '创建EXCEL对象
Set ExcelBook = ExcelApp.Workbooks.open(currentfolder+"/gre.xlsx")
Set ExcelSheet = ExcelBook.Worksheets(1)
flag1=MsgBox("是否显示GRE单词excel文件?", vbYesNo, "提示")
if flag1=vbYes then
ExcelApp.Visible = True
end if
flag=MsgBox("是否开启单词发音功能?", vbYesNo, "提示")
i = InputBox("输入起始序号:")
if i=1 then i=2
j = InputBox("请输入终止序号(最大为6193):")
if j>6193 then j=6193
num=j-i+1
msgbox ("您选择的单词数目为:"&num)
ReDim a(num)
'将从起始号i到终止号j的num个数放入a()
For k = 1 To num
a(k) = i + k - 1
Next
'下面对数组a()中的元素制造出一个随机排列,以取sheet1中的行号
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 '给单元格D(a(m))赋值
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 '结束EXCEL对象
Set ExcelApp = Nothing '释放App对象
Set spell = Nothing
end If 作者: compe 时间: 2013-6-19 23:15:05
I didn't login for a long time, the account was stolen for phishing posts. That't the reason my account is banned. But, it's OK now.作者: Jtiger6 时间: 2021-7-20 17:34:54