烈香杜鵑7366
之前搞過(guò)一個(gè),包括多個(gè)翻譯結(jié)果、音標(biāo)、例句——網(wǎng)頁(yè)返回結(jié)果中都有,甚至可以點(diǎn)擊發(fā)音【音頻文件從另一個(gè)網(wǎng)頁(yè)獲取】,等有空我找找
使用VBA,需要添加引用:XML和HTML【注:今天測(cè)試,代碼不能運(yùn)行了,測(cè)試發(fā)現(xiàn)是有道網(wǎng)頁(yè)返回的內(nèi)容變了,解析路徑不對(duì)了~~,音標(biāo)的內(nèi)容好像也沒(méi)有了??!以下代碼僅供參考吧】
右擊工作表,查看代碼,粘貼以下代碼:
Sub FanYi(Wrd As String, Target As Range)
'Author: cnbubble,
'版本1——使用有道獲取翻譯意思、音標(biāo)、例句;從獲得MP3發(fā)音文件?!景l(fā)音的代碼未復(fù)制】
Dim xlmDoc As DOMDocument
Dim xlmNodes As IXMLDOMNodeList
Dim S As String, i As IXMLDOMNode, J As Integer, tagPos As Integer
Dim oExec
Wrd = Trim(Wrd)
If Wrd = "" Then Exit Sub
oExec = CreateObject("Wscript.shell").Run("ping dict.youdao.com -n 1", 0, True)
If oExec <> 0 Then Target.Offset(0, 1).Value = "可能未聯(lián)網(wǎng),翻譯功能不可用!": Exit Sub
Application.EnableEvents = False
Set xlmDoc = New DOMDocument
xlmDoc.async = False
If xlmDoc.Load("http://dict.youdao.com/search?q=" & Wrd & "&doctype=xml") Then
Set xlmNodes = xlmDoc.SelectNodes("http://translation/content")? ? '翻譯內(nèi)容
S = ""
For Each i In xlmNodes
S = S & i.Text & vbCrLf
Next
Target.Offset(0, 1).Value = Left(S, Len(S) - 2)
Set xlmNodes = xlmDoc.SelectNodes("http://phonetic-symbol")? ? ? ? '音標(biāo)
S = ""
For Each i In xlmNodes
S = S & "/? " & i.Text & "? /" & vbCrLf
Next
Target.Offset(0, 2).Value = Left(S, Len(S) - 2)
Target.Offset(0, 2).Font.Color = -11489280
Set xlmNodes = xlmDoc.SelectNodes("http://example-sentences/sentence-pair")? ?'例句
J = 3
For Each i In xlmNodes
S = i.childNodes(0).Text & vbCrLf & i.childNodes(2).Text
tagPos = InStr(S, "")
S = Replace(S, "", "")
S = Replace(S, "", "")
With Target.Offset(0, J)
.Value = S
.Characters(tagPos, Len(Wrd)).Font.Bold = True
.Characters(tagPos, Len(Wrd)).Font.Color = vbRed
End With
J = J + 1
Next
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Or Target.Row = 1 Or Target.Cells.Count > 1 Then Exit Sub
Call FanYi(Target.Value, Target)
End Sub
'在A列輸入要翻譯的詞,自動(dòng)在后面顯示所有的翻譯結(jié)果、音標(biāo)、三個(gè)例句,這是之前實(shí)現(xiàn)的?,F(xiàn)在不運(yùn)行了!!。
如果只實(shí)現(xiàn)音標(biāo),可以從網(wǎng)頁(yè)獲?。篤BA,插入一個(gè)模塊,粘貼下面的代碼:
Public Function getPhon(Wrd As String) As String
'查詢一個(gè)單詞的音標(biāo)
Dim htmlDoc As String, sPhon As String
Dim oMatch
With CreateObject("Microsoft.XMLHTTP")
.Open "GET", "http://dict.youdao.com/search?q=" & Wrd, False
.send
htmlDoc = .responseText
End With
With CreateObject("VBScript.RegExp")
.Global = False
.Pattern = "([^<]+)"
Set oMatch = .Execute(htmlDoc)
If oMatch.Count > 0 Then
getPhon = oMatch(0).submatches(0)
End If
End With
End Function
在工作表中,就像使用自帶的函數(shù)一樣:
之間給出字符串:
或者單元格引用:
掬黛小公主
有的,我用的是老師給我們同學(xué)建議的軟件,可以輸入單詞以后自動(dòng)有詞義和音標(biāo)的,然后就自建詞庫(kù)了,電腦版和手機(jī)版都有的,叫做角斗士我愛(ài)背單詞9(注意一定是角斗士系列的flyenglish),外教真人發(fā)音清晰,每天自己可以決定背多少個(gè),軟件能夠根據(jù)遺忘曲線自動(dòng)提醒該復(fù)習(xí)的詞匯,這樣反復(fù)復(fù)習(xí)就記住了,而且還能把單詞制作成mp3文件來(lái)聽(tīng),北大老師制作的,這個(gè)是角斗士系列的,十大品牌的,你去淘寶找一下就有的。
平凡yifen
想要在一篇文章或一份英語(yǔ)試卷中輸入英語(yǔ)音標(biāo),有一個(gè)非常簡(jiǎn)單的辦法可以實(shí)現(xiàn)。如果你的計(jì)算機(jī)中裝有《金山詞霸》的話,在把英語(yǔ)翻譯成中文時(shí),你一定會(huì)發(fā)現(xiàn)屏幕上顯示出了用國(guó)際音標(biāo)標(biāo)注的英文單詞的發(fā)音音標(biāo),這表明計(jì)算機(jī)在安裝了《金山詞霸》后,在其內(nèi)部安裝了含有英語(yǔ)音標(biāo)的字庫(kù)。這個(gè)字庫(kù)文件就在Windows文件夾下的字體文件夾Fonts中,其文件名是ksphonet.ttf,字體名是kingsoftphonetic。進(jìn)入中文Word2000,需要輸入音標(biāo)時(shí),可在“插入”菜單下選擇“符號(hào)”,在“符號(hào)”選項(xiàng)卡的“字體”下拉菜單中選擇“kingsoftphoneticplain”,這時(shí)你會(huì)看到國(guó)際音標(biāo)中的符號(hào)出現(xiàn)在屏幕上,選擇你所需要的音標(biāo)雙擊之,即可將其插入到文章中。如果你的計(jì)算機(jī)中沒(méi)有安裝《金山詞霸》,那也沒(méi)關(guān)系,你只要到裝有《金山詞霸》的機(jī)器上(或光盤(pán)中)把含有音標(biāo)的字體文件ksphonet.ttf復(fù)制到你的計(jì)算機(jī)中即可。
優(yōu)質(zhì)英語(yǔ)培訓(xùn)問(wèn)答知識(shí)庫(kù)