VBA如何处理文字乱码情形
网志图文版:
http://www.b88104069.com/archives/4243
应该蛮多人操作电脑遇到过乱码,例如浏览网页、开启word文件、偶尔安装其他国家其他
语系的应用程式时,操作画面也会出现乱码。相较而言,Excel出现乱码的机率比较少,
我自己几乎没遇到。不过,最近第二本书要在马来西亚新加坡发行,内容文字要改成简体
中文,截图操作画面要改成英文版Excel,在处理VBA的时候,发现原来繁体中文的正常档
案,于其他语言环境开启变成乱码,下了一番苦工研究对策,在此分享:
一、原本正常的繁体中文,一切都是那么美好。
二、将Excel接口语言切换到英文,一瞬间悲剧了!
三、执行宏,同样是火星文字,不过,意外发现还是可以“Run”。
四、硬著头皮跑程式,果不其然报错了。
五、在上个步骤选择“Debug”,VBA会帮忙跳到错误的那一行代码,标明黄色。
六、江湖一点诀,说穿了不值钱。第一次遇到这种情形,我花了一些时间摸索,后来发现
解决方法很直观,既然是文字格式出问题,那么就切换所使用字体:“Tools(工具)”
、“Options(选项)”。
七、在跳出来的“Options(选项)”视窗中,移到“Editor Format(撰写风格)”页签
,在“Font(字型)”方块中选择“PMingLiu(CHINESE BIG5)”,这个就是大家很熟悉
的新细明体,“PMingLiu”是它在非中文环境的名称。
八、更改所使用字型后,终于正常显示繁体中文,然而再次执行宏,还是会在同样一行
代码报错。
九、又是一阵摸索之后,解决方法是将原来的工作表名称“参数”删除,以仓颉输入法再
打一次“参数”。从选字菜单推知确实是输入“参数”,但在视窗中却显示空白,变成幽
灵文字,然后可以执行宏不再报错。
电脑程式多语言兼容看似容易,其实不是一件简单的事。最强大的微软windows作业系统
,也是摸索了一段时间之后才推行多语言版本。到如今,微软的win 10和2016年office(
也许更早版本)都可以支持不同语言的切换。操作Excel的时候,只要下载其他语言的微
软语言包,便可快速切换语言接口,不会遇到什么问题。但如果要从Excel进一步到VBA,
毕竟VBA为外挂的Basic语言,这篇文章的范例已经证明,语言包应该主要是针对Excel本
身的切换,对于VBA支持度不是很全面,至少在工作表名称和程式代码方面,没办法顺利
地切换语言。所幸这篇文章范例的VBA资料不多,稍加修改不花太多时间。倘若是编写大
型的VBA,势必会是个灾难。所以如果预知会有不同语言的使用者,建议于Excel工作表命
名和VBA变量宣告时,尽量以英文替代中文,因为英文是最为通用的语言。
延伸阅读:
Excel如何以Cell函数自动更新会计期间
http://www.b88104069.com/archives/4237
VBA如何编写Vlookup公式整理财产目录
http://www.b88104069.com/archives/4234
Excel编制预算时如何限制特定范围编辑
http://www.b88104069.com/archives/4233