用PPT辅助英语错词背诵
因为不想搞科研就开始背雅思语料库,3个test听写下来发现错的实在太多了orz,想把错词好好背一下,之前在b站上看到一个不错的背词视频,中心思想是把单词+例句+图片放屏幕上,背景循环播放单词读音。 就想搞来试试,因为电脑上没装过视频软件(笨,不会),于是想用PPT实现这个功能。
大体就两步:
1)根据错词爬单词读音
2)在PPT每个新建的页面上插入单词+MP3
第一步:爬单词读音
之前没有接触过爬虫,现学有点来不及(技能到用时方恨少),就“拿来主义”了。
看了些博客,有些太复杂看不懂,有些代码跑不了,找了个直接能跑的:
链接:根据单词列表通过网络下载单词发音 by:weixin_33595571
第二步:在PPT每个新建的页面上插入单词+MP3
//代码
Sub DUFF()
Dim tStrings(1000) As String
f = Dir("E:\M_L\lis\chapter3\test2\*.mp3")
Do While f <> ""
k = k + 1
tStrings(k) = f
f = Dir
Loop
Dim PPT As Presentation
Dim Slide As Slide
Dim CL As CustomLayout
Set PPT = PowerPoint.ActivePresentation
For i = 2 To k + 1
With PPT
Set CL = .Slides(1).CustomLayout
Set Slide = .Slides.AddSlide(i, CL) '以第一页slide版式新建slide
ActivePresentation.Slides(i).Shapes("标题 1").TextFrame.TextRange.Text = Left(tStrings(i - 1), Len(tStrings(i - 1)) - 4) '设置text内容
With ActivePresentation.Slides(i).Shapes.AddMediaObject2(FileName:="E:\M_L\lis\chapter3\test2\" & tStrings(i - 1)) '插入音频
.AnimationSettings.PlaySettings.PlayOnEntry = msoTrue '音频自动播放
.AnimationSettings.PlaySettings.LoopUntilStopped = msoTrue '循环播放至换页
End With
With ActivePresentation.Slides(i).SlideShowTransition
.AdvanceOnTime = msoTrue '开启幻灯片自动切换
.AdvanceTime = 5 '幻灯片自动切换间隔
End With
End With
Next i
End Sub
大致流程:把爬到的音频文件(以单词命名)放到一个文件夹里 —> 获取该文件夹内所有MP3文件的名称并计数&存到tStrings数组中 —> 根据计数生成新页面并设置文本框文本(因为是复制的第一页标题页的版式,所以文本框名称为"标题 1")为单词 —> 插入MP3并设置属性
最后效果:幻灯片5s切换一次,放映后自动播放MP3直到下一个单词出现
从结果看,大致实现了最初的需求,还是稍微有一点成就感,但是仍存在缺陷。
存在缺陷:
- 没有单词翻译
- 缺少单词图片
- 不是视频,不方便在手机上查看
之后的改进计划:
- 学习爬虫,搞懂如何爬取并保存翻译、例句、图片等
- 学习渲染视频
- 反正是计划:学下Android studio,在手机上实现同步?
以上两个大flag,等我交了周报再安排吧。
第一次发CSDN,끝~