VBA: как же правильно вызывать фнкции и подпрограммы? |
Здравствуйте, гость ( Вход | Регистрация )
VBA: как же правильно вызывать фнкции и подпрограммы? |
Litkevich Yuriy |
27.5.2013, 20:57
Сообщение
#1
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
С горем пополам состряпал свой класс (оказывается не нужно его описывать, а только то, что в него входит).
вот такой код в классе есть: и никак я не могу врубится, как методы (функции,...) правильно вызывать.Сейчас у меня компилится только вот так: не понятно, когда скобки надо писать, а когда - нет.Пока у меня была только одна намётка, если объявлена функция, которая ничего не возвращает, вот так: то вызывать её надо без скобок, вот так: иначе компилироваться не будетА если функция объявлена, как возвращающая значение: то нужно аргументы обязательно в скобки брать:
Может кто-то прояснит? П.П.С. справку забанили (в ней вечно какие-то ошибки ЯваСкрипт) |
|
|
Алексей1153 |
29.5.2013, 10:39
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
насколько я помню, указание аргументов без скобок - это лишь один из способов передать параметр. То есть, всегда можно как обычно, со скобками передать
нашёл : http://www.askit.ru/custom/vba_office/m3/0..._parameters.htm Цитата Можно продемонстрировать компилятору VBA, что то, что возвращает функция, наш совершенно не интересует. Для этого достаточно не заключать ее параметры в круглые скобки. Например, в случае со встроенной функцией MsgBox это может выглядеть так: MsgBox "Test" а для нашей функции — fSum 3, 2 Такой код будет работать совершенно нормально. Однако, если нам потребуется все-таки узнать, что возвращает MsgBox, то придется передаваемые ему параметры заключать в круглые скобки: nTest = MsgBox("Test") Для многих встроенных функций компилятор VBA в принципе не дает возможности игнорировать возвращаемое значение, заставляя помещать параметры в круглые скобки и принимать возвращаемое значение. почему только интерпретатор компилятором там обозвали |
|
|
Litkevich Yuriy |
29.5.2013, 12:22
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
в моём первом сообщении, второй блок кода компилируется только в указанном виде, если я уберу скобки в первой строке или добавлю во второй - всё приплыли ("Compile error")
|
|
|
Алексей1153 |
29.5.2013, 12:25
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
ну какая-то хитрость ещё есть, значит
|
|
|
Текстовая версия | Сейчас: 14.11.2024, 7:25 |