Знайте, Intuit, лекция, процедури и функции

Анотация: Описание и създаване на процедури. Процедурите за класифициране. Синтаксис на процедури и функции. Функции със странични ефекти. Създаване на процедури за събития. Под процедура изисква. функция изисква. Използването на име аргументи. Аргументите, които са масиви. Проблемът с медианата. Дефинирани от потребителя функции, които приемат сложен обект диапазон. Рекурсивно процедура. Търсене Дървета: Клас TreeNode; Клас BinTree; Работа с речника.

Описание и създаване на процедури

Процедура (функция) - софтуерен модул на VBA. включваща оператори, описващи своите местни данни и изпълними оператори. Обикновено комбинирана процедура редовно извършва от решаващо значение отделна задача на работния процес или подзадачата. Особеността на процедури VBA във факта, че те работят в мощна среда на Office 97 и може да се използва като едно елементарно действие на голям брой вградени методи и функции, които работят на различни обекти на системата. Поради това, процедурите за кандидатстване за типичен рамка за управление на офис система е съвсем проста: тя се състои от поредица от разговори с съхранени процедури и функции се контролират от малко на брой условни конструкции и цикли. Размерът му не трябва да надвишава няколко десетки редове. Ако вашата процедура на няколко стотин линии, той е вероятно да означава, че процедурата по проблема решен може да бъде разделена на няколко независими подзадачи за справяне с всеки един от тях трябва да напиша отделна процедура. Това ще улесни разбирането на програмата и нейното отстраняване на грешки. Разбира се, тези коментари са неформална методически характер, защото той VBA не ограничава размера на всяка процедура, или от сложността на неговата структура на управление.

Процедурите за класифициране

VBA процедури могат да бъдат класифицирани по няколко критерия: начинът на употреба (покана) в програмата работи по метода за извършване на процедурата, в съответствие с процеса на създаване на кода на процедура, въз основа на процедурата по проектиране местоположение код.

VBA процедури, се подразделят на подпрограми и функции. Първото изпълнение на под ключова дума. второ - Function. Ние много рядко се използва рутината дума, характерна за VBA, а вместо това се използва процедурата, термин по-често в програмирането. Понякога, обаче, може да доведе до объркване, тъй като, в зависимост от контекста на процедура се определя като подпрограма или функция. Разликата между тези видове процедури, а синтактичните, така че как да конвертирате един вид процедура за еквивалентната процедурата на друг вид, не е трудно. В C / C ++, както знаете, има само една функция и няма процедури, поне формално.

Съгласно метода за създаване на код на процедура се разделят на обикновени, разработен от "ръчно", и кодът на процедура, която се генерира автоматично макро генератор (MacroRecoder); те се наричат ​​също процедури макро команди или процедури, тъй като на техния код - поредица от разговори с подходящото приложение Office команди 97. И това разделение е до известна степен произволно, тъй като доста типични процедури, рамки, които създават макро генератор, а след това да се промени и добавя ръчно.

По метода на стартиране на процедури за изпълнение може да бъде изолирана в отделна група от процедури, които се изпълняват автоматично при настъпване на събитие - ние ги наричаме процедури събитие за обработка.

От ситуацията на проекта на различни процедури са в специални програмни единици - стандартни модули, модули, класове и модули, свързани с обекти, които реагират на събития.

Друг специален вид процедури - процедури, свойства на имота под наем. Property Set и имотния Get. Те се използват за определяне и получаване на стойностите на свойствата на затворена класа.

Синтаксисът на процедурите и функциите

Описание на процедурите Sub в VBA е както следва.

Ние считаме, че по-подробно структурата на една променлива от списъка с аргументи.

Синтаксисът за определяне на процедури, функции, подобни на определението на нормалните процедури:

Тук, в лявата страна на оператора трябва да функционира име, както и правото - израз, който определя в резултат на аритметичните действия. Ако, когато функцията е ясно името на променливата не е зададен, функцията връща стойността на съответния тип, определен по подразбиране. За цифров вид е 0 за линии - нулева дължина низ ( "") за типа функция връщане Вариант стойност празна. за позовавания на обекти - Нищо.

Незабавно да прекрати функцията за изчисляване и да излезе от нея, може да се използва в тялото на оператора:

Основната разлика между процедурите на функциите е в процес на използването им в програмата за разговори. Следната функция връща аргумент Cube, повдигнат на трета: