vba字体渐变(繁体字和简体字之间进行转换)

繁体字和简体字之间进行转换,是编程中经常遇到的,虽然有很多在线工具可以实现转换,但是VBA代码中如何能快速实现呢?,今天小编就来聊一聊关于vba字体渐变?接下来我们就一起去研究一下吧!

vba字体渐变(繁体字和简体字之间进行转换)

vba字体渐变

繁体字和简体字之间进行转换,是编程中经常遇到的,虽然有很多在线工具可以实现转换,但是VBA代码中如何能快速实现呢?

其实利用API可以快速实现繁体字与简体字直接的转换,代码如下。

Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, _

ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long

Private Declare Function lStrLen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long

Function Jian_Fan_Conv(ByVal strString As String, Optional ByVal iMode As Integer = 0) As String

Dim lStrLength As Long

Dim strNew As String

Const J2F_MAPFLAG = &H4000000

Const F2J_MAPFLAG = &H2000000

Jian_Fan_Conv = ""

lStrLength = lStrLen(strString)

strNew = Space(lStrLength)

If iMode = 0 Then

LCMapString &H804, J2F_MAPFLAG, strString, lStrLength, strNew, lStrLength

Else

LCMapString &H804, F2J_MAPFLAG, strString, lStrLength, strNew, lStrLength

End If

Jian_Fan_Conv = strNew

End Function

代码是不是很简单?其实就是使用API函数LCMapString实现简繁体之间的转换。

参数dwMapFlags用于控制转换方式,是简体转为繁体,还是繁体转为简体。

参数iMode为转换模式,缺省值为0,实现简体转为繁体,如果不为0值,则繁体转为简体。

注意:

用于保存转换结果的字符串,需要先同空格填充为相应长度的字符串,否则API返回结果为空字符串。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页