ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用VBA实现批量简繁转换?

如何用VBA实现批量简繁转换?

作者:绿色风 分类: 时间:2022-08-17 浏览:164
楼主
罗刚君
Q:如何用VBA实现批量简繁转换?
A:在简体中文的操作系统中可以使用如下代码进行转换,繁体系统中则不适用。

  1. Dim STlen As Long, STf As String, str As String, STj As String
  2. 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
  3. Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
  4. Sub 简转繁()
  5.     On Error GoTo err
  6.     Dim cell As Range
  7.     For Each cell In Intersect(Selection, ActiveSheet.UsedRange)
  8.         str = cell
  9.         STlen = lstrlen(str)
  10.         STf = Space(STlen)
  11.         LCMapString &H804, &H4000000, str, STlen, STf, STlen
  12.         cell.Value = STf
  13.     Next
  14. err:
  15. End Sub
  16. Sub 繁转简()
  17.     On Error GoTo err
  18.     Dim cell As Range
  19.     For Each cell In Intersect(Selection, ActiveSheet.UsedRange)
  20.         str = cell
  21.         STlen = lstrlen(str)
  22.         STj = Space(STlen)
  23.         LCMapString &H804, &H2000000, str, STlen, STj, STlen
  24.         cell.Value = STj
  25.     Next
  26. err:
  27. End Sub
2楼
成就滋味
学习了,感谢分享哦

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap