Читаем VBA для чайников полностью

Структуры If. . .Then, Select Case и Do . . .Loop принимают решение о последующих действиях на основе простого теста: какое значение принимает выражение- True (Истина) или False (Ложь)? Условием здесь может быть любое выражение VBA. (Не забывайте, что в VBA 0 эквивалентен False, а все другие значения рассматриваются как True.)

Чаще всего условные выражения строятся на основе какой-нибудь операции сравнения, применяемой к двум другим выражениям, входящим в данное. Набор операций сравнения, доступных для использования в VBA, достаточно подробно обсуждался в главе 7. Но основные идеи видны и из примеров операторов, помещенных в следующую таблицу. Каковы эти выражения - истинные или ложные? Это только управляющим структурам известно.

Выражение

Перевод на русский язык

а < b

а меньше b

b = с

b равно с

colTBears ("Генри") Is objCurrentBear

Объект, хранящийся в коллекции colTBears под именем "Генри", является тем же самым объектом, что и объект, на который ссылается переменная objCurrentBear

sqr ( l/x * 29.3234) >= CDbl ( strNumber ) + 12

Квадратный корень величины, равной 1, разделенной на х и умноженной на 29,3234, не меньше числового значения строковой переменной strNumber плюс 12

<p>Условные выражения без операторов сравнения</p>

Большинство условных выражений включают операции сравнения, но ничто не мешает создать условия, не использующие такие операции. Прежде чем привести примеры, не помешает подвести под них некоторую теоретическую базу.

Этот вопрос обсуждается здесь не для того, чтобы заставить вас создавать условные выражения, не использующие операций сравнения, а просто потому, что такие выражения создают многие программисты. Часто такие условные выражения присутствуют в текстах программ, публикуемых в компьютерных журналах и представленных в Internet. Но пока вы занимаетесь освоением VBA, я рекомендую вам включать операции сравнения в условные выражения хотя бы для ясности программного кода, даже если такие операции и не необходимы.

Теперь о деталях. Как вы знаете, значением логической переменной всегда является либо True, либо False. Поэтому выражение

bоо1До18 ' это значение либо True, либо False

вполне подойдет в качестве условия в условном выражении, как, например, в случае

If bоо1До18 Then

ПредоставитьСкидку

End If

Но True и False имеют числовые значения, а поэтому в качестве условия можно использовать и любое числовое выражение. Все следующие выражения подходят для использования в качестве условий:

1234 ' всегда True

0 ' всегда False

True ' всегда True

False ' всегда False

intHowManyPets ' False, если intHowManyPets = 0

ingA + lngB + lngC ' False, если сумма = 0

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

Нельзя использовать строки и объекты в качестве условий сами по себе, хотя они вполне годятся для использования в качестве компонентов выражений, построенных на основе подходящей операции сравнения.

<p>Использование логических операций в условиях</p>

Логические операции (см. главу 7) сначала оценивают значения входящих в выражение двух выражений-компонентов как True или False, а затем, в соответствии с определенными правилами, на основе этих значений получается конечный результат- тоже True или False.

Самыми важными логическими операциями (точнее, теми из них, использование которых проше всего объяснить) будут And, Or и Хог. Следующая таблица объясняет, что эти операции выполняют.

Операция

Возвращает True

Примеры

Результат

And

Только если оба выражения принимают значения True

3 * 2 = 6 And 12 > 11

True

2 + 2 = 4 And 4 - 2 = 1

False

Or

Если хотя бы одно из двух выражений принимает значение True

10 > 20 Or 20 > 10

True

5 < 4 Or 6 < 5

False

Хоr

Если только одно из двух выражений принимает значение True

- 5 + 5 < 9 Хог 5 + 5 = 10

True

5 + 5 > 9

Хог 5 + 5 = 10

False

Если желаете, можете использовать две логические операции в одном условном выражении. Полюбуйтесь, например, таким выражением:

(а + b > 20 And с = 10) Or (objDoor.Open)

В переводе на русский язык этот фрагмент программного кода можно прочитать так:

Перейти на страницу:

Все книги серии Для чайников

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных