做英语培训,需要对PPT的每一页的单词进行自动查询音标和翻译,简化劳动
Private Type Character
word As Stringtrans As String
phonetic As String
End Type
Sub getTitles()
Dim newChar As Character
Dim oPres As Presentation
Set oPres = Application.ActivePresentation
Dim oSlide As Slide
Dim oShape As Shape
Dim sTitle As String
Dim sText As String
Dim i As Long, j As Long
'循环每页幻灯
For i = 2 To oPres.Slides.Count
Set oSlide = oPres.Slides.Item(i)
'oSlide.Shapes.Count
newChar.word = oSlide.Shapes.Item(1).TextFrame.TextRange.Text
Call searchWordFromBaidu(newChar.word, newChar.trans, newChar.phonetic)
oSlide.Shapes.Item(2).TextFrame.TextRange.Text = newChar.trans
Next
End Sub
'单词音译写入Excel
Sub WriteVocabulary()
Dim iZidian As Integer
Dim newChar As Character
Dim R As Range
Dim rr, dd As Integer
'strTags = ActiveSheet.Name
Sheet1.Activate
ActiveSheet.Names.Add Name:="NewWord", RefersTo:="=OFFSET($A$1,0,0,COUNTA($A:$A))"
Set R = ActiveSheet.Names("NewWord").RefersToRange
Sheet1.Cells(1, 6).Value = ""
dd = R.Count - 1
'rr = 0
'For Each Row In R.Rows
For rr = 2 To dd + 1
'rr = rr + 1
'newChar.word = Trim(Row(1))
newChar.word = R(rr)
Select Case iZidian
Case 1
Call searchWordFromYoudao(newChar.word, newChar.trans, newChar.phonetic)
Case 2
Call searchWordFromBaidu(newChar.word, newChar.trans, newChar.phonetic)
Case 3
Call searchWordFromBing(newChar.word, newChar.trans, newChar.phonetic)
Case 4
Call searchWordFromCiba(newChar.word, newChar.trans, newChar.phonetic)
Case Else
Call searchWordFromYoudao(newChar.word, newChar.trans, newChar.phonetic)
End Select
On Error Resume Next
Sheet1.Cells(rr, 2).Value = newChar.phonetic '音标
Sheet1.Cells(rr, 3).Value = newChar.trans '中文含义
Sheet1.Cells(1, 6).Value = rr - 1 & "/" & dd
'Next Row
Next rr
End Sub
Sub searchWordFromYoudao(tmpWord As String, tmpTrans As String, tmpPhonetic As String)
'http://dict.youdao.com/search?q=单词&keyfrom&#