未记录的vba特殊关键字 - 圆形和比例

z̫͋*_*z̫͋ 14 syntax vba

所述VBA的文档定义了下面的令牌:

special-form = “Array“ / “Circle” / “Input” / “InputB” / “LBound” / “Scale” / “UBound”
Run Code Online (Sandbox Code Playgroud)

根据文件记录:

特殊形式是一个保留标识符,其在表达式中使用,就好像它是一个程序中定义的过程的名称,但其具有用于它的参数特殊句法规则.

但是没有提到这些关键字的用途,也没有提及数量,参数类型和返回值.

有些记录在其他地方:

  • Array返回具有可变数量参数的文字数组
  • 输入输入B线一起使用
  • LBoundUbound分别返回数组的第一个和最后一个索引,与VB相同

我的问题是:CircleScale
的目的是什么?它们是如何使用的?

我找到了Circle的正确(奇数)语法,它与BASIC语句相同

CIRCLE(xcenter, ycenter), radius[,[color][,[start],[end][,aspect]]]
Run Code Online (Sandbox Code Playgroud)

并且没有给出语法错误(我没有发现任何提及Scale虽然它似乎没有任何参数)但我不能将它分配给变量,如果我尝试运行下面的代码(这是语法上的正确)我收到以下错误:

没有合适对象的方法无效

码:

Sub test1()
    Circle (5, 5), 10
End Sub

Sub test2()
    Scale
End Sub
Run Code Online (Sandbox Code Playgroud)

Sma*_*oli 6

VB从QBASIC继承了图形方法的奇怪语法(圆圈/比例),VBA进一步从VB继承它们(它基于它).据推测,决定不是在运行时删除这些构造的特殊解析规则,而是将它们留作noop更简单.

对Alex K.的信用(见他的评论)