Суббота, 06.07.2024, 01:20
Приветствую Вас Гость | RSS

Информатика и математика в школе

Категории раздела
Наш опрос
Оцените мой сайт
Всего ответов: 56
Статистика

Онлайн всего: 8
Гостей: 8
Пользователей: 0
Форма входа

Каталог статей

Главная » Статьи » Информатика

Создание пользовательских форм в Excel

Пользовательские формы в Excel

  Традиционно изучая тему,  электронные таблицы MS Excel, мы рассматриваем такие  аспекты как создание простейших расчетных таблиц, встроенные функция и  сортировку данных. При этом многие ученики не догадываются, какое мощное  приложение попало в их руки, по двум причинам или они не знают о наличии VBA или  просто не умеют им пользоваться.< /p>

   Необходимо помнить, что MS Excel – это мощное и гибкое средство разработки  информационных систем, как простых, так и сложных, с индивидуальным  интерфейсом, максимально приспособленным для решения конкретной задаче. MS Excel совмещает в себе как преимущества электронных  таблиц с большим количеством встроенных функций, так и средств визуального  программирования по средствам Visual Basic for Applications. VBA позволяет автоматизировать  весь комплекс работ от сбора информации, ее обработки, анализа до создания  отчетной документации и ее публикации как для офисного пользования, так и на Web-узле.

   Отдельно необходимо сказать  о встроенных интеллектуальных средствах, которые быстро позволяют даже  начинающему пользователю самостоятельно разрабатывать профессиональные  приложения. Новым примером встроенных интеллектуальных средств VBA, в  отличие от VB, является макрорекордер, который переводит все  вручную выполняемые действия на рабочем листе Excel на язык VBA.  Таким образом, макрорекордер позволяет поручить компьютеру самому создавать  большие куски кода разрабатываемого приложения. Макрорекордер создает  стандартный программный модуль, что дает нам возможность в будущем  редактировать его.

   Исходя из всего выше  сказанного, преподавая Visual Basic в  старших классах нельзя не затронуть тему Visual Basic  для приложений (Visual Basic for Applications сокращенно VBA).  Данный язык по своим способностям ни чем не уступает Visual Basic, а  в совокупности с функциями приложений даже превосходит его, если не по  мощности, то по удобству и быстроте выполнения многих специфических функций  (хранение и сортировка данных, выполнения различного рода расчетов и т.д.).  Поэтому в 11 классе, после изучения языка программирования Visual Basic и электронных таблиц Excel, я ввожу дополнительно 5  часов для работы на языке VBA в Excel. На мой взгляд, это  позволяет ученикам лучше понять объектную модель любого приложения из пакета Microsoft Office, и дает возможность сравнить программирование, в  общем, на одном и том же языке, но в различных средах. При этом не следует  забывать что, работая только на уровне «Рабочей Области» и «Панелей  инструментов», мы используем только 10% возможностей любого приложения.

   Какие преимущества дает такой  подход.

     
  • 100% объединенная мощь Excel и VBA при разработки приложений.
  •  
  • Использование макрорекордера для записи макросов, т.е. программного  кода.
  •  
  • Быстрота и легкость создания пользовательских форм.
  •  
  • Возможность полностью изменить интерфейс окна приложения.
  •  
  • Использование внутренних команд Excel.

Примерами по данной теме (использование  Excel и VBA) для учеников служат программы разработанные мною для школьной  бухгалтерии.

     
  • Программа введения «Товарно-Материальных Ценностей».
  •  
  • Программа расчета заработной платы работников школы.
  •  
  • Программа введения ордеров.

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

При изучении данной темы на  уроках я предлагаю ученикам вместе со мной разработать проект «Табель  успеваемости», при этом подвожу учащихся к решению задачи так, чтобы они  поняли, что решить ее стандартными средствами Excel, без использования Visual Basic, не возможно. Для этого использую:
  Постановку задачи:
  построить приложение, которое позволит хранить данные о полученных оценках.
  Решение.
  Для  решения данной задачи учащиеся  предлагают создать книгу с одним рабочим листом и таблицейв которую вносятся оценки полученные за  конкретный день.

 

После  обсуждения данного проекта решения сообща находим его минусы:

     
  1. трудно найти оценку за  конкретный день и по конкретному предмету;
  2.  
  3. нет возможности вводить  оценки сразу по нескольким предметам, без ввода названия предмета и типа урока;
  4.  
  5. нет возможности просмотра  всех оценок и среднего бала, с учетом «веса» оценки. На данном этапе ученики  должны понять, что пришло время программирования – использование форм для ввода  и вывода информации;
  6.  
  7. нет удобного  (пользовательского) интерфейса.

Подытожив  все сказанное, приходим к новому варианту решения данной задачи.

     
  1. Создание отдельных листов на каждый предмет.
  2.  
  3. Создание пользовательской формы для ввода и просмотра оценок.
  4.  
  5. Создание пользовательской формы для просмотра всех оценок и среднего  балла.
  6.  
  7. Создание собственной панели инструментов из двух кнопок для вызова двух  форм.

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

Внешний вид формы «Ввод оценок» проекта «Табель  успеваемости»

Внешний вид формы «Просмотр оценок» проекта «Табель  успеваемости»

Для создания собственной  панели инструментов используем модуль «Эта книга». В данный модуль помещаем  код, который будет отвечать за создание и удаление пользовательской панели инструментов.

В событии связанном с  закрытием рабочей книги мы поместим код, отвечающий за восстановление  стандартного вида Excel.
  Private Sub Workbook_BeforeClose(Cancel As Boolean)
  ‘Возвращаем на место Панели  инструментов стандартная и форматирования,
  ‘а также строку формул.
  End Sub

В событии связанном с  открытием рабочей книги мы поместим код, отвечающий за создание  пользовательской панели инструментов.
  Private Sub Workbook_Open()
  ‘Удаляем панели  инструментов стандартная и форматирования,
  ‘а также строку формул.
  ‘Создаем собственную панель  инструментов.
  End Sub

Проект выполняется несколько  уроков. Ученики на уроках получают необходимую информацию о свойствах, методах  и событиях новых объектов. Но так как этой теме предшествовало изучение среды  программирования VB, то больших сложностей при создании данного проекта  не возникает. На заключительном уроке учащиеся должны получить полностью  автоматизированный проект, в котором ввод, вывод и редактирование данных будет  осуществляться только через пользовательские формы. Прямой доступ к листам  рабочей книги у пользователя будет отсутствовать, что повышает уровень защиты  данных от ввода ошибочных значений и от случайного их удаления.
  В заключении хочется сказать  о том, что многие считают VB «мертвым» языком, но если  учесть, что MS Office используется огромным  количеством пользователей в офисах и бухгалтериях, то роль VBA остается  довольно значимой до сих пор. С другой стороны, в наше время борьбы с  пиратскими копиями программных продуктов, покупая лицензионный диск MS Office, вы одновременно приобретаете лицензионную среду  разработки.

 

Категория: Информатика | Добавил: mist (14.04.2011)
Просмотров: 16025 | Комментарии: 4 | Рейтинг: 0.0/0
Всего комментариев: 3
3 SergArice  
0
<a href=http://zmkshop.ru/stati/proizvodstvo-svarnykh-konstruktsiy/>в каких отраслях нужны металлоконструкции</a>

2 Рекомендуем хорошего юриста  
0
Благодарю очень актуальная инфо

1 лёхя  
0
всё хуйня

Имя *:
Email *:
Код *:
Поиск

Copyright MyCorp © 2024
Бесплатный хостинг uCoz