Подтвердить что ты не робот

Незарегистрированные специальные слова vba - круг и масштаб

Документация VBA определяет следующий токен:

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

В соответствии с документированием:

Специальная форма - это зарезервированный идентификатор, который используется в выражении, как если бы это было имя программы, но которое имеет специальные синтаксические правила для своего аргумента.

Но не упоминается цель этих ключевых слов, нет номера, типа параметров и возвращаемых значений.

Некоторые из них документируются в других местах:

  • Массив возвращает массив литералов с переменным числом параметров
  • Входные и InputB используются с линией
  • LBound и Ubound возвращают соответственно первый и последний индекс массива, такие же, как VB

Мой вопрос:
Какова цель круга и шкалы и как они используются?

Я нашел правильный (нечетный) синтаксис Circle, который совпадает с выражением BASIC

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

и не дает синтаксической ошибки (я не нашел упоминания о Масштабе, хотя у него нет никаких параметров), но я не могу назначить его переменной, и если я попытаюсь запустить код ниже ( который является синтаксически правильным). Я получаю следующую ошибку:

Метод недействителен без подходящего объекта

код:

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

Sub test2()
    Scale
End Sub
4b9b3361

Ответ 1

VB унаследовал нечетный синтаксис графических методов (какой круг/масштаб) от QBASIC, а VBA унаследовал их от VB (на котором он основан). Предположительно, было решено, что вместо того, чтобы удалять специальные правила синтаксического анализа для этих конструкций во время выполнения, было проще оставить их как noop.

КРЕДИТ К Алекс К. (см. его комментарий)