Смекни!
smekni.com

Использование языка программирования Visual Basic for Applications VBA для обработки результатов 2 (стр. 5 из 6)

Модули VBA все еще сохраняются вместе с файлами рабочей книги; просто они не видны до тех пор, пока не запущен редактор VBE.

VBE— это отдельное приложение, запускающееся в Excel. Программа сама выполняет всю операцию по запуску VBE, когда это необходимо, VBE не может запускаться отдельно от Excel; для запуска VBE используется только Excel.

Во время работы в Excel перейти к окну VBE с помощью одного из следующих способов.

1)Нажать <AU+F1

2)Выбрать команду Сервис=>Макрос=>Редактор Visual Basic.

3)Щелкнуть на кнопке Редактор Visual Basic, расположенной на панели инструментов Visual Basic.

4.7 Иерархия объектов

Объект Application (то есть Excel) содержит другие объекты. Ниже приведено несколько примеров объектов, которые находятся в объекте Application:

Workbooks (коллекция всех объектов Workbook — рабочих книг);

Windows (коллекция всех объектов window — окон);

Addlns (коллекция всех объектов Addln — надстроек).

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

Worksheets (коллекция объектов Worksheet — рабочих листов);

Charts (коллекция объектов Chart — диаграмм);

Names (коллекция объектов Name — имен).

Каждый из этих объектов, в свою очередь, может содержать другие объекты. Коллекция Worksheets состоит из всех объектов Worksheet рабочей книги Workbook. Объект Worksheet включает другие объекты, среди которых следующие;

Chartobjects (коллекция объектов Char tobject — элементов диаграмм);

Range — диапазон;

PageSetup — параметры страницы;

PivotTables (коллекция объектов PivotTable — сводных таблиц).

Одной из ключевых концепций в программировании на языке VBA являются коллекции. Коллекция — это группа, объектов одного класса [и сама коллекция тоже является объектом). Как указывалось выше: Workbooks — это коллекция всех открытых в данный момент объектов Workbook. Worksheets — коллекция всех объектов Worksheet, которые содержатся в конкретном объекте Workbook. Разработчик может одновременно управлять целой коллекцией объектов или отдельным объектом этой коллекции. Чтобы сослаться на один объект из коллекции, необходимо ввести название или номер объекта в скобках после названия коллекции:

Worksheets («Лист1»)

Если лист «Лист1» — это первый рабочий лист в коллекции, то можно использовать сле­дующую ссылку:

Worksheets (1)

На второй лист в рабочей книге Workbook можно сослаться соответственно следующим образом:

Worksheets (2)

Кроме того, существует коллекция с названием Sheets, состоящая из всех листов рабо­чей книги, рабочих листов и листов диаграмм. Если «Лист1» — первый лист в книге, то на не­го можно сослаться так

Sheets (1)


4.8 Свойства объектов

Все объекты обладают свойствами. Например, объект Range обладает свойством с названием Value. Например, можно создать оператор VBA, чтобы отобразить свойство Value или задать свойству Value определенное значение. Ниже приведена процедура» использующая функцию VBA MsgBox для отображения окна, в котором представлено значение ячейки А1 листа Лист! активной рабочей книги.

Sub ShowValue()

HsgSox Worksheets(«Лист1»).Range(«А1»).Value

End Sub

Код предыдущего примера отображает текущее значение свойства Value для конкретной ячейки — А1 рабочего листа Лист1 активной рабочей книги. Однако если в активной книге отсутствует лист с названием Лист1, то макрос выдаст ошибку.

MsgBox — полезная функция, часто используемая для отображения результатов выполнения операторов VBA.

Также разработчик вправе изменять свойство Value . Ниже приведена процедура по изменению значения ячейки А1 путем определения значения свойства Value:

Sub ChangeValueO

Worksheets["Лист1"),Range("Al").Value = 123

End Sub

После выполнения этой процедуры ячейка A1 листа Лист1 получает значение 123. Можно ввести описанные процедуры в модуль и протестировать их.

Многие объекты имеют свойство по умолчанию. Для объекта Range свойством по умолчанию является Values. Следовательно, выражение .Value в приведенном выше коде можно опустить, и ничего не изменится. Однако лучше включать ссылку на свойство, даже если оно используется по умолчанию.

4.9 Методы объектов

Кроме свойств, объекты имеют методы. Простой пример - использование метода Clear по отношению к диапазону ячеек. После выполнения этой процедуры ячейки А1:СЗ листа Лист1 станут пустыми, и дополнительное форматирование ячеек будет удалено.

Sub SapRange ()

Worksheets(«Лист1»).Range(«Al:C3»).Clear

End Sub

Если необходимо удалить значения в диапазоне, но оставить форматирование, можно использовать метод ClearContents объекта Range.

Многие методы получают аргументы, определяющие выполняемые над объектом действия более детально. Далее приводится пример, в котором ячейка А1 копируется в ячейку В1 с помощью метода Сору объекта Range.

В данном примере метод Сору получает один аргумент (адрес ячейки, в которую следует скопировать данные):

Sub CopyOnet ()

Worksheets( «Лист1») .Range(«Al») .Copy _

Worksheets(«Лист1»).Range(«В1»)

End sub


5.Практическая часть

При выполнении данной работы была поставлена цель изучить основы VBA, объектную модель данного языка, основные принципы программирования. Изучить приемы, применяемые при анализе результатов теста, способы определения качества теста то есть провести анализ результатов теста.

Поэтому на данном этапе работы было начато написание кода на языке Visual Basic for Applications с использованием табличного редактора Microsoft Excel.

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

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

Это пригодится, например, для формирования у преподавателя знания о качестве владения студентами материала и сделать упор на ошибки, допущенные в тесте, в процессе дальнейшего изучения курса.

В приложении 1 содержится код основной программы с комментариями (записаны после знака апострофа «’»).

В приложении 2 содержится код, включающий в себя используемые в программе процедуры с комментариями


Ниже представлена блок – схема программы:


Описание работы программы по анализу результатов теста.

Запуск макроса можно осуществить следующим образом:

1) Сервис=>Макрос=>Макросы

2) Нажав комбинацию клавиш Alt+F8

как показано на рисунке 1.

Затем, в появившемся диалоговом окне «Макрос», выбрать Test и нажать кнопку «Выполнить», как показано на рисунке 2:

После нажатия кнопки «Выполнить» начнётся выполнение кода макроса и пользователь увидит сообщение-приветствие и просьбу выбрать файл для анализа:

Затем появляется пользовательское окно, в котором пользователь должен указать путь к файлу как показано на рис.4:

После того, как пользователь выберет файл начнётся выполнение макроса, при этом файл, выбранный пользователем, откроется. Затем из импортированного файла будут скопированы необходимые данные в текущий файл, название которого «Тест.xls». По завершении копирования будут произведены необходимые вычисления. Затем появится окно, в котором будет показано время выполнения макроса как на рисунке 5:

Затем пользователь может работать с полученными результатами примерный вид которых можно увидеть на рисунке 6:

В дальнейшем планируется осуществить вывод полученных результатов в отдельный файл с последующим сохранением, оформление в виде документа приложения Microsoft Word или составления презентации на основе Microsoft PowerPoint


6. Заключение

1. Изучена система тестирования АСТ и принципы формирования ею результатов тестирования.

2. Изучены принципы обработки результатов тестирования с использованием понятия теории тестирования.

3. Изучен принцип составления матрицы результатов и её дальнейшей обработки

4. Изучены такие показатели теста как валидность, надёжность, дисперсия, дифференцирующая способность.

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

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

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


7. Список использованной литературы

1. Аванесов В.С. Форма тестовых заданий. М.: Центр тестирования, 2005

2. Аванесов В.С. Тесты в социологическом исследовании. М.: Наука , 1982

3. Аванесов В.С. Научные проблемы тестового контроля знаний. М. Иссл. Центр проблем качества подготовки специалистов. М.: 1994

4. Яноши Л. Теория и практика обработки результатов измерений. М.: Мир, 1965

5. Пособия «Композиция тестовых заданий». М.: Центр Тестирования. 2002

6. www.wikipedia.org.ru/VBA

7. http://bit.pirit.info/forum/index.php

8. Уокенбах Дж. Профессиональное программирование на VBA в Excel 2002. М.: Диалектика, 2003

9. Берлинер Э.М. Microsoft Office 2003

10. Мюррей К. Microsoft Office 2003. Новые горизонты

11. Кузьмин В. Microsoft Office 2003. Учебный курс


8.Приложения

Приложение 1: Код основной программы

Sub Test()

Dim FNXLS As String 'Путь к импортированному файлу

Dim FNO As String 'Название импортированного файла

Dim StartTime As Date 'Время начала модуля

Dim EndTime As Date 'Время окончания работы модуля