
工具:office excel
点击插入栏中的“符号”进行符号的插入,将d出的符号窗口子集改为“标点和符号2”, 就能看到带音调的i了, 对它进行双击就可以插入了,完成.
电脑Excel的运用,是不能自动批量加入音标的,必须要进行人工手动的设置,才可以达到理想的加入音标使用效果。人们通过输入设备,把需要处理的信息输入电脑,电脑通过中央处理器,把信息加工后,再通过输出设备,把处理后的结果告诉人们。
其实这个模型很简单,举个简单的例子,你要处理的信息是1+1,你把这个信息输入到电脑中后,电脑的内部进行处理,再把处理后的结果告诉你。
早期电脑的输入设备十分落后,根本没有现在的键盘和鼠标,那时候电脑还是一个大家伙,最早的电脑有两层楼那么高。
人们只能通过扳动电脑庞大的面板上无数的开头来向电脑输入信息,而电脑把这些信息处理之后,输出设备也相当简陋,就是电脑面板上无数的信号灯。
所以那时的电脑根本无法处理像现在这样各种各样的信息,它实际上只能进行数字运算。
当时人们使用电脑也真是够累的。但在当时,就算是这种电脑也是极为先进的了,因为它把人们从繁重的手工计算中解脱出来,而且极大地提高了计算速度。
随着人们对电脑的使用,人们发现上述模型的电脑能力有限,在处理大量数据时就越发显得力不从心。为些人们对电脑模型进行了改进,提出了这种模型:
就是在中央处理器旁边加了一个内部存储器。这个模型的好处在于。
先打个比方说,如果老师让你心算一道简单题,你肯定毫不费劲就算出来了,可是如果老师让你算20个三位数相乘,
你心算起来肯定很费力,但如果给你一张草稿纸的话,你也能很快算出来。
可能你会问这和电脑有什么关系?其实电脑也是一样,一个没有内部存储器的电脑如果让它进行一个很复杂的计算,它可能根本就没有办法算出来,
因为它的存储能力有限,无法记住很多的中间的结果,但如果给它一些内部存储器当“草稿纸”的话,电脑就可以把一些中间结果临时存储到内部存储器上,
然后在需要的时候再把它取出来,进行下一步的运算,如此往复,电脑就可以完成很多很复杂的计算。
之前搞过一个,包括多个翻译结果、音标、例句——网页返回结果中都有,甚至可以点击发音【音频文件从另一个网页获取】,等有空我找找
使用VBA,需要添加引用:XML和HTML【注:今天测试,代码不能运行了,测试发现是有道网页返回的内容变了,解析路径不对了~~,音标的内容好像也没有了!!以下代码仅供参考吧】
右击工作表,查看代码,粘贴以下代码:
Sub FanYi(Wrd As String, Target As Range)
'Author: cnbubble,03jb@163.com
'版本1——使用有道获取翻译意思、音标、例句;从http://www.dictionary.com/获得MP3发音文件。【发音的代码未复制】
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 = "可能未联网,翻译功能不可用!": 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("//translation/content") '翻译内容
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("//phonetic-symbol") '音标
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("//example-sentences/sentence-pair") '例句
J = 3
For Each i In xlmNodes
S = i.childNodes(0).Text &vbCrLf &i.childNodes(2).Text
tagPos = InStr(S, "<b>")
S = Replace(S, "<b>", "")
S = Replace(S, "</b>", "")
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列输入要翻译的词,自动在后面显示所有的翻译结果、音标、三个例句,这是之前实现的。现在不运行了!!。
如果只实现音标,可以从网页获取:VBA,插入一个模块,粘贴下面的代码:
Public Function getPhon(Wrd As String) As String
'查询一个单词的音标
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 = "<span class=""phonetic"">([^<]+)</span>"
Set oMatch = .Execute(htmlDoc)
If oMatch.Count >0 Then
getPhon = oMatch(0).submatches(0)
End If
End With
End Function
在工作表中,就像使用自带的函数一样:
之间给出字符串:
或者单元格引用:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)