1.如何实现有道词典的词典词典单词本功能?
2.Word控件Spire.Doc 文档操作教程(六):在 C#、VB.NET 中计算文档中的源码单词数、更改语言词典
如何实现有道词典的单词本功能?
之前搞过一个,包括多个翻译结果、源码音标、词典词典例句——网页返回结果中都有,源码仓储物流系统源码甚至可以点击发音音频文件从另一个网页获取,词典词典等有空我找找使用VBA,源码需要添加引用:XML和HTML注:今天测试,词典词典代码不能运行了,源码测试发现是词典词典有道网页返回的内容变了,解析路径不对了~~,源码音标的词典词典内容好像也没有了!!源码以下代码仅供参考吧
右击工作表,词典词典导航自适应源码查看代码,粘贴以下代码:
Sub FanYi(Wrd As String, Target As Range)
'Author: cnbubble,jb@.com
'版本1——使用有道获取翻译意思、音标、例句;从/获得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 = "可能未联网,翻译功能不可用!从github同步源码": Exit Sub
Application.EnableEvents = False
Set xlmDoc = New DOMDocument
xlmDoc.async = False
If xlmDoc.Load("/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 = -
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", "/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
在工作表中,就像使用自带的函数一样:
之间给出字符串:
或者单元格引用:
Word控件Spire.Doc 文档操作教程(六):在 C#、VB.NET 中计算文档中的网红拍拍源码单词数、更改语言词典
Spire.Doc for .NET 提供了一种便捷的方法来操作 Word 文档,包括计算单词数和更改语言词典。让我们逐一了解如何在 C# 和 VB.NET 中实现这些功能。 首先,计算文档中的单词数和字符数。在 C# 中,你可以按照以下步骤进行:创建一个 Spire.Doc.Document 实例,并加载测试文件。
获取字数和字符数,包括或排除空格,并在控制台输出结果。
在 VB.NET 中的代码类似,只需稍作调整。完整代码如下: [C#][VB.NET]
接下来,如果你想更改文档的语言词典,例如从默认的英语切换到秘鲁西班牙语,可以按照以下步骤操作:新建一个 Word 文档,创建 Section 和 Paragraph。
添加一个 TextRange,并添加秘鲁西班牙语单词,指定LocaleIdASCII为以更改语言。
最后,保存文档并查看更改后的效果。
以上操作展示了 Spire.Doc for .NET 在处理文档语言和统计信息方面的灵活性。通过这些代码,你可以轻松地在 C# 或 VB.NET 中实现所需的功能。