Использование VBA для создания дидактических материалов по информатике

Автор работы: Пользователь скрыл имя, 13 Сентября 2013 в 20:01, курсовая работа

Краткое описание

Цель исследования – проанализировать и описать необходимый теоретический и методический материал по теме «Использование VBA для создания дидактических материалов по информатике».
Цель реализуется в следующих задачах:
•выявить возможности языка программирования Visual Basic for Applications;
•определить основные понятия языка VBA;
•рассмотреть операторы языка VBA;
•исследовть способы использования VBA в прикладных программах.

Содержание

ВВЕДЕНИЕ Стр
Глава I. ОСОБЕННОСТИ ЯЗЫКА VISUAL BASIC FOR APPLICATIONS 5
1.1. История языка VBA и его возможности 5
1.2. Основные понятия языка VBA 6
1.3. Операторы VBA 10
Выводы по 1 главе 19
Глава II. ИСПОЛЬЗОВАНИЕ VISUAL BASIC FOR APPLICATIONS В ПРИКЛАДНЫХ ПРОГРАММАХ
2.1. Visual Basic for Applications в Word 20
2.2. Visual Basic for Applications в Excel 20
2.3. Visual Basic for Applications в PowerPoint 21
Выводы по 2 главе 23
ЗАКЛЮЧЕНИЕ 24
ЛИТЕРАТУРА 25

Прикрепленные файлы: 1 файл

КУРСОВАЯ.doc

— 927.50 Кб (Скачать документ)

[Private | Public] [Static] Function имя   функции ([список   параметров]) [As   тип   значения]  

Тело   процедуры      

End Function  [1]

Объекты и классы

Существует  огромное количество классов, которые  помогают создать всевозможные объекты, такие как формы, элементы управления и т.п. В VBA также предусмотрена возможность создания собственных классов, т.е. предполагается создание совершенно новых классов, отсутствующих в базовом наборе. Вообще существует иерархия объектов приложений. На самой вершине стоит объект Application. Остальные объекты предполагаются вложенными в него и считаются его свойствами. Это означает, что при необходимости сослаться на объект надо будет ссылаться на соответствующее свойство объекта Application. Например, для ссылки на активный лист программы MS Excel необходимо включить в программу следующую инструкцию:

Application.ActiveSheet

Для ссылки на свойство или метод объекта, требуется  использовать следующую структуру:

Объект. [Свойство | Метод]

Например, сослаться  на свойство Name(Имя) объекта Application можно

 с помощью  инструкции:

AppName = Application.Name [4]

Методы

Объект сам  по себе не представляет большого значения. Намного значительнее то, какие действия можно совершать над объектом, и какими свойствами он обладает. Метод  как раз и представляет собой  действие, выполняемое над объектом.

Синтаксис применения метода:

Объект.Метод

В данном примере при помощи метода Quit (закрыть) закрывается приложение (объект Application):

Application.Quit

 

Метод можно  применять ко всем объектам семейства. В данном примере к семейству chartobjects (диаграммы) рабочего листа Лист! применен метод Delete (удалить), который приводит к удалению всех диаграмм с рабочего листв Лист1:

Worksheets("Лист!").Chartobjects.Delete [5]

Свойства

Свойство представляет собой атрибут объекта, определяющий его характеристики, такие как размер, цвет, положение на экране и состояние объекта, например, доступность или видимость. Чтобы изменить характеристики объекта, надо просто изменить значения его свойств. [10]

Синтаксис установки  значения свойства:

Объект.Свойство = ЗначениеСвойства

В следующем  примере изменяется заголовок окна Excel посредством задания свойства Caption объекту Application:

Application.Caption = "Пример"

Свойство можно  изменять сразу у всех объектов семейства. В приведенном ниже примере с  помощью установки свойству visible (видимость) значения False (ложь) все рабочие листы активной книги (семейство объектов worksheets) скрываются:

Worksheets.Visible = False [8]

1.3. Операторы VBA

