找回密码
 加入
搜索
查看: 3782|回复: 1

[系统综合] EXCEL VBA如何使用EXCEL内建的简繁互换功能(TCSCConverter)(kevinch请進)

[复制链接]
发表于 2013-1-28 11:20:48 | 显示全部楼层 |阅读模式
EXCEL VBA如何使用EXCEL内建的简繁互换功能(TCSCConverter)   將檢體轉換成 繁體

應該是利用 TCSCConverter 這樣的功能吧  網上找不到資料......語法好像不太依樣


我會WORD 的  可是 EXCEL 的 不太依樣



http://www.autoitx.com/forum.php ... 86%B7%B1&page=1
发表于 2013-1-28 15:10:00 | 显示全部楼层
事实上利用vba也是调用的api来实现简繁转换,tcscconverter也是个dll,与调用api类似,但未见有资料公开,下面提供一个vba转换简繁的函数供测试
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
Dim STf As String    '繁体字符串
Dim STj As String    ' 简体字符串
Dim STlen As Long    ' 待转换字串长度

Sub SC2TC()    'Gb码简体转繁体
    STj = "中华人民共和国"
    STlen = lstrlen(STj)
    STf = Space(STlen)
    LCMapString &H804, &H4000000, STj, STlen, STf, STlen
    Debug.Print STf
End Sub

Sub TC2SC()    'Gb码繁体转简体
    STf = "中華人民共和國"
    STlen = lstrlen(STf)
    STj = Space(STlen)
    LCMapString &H804, &H2000000, STf, STlen, STj, STlen
    Debug.Print STj
End Sub
在vba中根据需要调用指定的function就可以了,另外tcscconverter也是无法转换图形中的文本,可以利用个vba程序来枚举图形进行转换来弥补这一不足
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 00:49 , Processed in 0.083949 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表