![Mac Excel - 用日语编写的 VBA 已损坏](https://linux22.com/image/1577214/Mac%20Excel%20-%20%E7%94%A8%E6%97%A5%E8%AF%AD%E7%BC%96%E5%86%99%E7%9A%84%20VBA%20%E5%B7%B2%E6%8D%9F%E5%9D%8F.png)
我有一个 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 开始)。