Знание операторов является необходимой основой для  изучения любой темы по VBA, т.е. прежде чем браться за изучение языка, стоит достаточное время уделить операторам.

  • Call name, argumentlist - Вызов процедуры с названием name.
  • ChDir path - Заменяет текущую папку папкой, указанной аргументом path
  • Const CONSTNAME - Объявляет константой переменную с именем CONSTNAME
  • Date = date - Изменяет системную дату на дату, указанную аргументом date
  • Declare name - Объявляет процедуру из динамически присоединяемой библиотеки (DLL)
  • DefByte letterrange - Задает тип Byte как тип данных по умолчанию для всех переменных, которые начинаются с букв, указанных аргументом letterrange
  • Do:Loop - Выполняет цикл по нескольким операторам до тех пор, пока логическое условие равно True
  • End Keyword - Завершает процедуру, функцию или управляющую структуру
  • Enum name - Оператор уровня модуля, который объявляет переменную перечислимого типа
  • Event procedurename(arglist) - Оператор может присутствовать только в модуле класса. Он объявляет событие, определенное пользователем
  • Exit keyword - Выход из процедуры, функции или управляющей структуры
  • FileCopy source, destination - Копирует файл source в папку destination (при этом можно изменить имя исходного файла)
  • For Each:Next - Цикл по каждому члену коллекции
  • For:Next - Цикл по нескольким операторам, выполняемый до тем пор, пока счетчик цикла не достигнет заданного значения
  • Function - Объявляет пользовательскую процедуру-функцию
  • Get #filenumber, varname - Производит чтение в переменную из файла ввода-вывода, открытого оператором Open
  • GoSub:Return - Осуществляет вход в подпрограмму, описанную в процедуре, и выход из нее. (Использование этого оператора не рекомендуется, поскольку создание отдельной процедуры позволит сделать код более простым для понимания)
  • GoTo line - Передает управление на строку кода, на которую указывает метка line
  • If:Then:Else - Выполняет один из двух фрагментов кода на основе результата логической проверки
  • Imlements InterfaceName, Class - Определяет название интерфейса или класса, который будет реализован в модуле класса
  • Input #filenumber, varlist - Производит чтение из файла ввода-вывода в переменные
  • Kill pathname - Удаляет файл pathname с диска
  • Load - Загружает форму в память, но не выводит ее на экран
  • LSet var1 = var2 - Копирует переменную одного пользовательского типа в переменную другого, но совместимого, пользовательского типа
  • Mid - Заменяет заданное количество символов в строковой переменной символами из другой строки
  • MkDir path - Создает папку с именем path
  • Name oldpathname as newpathname - Изменяет имя файла или папки
  • On Error - Задает способ обработки ошибок
  • On:GoSub, On:GoTo - Передает управление заданной строке на основе результата выражения
  • Open pathname, : - Открывает файл для ввода-вывода
  • Option Explicit - Принуждает программиста к явному объявлению переменных. Введите этот оператор на уровне модуля
  • Option Private - Указывает, что модуль закрыт, и к нему нельзя обратиться из процедур, расположенных в других модулях. Введите оператор на уровне модуля
  • Print #filenumber - Производит запись в файл ввода-вывода
  • Property Get - Объявляет процедуру свойства, которая будет принимать значения этого свойства
  • Property Let - Присваивает значение свойству в процедуре свойства
  • Property Set - Устанавливает ссылку на объект в процедуре свойства
  • Public varname - Открывает доступ к переменной varname для всех процедур, содержащихся в модуле
  • Put #filenumber, varname - Записывает данные из переменной varname а файл ввода-вывода
  • RaiseEvent eventname, arguments - Вызывает событие с именем eventname
  • Randomize number - Инициализирует генератор случайных чисел. Пропустить аргумент number, чтобы каждый раз инициализировать его разными начальными числами
  • ReDim varname - Повторно выделяет память для динамического массива
  • Rem comment - Указывает VBA, что следующий за оператором текст является комментарием. Вместо этого оператора чаще используется символ апострофа
  • Reset - Закрывает все файлы ввода-вывода, которые были ранее открыты оператором Open
  • Resume - После возникновения ошибки возобновляет выполнение программы со строки, в которой возникла ошибка
  • RmDir path - Удаляет папку
  • RSet stringvar = string - Записывает строку в строковую переменную, выравнивая символы по правому краю
  • SaveSetiing appname, : - Создает или сохраняет установки в реестре Windows
  • Seek #filenumber, position - Устанавливает текущую позицию в файле ввода-вывода
  • Select Case - Выполняет группу операторов на основе значения выражения
  • SendKeys string, wait - Передает в активное приложение нажатия клавиш, заданные строкой string так, как будто они были введены с клавиатуры
  • Set objectvar = object - Присваивает объект object объектной переменной с именем objectvar
  • SetAttr pathname, attr - Задает атрибуты доступа, определенные аргументом attr (например, vbReadOnly) для файла, заданного аргументом pathname
  • Static varname - Объявляет (на уровне модуля), что переменная varname будет сохранять свои значения все время, пока будет выполняться код модуля
  • Stop - Переводит VBA в режим паузы
  • Sub - Объявляет процедуру
  • Time = time - Устанавливает системное время равным аргументу time
  • Type varname - Объявляет пользовательский тип данных. (Используется только на уровне модуля)
  • Unload - Удаляет форму из памяти
  • Unlock #filenumber, recordrange - Удаляет атрибуты доступа для файла ввода-вывода
  • While:Wend - Выполняет цикл по группе операторов до тех пор, пока логическое условие истинно
  • Width #filenumber, width - Задает ширину строки для файла ввода-вывода
  • With:End With - Выполняет группу операторов для заданного объекта. [12]

 

