问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

EXCEL如何实现自动生成英语单词的音标?

发布网友 发布时间:2022-04-19 22:54

我来回答

4个回答

热心网友 时间:2023-09-02 11:43

之前搞过一个,包括多个翻译结果、音标、例句——网页返回结果中都有,甚至可以点击发音【音频文件从另一个网页获取】,等有空我找找

使用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.you.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.you.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.you.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

在工作表中,就像使用自带的函数一样:

之间给出字符串:

或者单元格引用:

热心网友 时间:2023-09-02 11:43

换个接口试试

热心网友 时间:2023-09-02 11:44

除非用数据库,否则很难自动推断出来追问=IF(A2="","",FILTERXML(WEBSERVICE("http://fanyi.you.com/translate?&i="&A2&"&doctype=xml"),"//translation"))
用这个公式在office Excel中生成翻译是成立的
想知道怎么修改才能生成音标

追答看样子大概是改下//translation这个节点,改成其他的,

具体你要打开前面的xml才知道设置成哪个

热心网友 时间:2023-09-02 11:44

这个能不能利用百度翻译或者爱词霸的网页来实现自动获取,有道的网页好像返回数据变了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...flash学得好、将来会有什么用、求哥哥、姐姐们、帮帮忙 我即将初中毕业,想要读技校,但又不知选那科好`哥哥姐姐们帮个忙吧! 成绩不好,高中毕业想学电脑,哪位哥哥姐姐知道帮忙推荐下学校_百度知 ... 大学计算机3级 怎样学习啊 难吗 哥哥姐姐 帮帮忙吧 ...就业怎样?我报了这个专业,请各位哥哥姐姐帮帮忙 请IT业工作的哥哥姐姐帮忙出出主意~~ ...师傅让他沿着水缸边行走练功。有谁知道这个电影叫什么? 小伙穿越拜"小龙女"为师,与小龙女合练武功是什么电影 ...电影开头是一个赤膊的男主角在练功,然后再和队友们去做任务,结果一... ...一秒竟然穿越了醒来第一句话就是疼死宝宝了是什么电视剧? 请问在excel和wps表格里怎样批量输入英语音标? 如何在Excel中输入英语音标 怎样用excel输入音标,最好别说什么用金山词霸里的... 在excel中怎么输入英语单词音标? 请问怎样在word和excel中插入英语音标呢?如果能批... 英语音标在Excel中如何书写,写下来 如何在excel中打音标呢 如何在Excel里输入英语发音 如何在excel中输入英文音标? Excel中录入英语音标 怎么在Excel上输入国际音标? 如何在excel中输入英文音标 小米8青春版微信视频通话为什么没有美颜? 秋季适合喝什么茶,最好能养胃的。 在秋季适合喝什么茶最好 秋季是养生的好时节,秋季喝哪些茶对人体是最好的? 秋天喝什么茶好? 秋季喝什么茶叶好 儿童自制手工玩教具的意义都要哪些 求推荐一些适合孩子玩的手工类益智玩具 Excel里的单词 怎么自动生成音标? Excel里想写出英语的所有音标,不知如何才能写出来? 请问,Excel里,A列是单词,很多个。怎样在B列自动... 用office的word或者excel能否给英语单词自动注上音... Excel怎么自动批量插入音标呢,真心求教 如何让excel显示英语音标 网络赌博举报网站? 网络赌博在哪里举报 网络举报赌博在哪里举报 怎么举报网络赌博 网络赌博怎么举报 请问怎么举报网络赌博 网络赌博怎么举报? 怎样举报网络平台赌博 网上举报赌博怎么举报 如何举报网络赌博 怎么举报网络赌博? 网上怎么举报赌博 网络游戏赌博举报电话是多少 怎么举报网络赌博网站?