取汉字拼音(推荐)

博客展示了一个名为GetPY的函数,用于获取字符串的拼音首字母。函数会判断输入字符的ASCII码,根据不同范围返回对应的拼音首字母,若为英文字母则直接返回大写形式,其他情况返回“0”。
Public Function GetPY(a1 As String) As String
Dim t1 As String
If Asc(a1) < 0 Then
t1 = Left(a1, 1)
If Asc(t1) < Asc("啊") Then
GetPY = "0"
Exit Function
End If
If Asc(t1) > = Asc("啊") And Asc(t1) < Asc("芭") Then
GetPY = "A"
Exit Function
End If
If Asc(t1) > = Asc("芭") And Asc(t1) < Asc("擦") Then
GetPY = "B"
Exit Function
End If
If Asc(t1) > = Asc("擦") And Asc(t1) < Asc("搭") Then
GetPY = "C"
Exit Function
End If
If Asc(t1) > = Asc("搭") And Asc(t1) < Asc("蛾") Then
GetPY = "D"
Exit Function
End If
If Asc(t1) > = Asc("蛾") And Asc(t1) < Asc("发") Then
GetPY = "E"
Exit Function
End If
If Asc(t1) > = Asc("发") And Asc(t1) < Asc("噶") Then
GetPY = "F"
Exit Function
End If
If Asc(t1) > = Asc("噶") And Asc(t1) < Asc("哈") Then
GetPY = "G"
Exit Function
End If
If Asc(t1) > = Asc("哈") And Asc(t1) < Asc("击") Then
GetPY = "H"
Exit Function
End If
If Asc(t1) > = Asc("击") And Asc(t1) < Asc("喀") Then
GetPY = "J"
Exit Function
End If
If Asc(t1) > = Asc("喀") And Asc(t1) < Asc("垃") Then
GetPY = "K"
Exit Function
End If
If Asc(t1) > = Asc("垃") And Asc(t1) < Asc("妈") Then
GetPY = "L"
Exit Function
End If
If Asc(t1) > = Asc("妈") And Asc(t1) < Asc("拿") Then
GetPY = "M"
Exit Function
End If
If Asc(t1) > = Asc("拿") And Asc(t1) < Asc("哦") Then
GetPY = "N"
Exit Function
End If
If Asc(t1) > = Asc("哦") And Asc(t1) < Asc("啪") Then
GetPY = "O"
Exit Function
End If
If Asc(t1) > = Asc("啪") And Asc(t1) < Asc("期") Then
GetPY = "P"
Exit Function
End If
If Asc(t1) > = Asc("期") And Asc(t1) < Asc("然") Then
GetPY = "Q"
Exit Function
End If
If Asc(t1) > = Asc("然") And Asc(t1) < Asc("撒") Then
GetPY = "R"
Exit Function
End If
If Asc(t1) > = Asc("撒") And Asc(t1) < Asc("塌") Then
GetPY = "S"
Exit Function
End If
If Asc(t1) > = Asc("塌") And Asc(t1) < Asc("挖") Then
GetPY = "T"
Exit Function
End If
If Asc(t1) > = Asc("挖") And Asc(t1) < Asc("昔") Then
GetPY = "W"
Exit Function
End If
If Asc(t1) > = Asc("昔") And Asc(t1) < Asc("压") Then
GetPY = "X"
Exit Function
End If
If Asc(t1) > = Asc("压") And Asc(t1) < Asc("匝") Then
GetPY = "Y"
Exit Function
End If
If Asc(t1) > = Asc("匝") Then
GetPY = "Z"
Exit Function
End If
Else
If UCase(a1) <= "Z" And UCase(a1) > = "A" Then
GetPY = UCase(Left(a1, 1))
Else
GetPY = "0"
End If
End If
End Function
HzToPy汉字拼音函数说明 函数原型如下: HzToPy(Hz As String, Optional Sep As String = "", Optional ShowNotation As Boolean = True, Optional ShowInitialOnly As Boolean, Optional ShowOnlyOneChar As Boolean = True) As String 参数名 参数类型 说明 第1个参数 Hz 字符型 为汉字字符串 第2个参数 Sep 字符型,可选 设定拼音间隔字符,默认为空("") 第3个参数 ShowNotation 布尔型,可选 设定是否显示注音符号,默认显示 第4个参数 ShowInitialOnly 布尔型,可选 设定是否仅显示拼音首字,默认显示全部 第5个参数 ShowOnlyOneChar 布尔型,可选 设定是否仅显示拼音首字母("zh"显示为"z"),默认只显示首字母 应用举例 目标汉字汉字拼音举例 1 显示用空格分开的拼音 公式: =HzToPy($b$19," ") 结果: hàn zì zhuǎn pīn yīn jǔ lì 2 显示用空格分开的拼音,同时不显示注音符号 公式: =HzToPy($b$19," ",false) 结果: han zi zhuan pin yin ju li 3 显示用空格分开的拼音,不显示注音符号,同时仅显示拼音的首字,并大写 公式: =HzToPy($b$19," ",false,true,false) 结果: H Z ZH P Y J L 4 显示用空格分开的拼音,不显示注音符号,同时仅显示拼音的首字母,并大写 公式: =HzToPy($b$19," ",false,true) 结果: H Z Z P Y J L GetPy()说明 汉字拼音的首字母(大写) 公式 =GETPY(B35) 结果 GS 函数原型:getpy(string) PinYin()说明 单个汉字或首个汉字拼音首字母(小写) 公式 =pinyin(B43) 结果 g 函数原型:pinyin(string)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值