Стив Каммингс - VBA для чайников
- Название:VBA для чайников
- Автор:
- Жанр:
- Издательство:Компьютерное издательство Диалектика
- Год:2002
- Город:Москва
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стив Каммингс - VBA для чайников краткое содержание
Эта книга поможет освоить интегрированную среду разработки VBA и научиться программировать в VBA с использование объектов, их свойств, методов и событий. Обсуждаемые приемы программирования иллюстрируются примерами, которые можно сразу же опробовать на практике. Полученные знания вы сможете применить как для настройки и усовершенствования популярный офисных приложений, включая приложения Office XP, так и для создания собственных приложений.
Книга рассчитана на тех, кто собирается быстро и без лишних усилий научиться программировать для Windows, используя VBA.
VBA для чайников - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
События Change и Sheet Change инициируются каждый раз, когда значение любой ячейки или нескольких ячеек изменяется в результате действий пользователя или обновления ссылки. Однако изменения в вычисляемых значениях не приводят к инициированию события. Соответствующие процедуры событий позволяют наметить ячейку, значение которой было изменено. В следующем примере проверяются измененные значения внутри диапазона, называемого Target, на предмет их попадания в определенные пределы; такие значения выделяются с помощью шрифта с большим кеглем, полужирным начертанием и зеленым цветом.
Private Sub Worksheet_Change(ByVal Target As Range)
For Each oCell In Target
If oCell> 4 And oCell < 11 Then
With oCell.Font
.Bold = True
.Size = 16
.Color = RGB(0, 255, 0) ‘ Зеленый
End With
End If
Next oCell
End Sub
Обратите внимание, что Target может быть не одной ячейкой, а диапазоном, благодаря тому, что операции заливки, удаления и вставки могут применяться одновременно к нескольким ячейкам. Для этого процедура сообщения Change должна включать в себя структуру
For Each ... Next; в таком варианте процедура применима как отдельной ячейке, так и к нескольким ячейкам, что и демонстрирует приведенный выше пример.
В действительности, события Change и Sheet Change могут активизироваться даже тогда, когда значение не изменялось. Данные события готовы произойти, когда пользователь начинает редактирование ячейки (после щелчка в панели формул или нажатия клавиши ), даже если сразу после этого он прекратил редактирование, не внеся никаких изменений (нажав клавишу , щелкнув на кнопке Ввод или на рабочем листе). Событие не активизируется, если пользователь прекращает редактирование нажатием клавиши или щелчком на кнопке Отмена.
Событие Calculate распознаваемое как объектом Worksheet, так и Chart, происходит при каждом обновлении программой Excel рабочего листа или диаграммы.
Событие Sheet Calculate для объектов Workbook и Application происходит в ответ. Если средство автоматического вычисления включено, данное событие активизируется, как только изменяется значение любой ячейки, т.е. происходит в тандеме с событием Change. Когда средство пересчета включено в ручном режиме, событие Calculate происходит лишь тогда, когда пользователь инициализирует пересчет нажатием клавиши .
Процедуры событий для событий Calculate и SheetCalculate используются для изменения рабочего листа в соответствии с результатами вычислений. Например, если известно, что пересчет может изменить элементы упорядоченного списка, целесообразно использовать процедуру события Worksheet _Calculate для упорядочения списка после проведения вычислений. Поскольку данные процедуры не сообщают, какая из ячеек изменялась в результате вычислений, необходимо поместить в код адреса ячеек, которые требуется изменить.
При каждом перемещении активной ячейки, а также при расширении или сжатии выделения Excel вызывает событие SelectionChange для Worksheet. Параллельно происходит событие Sheet SelectionChange для объектов Workbook и Application. Процедуры событий для данных событий можно использовать для обратной связи с текущим выделением. В приведенном ниже примере событие Selection Change используется для отображения в левой верхней ячейке текущего листа адреса активной ячейки, а также для помещения имени рабочего листа и адреса выделения в строку состояния. Обратите внимание на то, как аргумент Sh позволяет идентифицировать и вести работу с текущим листом:
Private Sub Workbook Sheet SelectionChange (ByVal Sh As Object, _
ByVal Tarqet As Excel.Range)
Sh.Range("Al") = ActiveCell.Address
Application.StatusBar = Sh.Name & " : " & Target.Address
End Sub
Несколько усложнив код. можно добиться того, чтобы вместо простого выделения вызывался какой-нибудь ответ: например, чтобы в случае попадания определенной ячейки пли диапазона в новое выделение отображалось пользовательское диалоговое окно:
Private Sub Worksheet_SelectionCharge (ByVal Target As Excel.Range)
If Target.Address = "$3$2" Then
MsgBox "Вы нашли нужную ячейку!"
End If
End Sub
Поскольку объекты диаграмм Excel способны распознавать большое число событий, многие из которых связаны с мышкой, их можно считать большим элементом управления ActiveX, помещенным в рабочей книге. Диаграммы распознают события Activate, DeActivate и Calculate. Вот еще некоторые события, для которых возможно написание кодов.
* DragOver и DragPlot. Происходят, когда ячейки перемешаются над внедренной диаграммой или опускаются на нее соответственно.
* MouseDown. MouseUp и MouseMove. Происходят в ответ на действия мыши.
* Select. Происходит при выделении какой-либо части диаграммы. Написанный код может определять тип и характеристики выделенного элемента и проводить соответствуюшие действия.
* Series Change. Происходит, когда пользователь изменяет значение в диаграмме через саму диаграмму (а не изменяя значения, содержащиеся в листе).
Глава 17. Программирование баз данных.
В этой главе ...
~ Знакомство с терминологией
~ Написание кода баз данных с помощью объектов данных ActiveX
~ Программирование с помощью DAO
~ Ускорение с помощью SQL
Несмотря на то, что Access - официальное приложение для работы с базами данных, входящее в состав Office, вы не ограничены только этим приложением при создании пользовательских баз данных с помощью VBA. Действительно, любое приложение, поддерживающее VBA, - от Word до CorelDraw, - позволяет использовать сведения, которые хранятся в базах данных на вашем компьютере, сервере локальной сети или любом другом компьютере в Internet. В настоящей главе мы остановимся на нескольких базовых приемах программирования на VBA, позволяющих управлять данными прямо из ваших собственных VBA-программ.
Программирование баз данных на VBA: основные термины
Прежде чем вы сможете создавать собственный программный код для работы с базами данных, вам следует ознакомиться с основной терминологией. Этому и посвящен материал настоящего раздела.
О ядре баз данных
Программное обеспечение, которое отвечает за выполнение основных действий по извлечению информации, которая содержится в одном или нескольких файлах базы данных, называется ядром базы данных. Ядро базы данных часто называют просто базой данных, хотя согласитесь, что называть программное обеспечение, управляющее информацией в базе данных, и саму базу данных одним термином несколько нелогично.
Хотя эта программа и предназначена для выполнения различных функций с базами данных, Access нельзя назвать ядром базы данных. Access- это "клиент" (front end), который показывает вам, какие именно команды и данные доступны, а также воспринимает ваши инструкции по отношению к информации, такие как ее изменение, добавление или удаление. Все эти инструкции передаются серверной части (back end) СУБД.
Читать дальшеИнтервал:
Закладка: