1、首先第1个IFELanguage,调用微软拼音,封装成了函数
#If VBA7 Then Declare PtrSafe Function GetPinYin Lib "IFELanguage_x64" (ByVal str As Variant) As String() #Else Declare Function GetPinYin Lib "IFELanguage_x86" (ByVal str As Variant) As String() #End If Sub test() Dim s As String Dim arr() As String ChDir "C:\\\\\\\\\\\\\\\\Users\\\\\\\\\\\\\\\\Administrator\\\\\\\\\\\\\\\\Desktop\\\\\\\\\\\\\\\\Build" s = "广州大学大学生的大学生活" arr = GetPinYin(s) debug.print join(arr) '会打印输出结果 End Sub
2、更新一个c++的库,loquat.pinyin.dll,配套loquat.pinyin.com.dll前者的函数原型不提供了,后者直接注册引用,然后调用,以下是简单案例
Sub test()
Dim i As PinyinEngine
Set i = New PinyinEngine
Dim i2 As IPinyinDict
'Set i2 = i '切换接口
'i2.LoadDict "path\\\\to\\\\txt", DICT_PHRASE '加载自定义词典
Debug.Print i.ToPinyin("茄子的茄是雪茄的茄", TONE_SYMBOL, PATTERN_PINYIN, RESULT_STRING)
Debug.Print VBA.Join(i.Segment("广州大学大学生的大学生活")) '附赠的分词功能
Debug.Print i.GetAllReadings("茄")
Set i = Nothing
End Sub提供了词库更新方法和编译工具,提供了自定义词库的格式
3、下载地址
上一页:EventApp后期绑定事件触发
下一页:中文笔画
Copyright © 2025- vba.vip All Rights Reserved.