Visio VBA“预期:语句结束”错误

Visio VBA“预期:语句结束”错误

这让我很困惑。几天前我第一次写这段代码时,它运行得很好。但现在,Visio 似乎认为语法不完整或不正确。我收到此错误: 在此处输入图片描述

我想知道这是否与文件类型有关,但是我已经在同一个模块中有了其他位于其上方的宏子项,并且它们不会引发任何错误。

如果任何人提供线索我都会很感激......

笔记:

  • VBA 版本 7.1
  • Visio 计划 2 (16.0.12527.21096)
  • 宏安全关闭(允许所有宏)
  • VBA 模块包含在/保存为 Visio 2013 模板中
  • 我尝试运行 VBA 的 Visio 文档是启用宏的 Visio 绘图 (.vsdm)

答案1

好的,非常感谢保罗·赫伯特引导我走上正确的道路......尽管我将要揭示的事情比我预期的更加险恶......

我以为我可能会发现我只有 LF 而不是 CRLF 作为 EOL(行尾)字符。结果发现问题是全部前导空格是双字节字符 - 看起来像 Unicode... 超越比较文本

感谢上帝赐予 Beyond Compare(来自 Scooter Software。物有所值!他们没有付钱给我……)

...但它真的是 Unicode 吗?

以下是真正发生的情况: 超越比较Hex

...我不认为它是 Unicode,因为 Unicode 0xA020 是

对我来说,这种情况是如何发生的是一个谜,但我怀疑这可能与我输入此信息的原始 Visio Stencil 采用旧的 .VSS 格式(从很久以前开始)有关,而且我认为当前 Visio 在重新打开 Stencil 时处理它的方式可能存在某种编码问题...可能是 Visio 和旧文件版本之间存在一些兼容性错误。

它可能是不间断空格(0xA0)和空格(0x20)的序列。

但问题解决了。

相关内容