Выводы по первой главе

  1. Про язык VBA можно сказать, что он является диалектом языка BASIC, который появился в начале 60-х.
  1. В понятие "программирование на Visual Basic for Applications" входит не только и не столько знание основ языка программирования, сколько умение правильно использовать объекты, их свойства и методы.
  1. В основе реализации проекта в среде VBA лежит понятие модуля. Модуль – это набор описаний и процедур на языке VBA, собранных в одну программную единицу.
  1. Существует огромное количество классов, которые помогают создать всевозможные объекты, такие как формы, элементы управления и т.п
  1. Метод представляет собой действие, выполняемое над объектом.
  1. Свойство представляет собой атрибут объекта, определяющий его характеристики, такие как размер, цвет, положение на экране и состояние объекта.
  1. Прежде чем браться за изучение языка VBA, стоит достаточное время уделить операторам.

 

    1. Использование Visual Basic for Applications в прикладных программах
    1. Visual Basic for Applications в Word

Применяя Visual Basic for Applications в Microsoft Word, можно создавать сложные виды документов, в которых используется и текст, и таблицы, и графические изображения, и автофигуры. Для каждого из этих компонентов предусмотрен отдельный объект, ряд свойств и методов, посредством которых можно выполнять такие же действия, что и в интерактивном режиме. Например, изменять толщину линии или придавать объем графическому объекту, увеличивать или уменьшать размер текста и многое другое. [9]

Объект Range является базовым в операции редактирования. Его можно рассматривать как  непрерывный фрагмент текста, который  не зависит от положения курсора. Range включает в себя такие объекты, как Words (слова) или Sentences (предложения); при обращении к ним сам объект Range указывать не нужно, тогда как для Sections (разделы) или Paragraphs (абзацы) это делать необходимо. Объект Range поддерживает основные методы, которыми пользуются при форматировании текста (такие, как “Копировать”, “Вставить”, “Вырезать”, команды меню “Формат”).

Пример: подсчет  количества абзацев в документе.

Public Sub CommandButton1_Click()  

Dim k As Integer 

Dim Text As String 

Dim ZAGOLOVOK As Range

Dim REZULTAT As Range 

k = ActiveDocument.Paragraphs.Count 

Text = "Количество  абзацев в этом документе - " & k & "." 

ActiveDocument.Paragraphs(k).Range.InsertParagraphAfter 

ActiveDocument.Paragraphs(k + 1).Range.InsertBefore Text 

 

Set REZULTAT = ActiveDocument.Paragraphs(k + 1).Range

With REZULTAT .Font.Name = "Arial" .Font.Size = 14

.Font.ColorIndex = wdDarkRed End With 

Set ZAGOLOVOK = ActiveDocument.Range(Start:=0, End:=0) 

With ZAGOLOVOK 

.InsertBefore "Протоколы" 

.Font.Name = "Arial" 

.Font.Size = 24 

.InsertParagraphAfter 

End With 

End Sub

Рисунок 1

[3]

2.2. Visual Basic for Applications в Excel

Microsoft Excel представляет собой электронную таблицу, поэтому все предоставляемые Visual Basic for Applications средства используются при обработке данных в ячейках рабочей книги. Посредством объектов Excel из любой программы на Visual Basic for Applications можно получить доступ к содержимому и атрибутам рабочей книги, а кроме того, можно создавать и изменять графические объекты, диаграммы или фрагменты карт. [9]

Пример : работа с матрицей.

Кнопка “Очистить  лист”

Private Sub CommandButton2_Click()

For i = 1 To 30

For j = 1 To 30

Worksheets("Матрица").Cells(i, j).Value = ""

Next j

Next i

End Sub

Кнопка “Выход”

Private Sub CommandButton1_Click()

Userform1.Hide

End Sub

Кнопка “Ввод матрицы”

Private Sub CommandButton4_Click()

m = InputBox("Введите количество столбцовматрицы", "Ввод")

If m > 10 Then

MsgBox "Количество столбцов более 10

не обрабатываю!", 48, "Ошибка!"

GoTo metka

End If

n = InputBox("Введите  количество строк", "Ввод")

If n > 10 Then

MsgBox " Количество  строк более 10 не обрабатываю!", 48, "Ошибка!"

GoTo metka

End If

For i = 1 To m

For j = 1 To n

Randomize

matr(i, j) = Int(10 * Rnd)

Next j

Next i

Worksheets("Матрица").Cells(1, 1).Value = "Матрица"

For i = 1 To m

For j = 1 To n

Worksheets("Матрица").Cells(i + 1, j).Value = matr(i, j)

Next j

Next i

metka:

End SubКнопка “Вычислить”

'выполнение действий над матрицей

Private Sub CommandButton6_Click()

Dim MAX As Integer

Dim i As Integer

Dim j As Integer

Dim SUM As Integer

Dim flag As Integer

'определение суммы

SUM = 0

flag = 0

If OptionButton1.Value = True Then

For i = 2 To m + 1

For j = 1 To n

SUM = SUM + Worksheets("Матрица").Cells(i, j)

Next j

Next i

Worksheets("Матрица").Cells(11, 1).Value = "Сумма элементов ="

Worksheets("Матрица").Cells(12, 1).Value = SUM

MsgBox "=" & SUM, 48, " Сумма элементов"

GoTo metka

End If

' определение  максимума

If OptionButton2.Value = True Then

MAX = Worksheets("Матрица").Cells(2, 1).Value

For i = 2 To m + 1

For j = 1 To n

If MAX < Worksheets("Матрица").Cells(i, j)

Then

MAX = Worksheets("Матрица").Cells(i, j)

End If

Next j

Next i

Worksheets("Матрица").Cells(11, 1).Value = "Максимальный элемент"

Worksheets("Матрица").Cells(12, 1).Value = MAX

MsgBox "=" & MAX, 48, " Максимальный элемент"

GoTo metka

End If

'замена четных

If OptionButton3.Value = True Then

For i = 2 To m + 1

For j = 1 To n

d = Worksheets("Матрица").Cells(i, j)

If d / 2 = Int(d / 2) Then

Worksheets("Матрица").Cells(i, j) = d + 1

flag = 1

End If

Next j

Next i

If flag = 1 Then

MsgBox "Замена  произошла", 64, "Замена"

Else

MsgBox "Замены  нет, все элементы нечетные", 64, "Замена"

End If

End If

metka:

End Sub

Спроектируйте на листе “Матрица” кнопку “Работа  с матрицей”, которая вызывает пользовательскую форму “Операция с матрицей”:

Private Sub Запуск_Click()

Userform1.Show

End Sub     


Рисунок 2                                                                                                      Рисунок 3  

 

Рисунок 4

 

Рисунок 5

[2]

    1. Visual Basic for Applications в PowerPoint

Используя функции, объекты и методы языка программирования Visual Basic for Applications, встроенного в PowerPoint, можно придавать стандартным компонентам презентации или отдельного слайда дополнительные эффекты. Кроме того, с помощью единой системы объектов Microsoft Office в слайдах PowerPoint можно использовать реальные данные из баз данных, электронных таблиц и отображать их как в табличном виде, так и в виде диаграмм. [6, 9]

Информация о работе Использование VBA для создания дидактических материалов по информатике