
- •Лабораторная работа 6 Табличный процессор Excel-2007 как инструмент для создания простых информационных систем
- •1. Возможности табличного процессора Excel-2007 для создания простых информационных систем
- •2. Макросы
- •4. Практическая часть.
- •4.1. Макросы – первое знакомство
- •4.2. Запишем макрос сами
- •4.3. Используем метод Cells и знание vba о положении курсора
- •4.4. Создание простой информационной системы для заполнения бланка о расходе воды по показаниям водомеров
- •4.4.1. Методические указания по разработке ис
- •4.4.2. Работа с текстовыми полями, входящими в состав элементов управления
4.3. Используем метод Cells и знание vba о положении курсора
Напомним (см. выше рис.8), что при обращении к ячейке по методу Cells аргументами служат два численных выражения (в частном случае - константы, а чаще - переменные). Это делает метод Cells удобным для использования в макросах, в том числе, когда при программировании требуется вычислять адреса ячеек.
Дополнительные возможности предоставляет знание VBA о положении курсора, а ведь он указывает на активную ячейку! Остается «вытащить» эту информацию, а для этого – использовать у активной ячейки ее параметры .Row («Ряд» или номер строки) и .Column («Колонка» или номер столбца).
Сделаем еще одно полезное отступление. Очень хорошо в процессе разработки программы (и ее отладки) визуализировать данные, выводя соответствующие сообщения. В VBA для этого используется оператор MsgBox.
Формат этого оператора:
MsgBox <выражение >
Выполните следующее задание.
4.3.1. Создайте новый макрос:
Sub Проба_знаний_о_курсоре()
i = ActiveCell.Row '№ строки активной ячейки
j = ActiveCell.Column '№ столбца активной ячейки
MsgBox "Вычислим разность показаний"
Cells(i, j + 3) = Cells(i, j) - Cells(i, j - 1)
End Sub
4.3.2. На листе «ПРОБА» заполните несколько ячеек в одном столбце произвольными числами.
4.3.3. Установите курсор на второе число в заполненной области данных.
4.3.4. Вызовите и исполните макрос Проба_знаний_о_курсоре.
4.3.5. Переместите курсор на одну ячейку вниз и повторите п. 4.3.4.
4.3.6. Повторите действия п.п. 4.3.4 и 4.3.5 несколько раз. Объясните результаты.
4.4. Создание простой информационной системы для заполнения бланка о расходе воды по показаниям водомеров
В жизни граждан есть такие действия, как платежи службам ЖКХ. Для их осуществления используются разные формы, в том числе оплата за израсходованную воду по показаниям водомеров, установленных в квартирах граждан. При этом исходные данные предоставляются в Единый информационно-расчетный центр (ЕИРЦ) на заполненных бланках, имеющих вид, показанный на рис. 11.
Рис. 11. Вид бланка
Требуется разработать простую информационную систему (ИС), автоматизирующую с помощью макросов заполнение этого бланка, используя только накапливаемые данные о показаниях водомеров.
4.4.1. Методические указания по разработке ис
Для заполнения бланка нужны показания приборов, учитывающих расход холодной и горячей воды в виде нарастающего итога с помесячной фиксацией данных. Такие данные удобно хранить в виде таблицы на рабочем листе Excel.
Для создания итогового документа надо использовать форму представления данных, показанную на рис.11. На ней совмещены и графическое обрамление, и представление данных в виде текстов и чисел. Поэтому целесообразно саму форму использовать как фоновый рисунок, а на него нанести рисованные элементы или элементы управления в виде текстовых полей (текстовые поля – универсальная форма, одинаково хорошо воспроизводящая любые символы). Поскольку Excel-2007 не поддерживает запоминание в макросах процесс создания рисованных объектов, остается только выбор текстовых полей из состава элементов управления, доступных через вкладку РАЗРАБОТЧИК.
Если на рабочем листе Excel объектами выступают ячейки, то в данном случае состав объектов расширяется – появляются и ячейки с исходными данными, и текстовые поля, которые мы разместим прямо на рабочем листе (поверх фона с изображением бланка). Поскольку используемые текстовые поля входят в состав элементов управления, у них (как у объектов) есть свой специфичный набор параметров (см. ниже).
В бланке много полей, и их следует для себя (и будущих макросов) выделить и назвать (см. рис 12).
Часть этих полей можно считать условно-постоянными (ФИО, адрес и др. – отмечены голубым цветом), другие поля – это текущая (переменная) часть данных (отмечена желтым цветом), рассчитываемые данные отмечены зеленым цветом, розовым цветом отмечено поле для обязательного ручного заполнения.
Для исходных данных целесообразно отвести на рабочем листе Excel соответствующие таблицы и ячейки (рис. 13).
Предполагается, что положение курсора указывает на строку, по которой формируется итоговый документ (на рис.13 – это отчет за ноябрь 2011 г.). Само формирование отчета должен осуществить макрос.
Использовать наработки из предыдущих разделов данной лаб.работы. Для работы с текстовыми полями, которые входят в состав элементов управления, надо дополнительно использовать сведения из следующего раздела.
Рис. 12. Бланк с размеченными полями и вспомогательными обрамлениями
Рис. 13. Таблица с исходными данными