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返回結果為空字符串。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!