Стив Каммингс - VBA для чайников
- Название:VBA для чайников
- Автор:
- Жанр:
- Издательство:Компьютерное издательство Диалектика
- Год:2002
- Город:Москва
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стив Каммингс - VBA для чайников краткое содержание
Эта книга поможет освоить интегрированную среду разработки VBA и научиться программировать в VBA с использование объектов, их свойств, методов и событий. Обсуждаемые приемы программирования иллюстрируются примерами, которые можно сразу же опробовать на практике. Полученные знания вы сможете применить как для настройки и усовершенствования популярный офисных приложений, включая приложения Office XP, так и для создания собственных приложений.
Книга рассчитана на тех, кто собирается быстро и без лишних усилий научиться программировать для Windows, используя VBA.
VBA для чайников - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В таком случае основная часть программного кода может выглядеть следующим образом:
If bytPaзмepO6yви > 45 Then
curЗарплатаДжо = 75000
End If
Основным недостатком такого подхода является то, что при этом величина зарплаты определяется в программе "жестко". Если стоимость жизни возрастет и поэтому потребуется увеличить зарплату, вам придется найти соответствующее значение в программе и увеличить его. А если значение использовано в программе несколько раз, придется найти и изменить каждое из них. При этом возрастает риск опечатки, способной повлечь за собой неправильную работу программы.
Вот тот же фрагмент программного кода, заново переписанный для работы с подходящей константой:
Constc curСамаяБольшаяЗарплата As Currency = 75000
If bytPaзмepO6yви > 45 Then
curЗарплатаДжо = curСамаяБольшаяЗарплата
End If
При таком подходе вы легко найдете объявление константы в самом начале модуля или процедуры, чтобы изменить значение на новое. В результате это новое значение заменит старое во всех частях программы, где используется константа. Кроме того, программный код будет легче понять: вместо того, чтобы спрашивать себя "Что это за число 75000?", вы сможете с первого взгляда уверенно сказать, что Джо будет получать самую большую зарплату, если он носит обувь 46 размера.
Вместо константы можно было бы использовать переменную. Но переменные занимают больше места в памяти, а также, что на самом деле важнее, при использовании переменной вместо константы появляется риск случайного изменения в программе значения переменной, которое в данном случае меняться не должно.
Использование констант для атрибутов
Константы очень удобны при работе с группами именованных элементов типа дней недели (понедельник, вторник и т.д.) или характеристик типа вкусовых признаков (сладкий, соленый, кислый, горький). Вместо того чтобы оперировать в программе строками с названиями этих элементов, проще назначить каждому элементу' некоторое число и объявить константу с именем, соответствующим названию элемента, равную этому числу. После этого в программе можно использовать вместо чисел названия. Вот пример программного кода, в котором используется такой подход:
Const cbytСладкий = 1, cbytСоленый = 2
Const cbytКислый = 3, cbytГорький = 4
Do While intВкус = cbytКислый
ДобавитьСладкого
intВкус = ПробаВкуса()
Loop
Знаки операций
В VBA операция представляет собой либо специальный символ, либо ключевое слово в выражении, комбинирующем два значения (субоператора, если желаете) для получения нового результата.
В следующем выражении операция + (операция сложения) увеличивает на 3 значение переменной intA:
intA + 3
Значением выражения и будет результат такого сложения. (Не забывайте, что выражение не может выполняться само по себе - оно должно быть частью VB А-оператора, например intB = intA + 3. По поводу выражений см. выше раздел ''Выражен-и-я"'.)
VBA разделяет операции на три главные категории - арифметические, логические и операции сравнения, плюс несколько не попадающих в эти категории операций типа конкатенации для работы со строками. Чуть позже в этой же главе мы рассмотрим каждую из категорий отдельно.
При использовании со строками текста знак + представляет конкатенацию, т.е. соединение двух строк в одну, а не сложение. Но для строк лучше использовать "настоящий" знак конкатенации -символ &. VBA интерпретирует выражение
"Меня зовут " & "Боря"
как "Меня зовут Боря".
Кстати, знак операции + можно использовать для того, чтобы прибавлять к числам текст, если текст состоит только из цифр. Например, в результате выполнения оператора
intC = 123 + "456"
значением переменной intC будет 579.
А вот пример использования операции сравнения:
Tan(sngAngleA) <> 1.4
Знак <> представляет операцию "не равно"'. С его помощью проверяется, не равны ли два значения в выражении, а результатом его выполнения будет либо True (Истина), либо False (Ложь). Если тангенс sngAngleA не равен 1.4, результатом выражения будет True, а иначе результатом будет False.
Получение приоритета
В более сложных выражениях, включающих несколько знаков операций, VBA нужно знать, какие операции выполнять первыми, вторыми, а какие третьими. В выражении intA + intB * intC два знака операций: + (операция сложения) и * (операция умножения). На русском это выражение читается как "intA плюс intB умножить на intC".
В данном выражении символ * идет вторым, но он имеет приоритет перед операцией сложения. Сначала VBA умножит intB на intC, а уж затем добавит полученный результат к intA. Как можно догадаться из этого примера, VBA следует определенной последовательности выполнения отдельных частей выражения, когда в выражении несколько знаков операций.
Чтобы изменить последовательность операций, порождаемую приоритетами, в выражении используются скобки. Если вы напечатаете (intA + intB) * intC то VBA сначала сложит две переменные, а затем умножит результат на значение переменной intC.
Но каковы правила VBA для порядка выполнения операций в отсутствие скобок? Если выражение содержит знаки операций из двух или нескольких категорий, то VBA выполняет операции из разных категорий в следующем порядке.
1. Арифметические операции и конкатенация.
2. Операции сравнения.
3. Логические операции.
Внутри каждой категории VBA тоже имеет правила порядка выполнения операций.
Арифметические операции, сравнение и логические операции осуществляются в порядке, соответствующем их представлению в табл. 7.2. Операции сравнения в VBA выполняются в том порядке, в каком они идут, слева направо. Если в выражении встречается несколько операций одного уровня, они тоже обрабатываются слева направо.
Таблица 7.2. Порядок выполнения операций в VBA (внутри каждой категории операции выполняются в том порядке, в котором приведены)
Знаки операций |
Операции |
Арифметические |
|
́ |
Возведение в степень |
- |
Отрицание |
* или / |
Умножение или деление |
\ |
Целочисленное деление |
Mod |
Вычисление остатка деления |
+ или - |
Сложение или вычитание |
Конкатенация |
|
& |
Конкатенация строк |
Сравнения |
|
= |
Равенство |
<> |
Неравенство (не равно) |
< |
Меньше |
> |
Больше |
<= |
Меньше или равно |
>= |
Больше или равно |
Like |
Сравнение строк с заданным образцом |
Is |
Проверка идентичности ссылок на объекты |
Логические |
Интервал:
Закладка: