所述VBA的文档定义了下面的令牌:
special-form = “Array“ / “Circle” / “Input” / “InputB” / “LBound” / “Scale” / “UBound”
Run Code Online (Sandbox Code Playgroud)
根据文件记录:
甲特殊形式是一个保留标识符,其在表达式中使用,就好像它是一个程序中定义的过程的名称,但其具有用于它的参数特殊句法规则.
但是没有提到这些关键字的用途,也没有提及数量,参数类型和返回值.
有些记录在其他地方:
我的问题是:Circle和Scale
的目的是什么?它们是如何使用的?
我找到了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)
VB从QBASIC继承了图形方法的奇怪语法(圆圈/比例),VBA进一步从VB继承它们(它基于它).据推测,决定不是在运行时删除这些构造的特殊解析规则,而是将它们留作noop更简单.
对Alex K.的信用(见他的评论)