【问题标题】:undocumented vba special keywords - Circle and Scale未记录的 vba 特殊关键字 - Circle 和 Scale
【发布时间】:2014-04-10 10:55:22
【问题描述】:

VBA documentation 定义了以下标记:

special-form = “Array“ / “Circle” / “Input” / “InputB” / “LBound” / “Scale” / “UBound”

根据文档:

special-form 是一个在表达式中使用的 reserved-identifier,就好像它是程序定义的过程名称一样,但它的参数有特殊的语法规则.

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

有些记录在其他地方:

  • Array 返回一个带有可变数量参数的字面量数组
  • InputInputBline 一起使用
  • LBoundUbound 分别返回数组的第一个和最后一个索引,与 VB 相同

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

我发现 Circle 的正确(奇数)语法与 BASIC statement

相同
CIRCLE(xcenter, ycenter), radius[,[color][,[start],[end][,aspect]]]

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

没有合适的对象,方法无效

代码:

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

Sub test2()
    Scale
End Sub

【问题讨论】:

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

标签: vba syntax


【解决方案1】:

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

感谢 Alex K.(见他的评论)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2014-08-24
    • 2020-08-13
    相关资源
    最近更新 更多