Mac Excel - 用日语编写的 VBA 已损坏

Mac Excel - 用日语编写的 VBA 已损坏

我有一个 Excel 文件,其中包含用日语字符编写的受密码保护的 VBA 宏,我在处理它时遇到了很大麻烦。

每当我尝试在 Mac OS X 的 Excel 2016 上打开它时,文件都会弹出几个错误窗口,当我去查看宏时,密码保护就消失了,当我可以查看 VBA 代码时,它就充满了所有日文字符的 mojibake 文本。

我之前曾在 Windows PC 上运行过同一个文件,并且运行顺利,所以我认为这是 Mac Office 特有的问题。

有没有什么办法可以在 Mac Excel 上解决这个问题?

答案1

对于使用日语版 MS Office 的部署,最好在代码中仅使用 ASCII 字符:过程名称、变量名称、字符串内容等。也就是说,Chr$(127) 以上没有 ANSI,没有重音字符,没有“特殊”字符。

换句话说,这两行将会失败:

Function carréRaçine(élève As String)  
If élève = "caleçon" Then  

以下两项将通过:

Function carreRacine(eleve As String)  
If eleve = "calecon" Then  

如果需要在字符串中使用重音字符,请使用例如 Chr$(233) 代替 é

事实是,大多数带重音的字母在日文版 Office 中都不是问题,但我永远无法得到有问题的字母的完整列表,这些字母往往会根据操作系统(Mac 或 Windows 上的日文版 Office)和 VBA 版本的不同而变化:VBA6(最高到 Office 2013)或 VBA7(从 Office 2007 开始)。

相关内容