skeetastax Asked: 2020-10-22 21:55:18 +0800 CST2020-10-22 21:55:18 +0800 CST 2020-10-22 21:55:18 +0800 CST Visio VBA“预期:语句结束”错误 772 这让我很难过。几天前我第一次编写此代码时,它运行良好。但是,现在 Visio 似乎认为语法不完整或不正确。我收到此错误: 我想知道它是否与文件类型有关,但是我已经在同一个模块中从上面的其他宏 subs 开始,它们不会抛出任何错误。 如果有人提供任何线索,我将不胜感激... 笔记: VBA v7.1 Visio 计划 2 (16.0.12527.21096) 宏安全关闭(允许所有宏) VBA 模块包含/保存为 Visio 2013 模具 我试图在其上运行 VBA 的 Visio 文档是启用宏的 Visio 绘图 (.vsdm) vba microsoft-visio 1 个回答 Voted Best Answer skeetastax 2020-10-27T17:39:51+08:002020-10-27T17:39:51+08:00 好的,非常感谢 Paul Herbert 让我走上了正确的道路……尽管我要透露的内容比我预期的要险恶一点…… 我想也许我可能会发现我只有 LF 而不是 CRLF 作为 EOL(行尾)字符。事实证明,问题在于所有前导空格都是双字节字符 - 看起来像 Unicode ...... 感谢上帝的 Beyond Compare(来自 Scooter Software。物有所值!不,他们不付钱给我......) ...但它真的是 Unicode 吗? 下面是真正发生的事情: ...我不认为它是 Unicode,因为 Unicode 0xA020 是 ꀠ 这对我来说是一个谜,但我怀疑这可能与我输入的原始 Visio Stencil 是旧的 .VSS 格式(从很久以前),我认为可能有当前 Visio 在重新打开 Stencil 时如何处理它的某种编码问题......也许是 Visio 和旧文件版本之间的一些兼容性错误。 它可以是不间断空格 (0xA0) 和空格 (0x20) 的序列。 不过问题解决了。
好的,非常感谢 Paul Herbert 让我走上了正确的道路……尽管我要透露的内容比我预期的要险恶一点……
我想也许我可能会发现我只有 LF 而不是 CRLF 作为 EOL(行尾)字符。事实证明,问题在于所有前导空格都是双字节字符 - 看起来像 Unicode ......
感谢上帝的 Beyond Compare(来自 Scooter Software。物有所值!不,他们不付钱给我......)
...但它真的是 Unicode 吗?
下面是真正发生的事情:
...我不认为它是 Unicode,因为 Unicode 0xA020 是 ꀠ
这对我来说是一个谜,但我怀疑这可能与我输入的原始 Visio Stencil 是旧的 .VSS 格式(从很久以前),我认为可能有当前 Visio 在重新打开 Stencil 时如何处理它的某种编码问题......也许是 Visio 和旧文件版本之间的一些兼容性错误。
它可以是不间断空格 (0xA0) 和空格 (0x20) 的序列。
不过问题解决了。