Основы офисного программирования

advertisement
Правительство Российской Федерации
Государственное образовательное бюджетное учреждение
высшего профессионального образования
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
ПЕРМСКИЙ ФИЛИАЛ
Программа дисциплины
«Основы офисного программирования»
для направления 080700.62 – Бизнес-информатика
Утверждена
Учебно-методическим Советом ПФ ГУ-ВШЭ
Одобрена на заседании кафедры
Информационных технологии в бизнесе
протокол _______________________________
Председатель_______________Володина Г.Е.
Зав. кафедрой_______________Казаченко Т.А.
«_______»_________________________2010 г.
«______»__________________________2010 г.
Пермь 2010
I. Пояснительная записка
1. Автор программы: В.В. Ланин
2. Требования к студентам:
Приступая к изучению данной дисциплины, студент должен обладать:
 знаниями информатики в объеме общеобразовательной школы;
 умением работы с программами пакета Microsoft Office на уровне пользователя;
 знанием основ структурного программирования на каком-либо языке высокого
уровня.
3. Аннотация:
Изначально пакеты офисных программ предназначались для использования конечными
пользователями. Хотя функциональность этих пакетов с точки зрения рядового пользователя
постоянно растет, магистральным направлением их развития в последние годы становится
расширение возможностей внутренних средств программирования, называемых офисными
средствами разработки (Office-based development tools). Несмотря на то, что основной объем
применения офисных приложений по-прежнему приходится на конечных пользователей,
офисные пакеты все в большей мере становятся самостоятельным инструментом разработчиков. Более 2,6 миллионов разработчиков используют пакет Microsoft Office как часть своих собственных решений в сфере бизнеса. Популярность пакета Office как платформы для
разработки технических решений объясняется его распространенностью в качестве набора
офисных приложений. Разработчики осознают, что использование платформы Office, установленной на 125 миллионах компьютеров, является лучшим способом создания бизнесрешений, интегрированных в привычную среду.
Целью данной дисциплины является получение студентами практических навыков по
разработке программ в среде Microsoft Office. Содержание программы дисциплины «Программирование в офисных приложениях» должно подготовить студентов к изучению современных технологий разработки и систем программирования.
Задачи:
 познакомить студентов с основами объектно-ориентированного программирования,
построения событийно-управляемого интерфейса пользователя в среде Windows, работой в современной интегрирований среде разработки;
 познакомить с архитектурой современных пакетов прикладных программ на примере пакета Microsoft Office;
 дать представление о способах расширения функциональности существующих программных продуктов и автоматизации рутинных операций.
Курс призван повысить общую эрудицию студентов, дать им возможность ориентироваться в данной предметной области.
4. Учебная задача курса:
В результате изучения курса студент должен:
 Знать:
 основные конструкции, операторы и встроенные функции языка Visual Basic
for Application;
 основные элементы объектной модели приложений Word и Excel;
 приемы автоматизации и настройки часто повторяемых пользователем операций.
 Уметь:
 разрабатывать с помощью средств программирования Microsoft Office прикладные программы различного назначения;
2


 организовать интерфейс пользователя с помощью средств визуального программирования в среде Windows;
 интегрировать приложения Microsoft Office с помощью технологии OLE.
Иметь представление:
 о современной интегрированной среде разработки;
 об основных возможностях настройки Microsoft Office для решения конкретных прикладных задач;
 об организации объектных моделей приложений и документов Word и Excel.
Обладать навыками:
 отладки приложений с помощью интегрированной среды разработчика;
 анализа и проектирования решений на базе Microsoft Office.
5. Формы контроля:
 текущий контроль: домашнее задание.
 промежуточный контроль: выполнение заданий на практических занятиях.
 итоговый контроль: зачет проводится в соответствии с учебным планом в конце
модуля;
 итоговая оценка: складывается в соответствии с «Положением о рейтинге», принятом в ПФ ГУ ВШЭ.
II. Содержание программы
Раздел 1. Введение в офисное программирование
Тема 1. Введение в язык Visual Basic for Application
Операторы и основные синтаксические конструкции. Типы данных. Встроенные
функции языка VBA. Объектно-ориентированное программирование в VBA.
Тема 2. Интегрированная среда разработки
Управление программным проектом. Запись и редактирование макросов. Инструменты отладки программ. Обработка ошибок времени исполнения. Защита документа и
программного проекта.
Раздел 2. Объектные модели офисных приложений
Тема 3. Разработка приложений с помощью Word
Иерархия объектов Word. Программное форматирование документа. Работа с полями, закладками и переменными документа. Использование шаблонов документов.
Тема 4. Разработка приложений с помощью Excel
Иерархия объектов Excel. Представление данных и вычисления в таблицах Excel.
Анализ данных. Поиск, отбор и упорядочение информации в таблицах Excel.
Раздел 3. Событийно-управляемое программирование
Тема 5. Проектирование интерфейса пользователя
Экранные формы и элементы управления. Пользовательские меню и панели инструментов.
3
Раздел 4. Модели интеграции офисных приложений
Тема 6. Использование технологии OLE Automation при интеграции компонентов
Microsoft Office
Создание объектов Automation: раннее и позднее связывание. Управление связанными и внедренными объектами.
Тема 7. Microsoft Office и платформа .Net
Visual Studio Tools for Office. Использование XML в документах Word и рабочих
книгах Excel. Разработка Smart Tags.
III. Учебно-методическое обеспечение дисциплины
1. Литература:
Базовый учебник:
1. Биллиг В.А. VBA в Office 2000. Офисное программирование / В.А. Биллиг,
В.А. Биллиг. MSDN Academic Alliance. Библиотека учебных курсов [Электронный
ресурс] [http://www.microsoft.com/Rus/Msdnaa/Curricula/Default.mspx].
Основная:
1. Биллиг В.А. Средства разработки VBA-программиста. Офисное программирование
// MSDN Academic Alliance. Библиотека учебных курсов [Электронный ресурс]
[http://www.microsoft.com/Rus/Msdnaa/Curricula/Default.mspx].
2. Лядова Л.Н. Microsoft Office: от начинающего пользователя до профессионала:
В 2 ч. Ч. 2: Основы офисного программирования / Л.Н. Лядова, В.В. Ланин. Перм.
ун-т. – Пермь, 2007. – 388 с.: ил.
Дополнительная:
1. Лядова Л.Н. Microsoft Office: от начинающего пользователя до профессионала:
в 2 ч.: учеб.-метод. пособие Ч. 1: Microsoft Office для пользователя / Л.Н. Лядова,
Н.В. Фролова, Е.Б. Замятина, М.А. Плаксин, Б.А. Ермолаев. Перм. ун-т. – Пермь,
2007. – 412 с.: ил.
2. Замятина E.Б. Офисные технологии и основы Visual Basic for Application /
Е.Б. Замятина, Л.Н. Лядова. Перм. ун-т. – Пермь, 2001. – 232 с.: ил.
3. Биллиг В.А. Мир объектов Excel 2000. Средства разработки VBA-программиста //
MSDN Academic Alliance. Библиотека учебных курсов [Электронный ресурс]
[http://www.microsoft.com/Rus/Msdnaa/Curricula/Default.mspx].
4. Соломон К. Microsoft Office: Разработка приложений. СПб.: BHV-Санкт-Петербург,
1998. – 560 с.: ил.
5. Уэллс Э. Microsoft Excel: Разработка приложений / Э. Уэллс, С. Хешбаргер. СПб.:
BHV-Санкт-Петербург, 1998. – 624 с.: ил.
6. Карпов Б. VBA: специальный справочник. СПб.: Питер, 2002. – 416 с.: ил.
2. Тематика заданий по различным формам текущего контроля:
Приложение 1. Перечень вопросов и заданий для самоконтроля студентов.
Приложение 2. План практических занятий.
Приложение 3. Тематика домашних заданий.
4
3. Методические рекомендации (материалы) преподавателю:
На лабораторных занятиях используются следующие методы обучения и контроля
усвоения материала:
1) выполнение лабораторных работ по теме занятия сопровождается контрольным
опросом;
2) обсуждение различных вариантов решения, предложенных студентами, сравнение
решений, анализ возможных ситуаций.
Методические рекомендации по выполнению лабораторных работ приведены в рекомендованных книгах (электронных ресурсах).
4. Методические указания студентам:
Студенту рекомендуется следующая схема подготовки к лабораторному занятию:
1) проработать конспект лекций;
2) проанализировать основную и дополнительную литературу, рекомендованную по
изучаемому разделу;
3) проанализировать варианты решений, предложенные преподавателем на практических занятиях;
4) при затруднениях сформулировать вопросы к преподавателю.
Методические рекомендации по выполнению лабораторных работ приведены в рекомендованных книгах (электронных ресурсах).
5. Рекомендации по использованию информационных технологий
Все практические занятия проводятся в компьютерном классе. Программное обеспечение должно поддерживать
1) возможность доступа к материалам для подготовки, размещаемым на сервере;
2) возможность работы с приложениями Word и Excel пакета Microsoft Office;
3) возможность разработки приложений с использованием средств VBA и VS.NET.
Автор программы:
__________________________________________
/В.В. Ланин /
5
Тематический расчет часов по программе дисциплины «Основы офисного
программирования» для направления 080700.62 «Бизнес- информатика»
Наименование тем
№
Лекции
Введение в язык Visual Basic for Application
Интегрированная среда разработки
Разработка приложений с помощью Word
Разработка приложений с помощью Excel
Проектирование интерфейса
Использование технологии OLE Automation
6
при интеграции компонентов Microsoft Office
7 Microsoft Office и платформа .Net
1
2
3
4
5
Всего
Автор программы:
Семинарские или
практические
занятия
Аудиторные часы
Всего
Самостоятельная
работа
IV.
Всего
часов
2
2
2
2
2
2
2
4
2
2
2
2
4
6
4
4
4
4
6
0
4
6
6
4
10
6
8
10
10
8
2
14
0
14
2
28
0
26
2
54
__________________________________________
/В.В. Ланин /
6
Приложение 1
Вопросы для самоконтроля
1. Какие имена переменных недопустимы в VBA?
1. true&false
2. ItIsMyVariable
3. VBA.Right
4. 1A_2B
2. Может ли имя макроса содержать пробелы?
1. Да
2. Нет
3. Да, если перед началом стоит знак «@»
3. Какое ключевое слово используется в операторе присваивания значения объектной переменной?
1. Dim
2. Put
3. Set
4. Let
5. Get
4. На уровне модуля имеется следующее описание переменных:
Public A As Integer, B, C
Dim D As Variant, E As String
Private F, G As Long
Какие из переменных будут видны за пределами модуля?
1. A
2. A, B, C, F, G
3. A, B, C
4. F, G
5. D, E
5. Для размещения операторов на одной строке их необходимо разделить:
1.
размещение
невозможно
2.
двоеточием
(символ «:»)
3. точкой с запятой
(символ «;»)
4. запятой (символ «,»)
6. Какой из условных операторов записан верно?
1.
if
A=false
then B=not A
2. if A=false then B=not A;
3. If A = False Then _
B = Not A
7. Имеется ли ошибка в данной последовательности операторов VBA?
Dim Doc As Document
Set Doc = ActiveDocument
1. Да
2. Нет
3. Контекст кода недостаточен
8. Какая из конструкций имеет синтаксическую ошибку?
1. On Error Goto ErrHndl
2. On Error Exit Sub
3. On Error Resume Next
9. Процедура Sub_1 имеет следующий вид:
Public Sub Sub_1(ByRef A As Byte, ByVal B As Byte, Optional C As Byte = 0)
A = C + 1
B = 2
C = A + 1
End Sub
Какие значения получат переменные X, B, Y после вызова функции?
Dim X As Byte, B As Byte, Y As Byte
X = 5: B = 3: Y = 2
Call Sub_1(X, Y)
1. в вызове процедуры
содержится ошибка
2.
X=1;
B=3; Y=2
3.
X=5;
B=3; Y=2
4. X=1; B=3;
Y=6
5. X=1; B=2; Y=2
10. Какое ключевое слово используется для выхода из процедуры?
1. Close
2. Break
3. Exit Sub
4. Halt
5. End
7
11. Функция Func_2 имеет следующий вид:
Public Function Func_2(ByRef A As Integer, ByVal B As Integer) As Integer
Func_2 = A - B
End Function
Вызов Func_2(B:=7, A:=3) вернет значение:
1.
в вызове
ошибка
функции
содержится
2. 4
3. 0
4. -4
5. 3
12. Функция Func_3 имеет следующий вид:
Public Function Func_3(A As Integer, ParamArray B()) As Integer
Dim S As Integer, k
S = 0
For Each k In B()
S = S + k
Next
Func_3 = S + A
End Function
Вызов Func_3(5, 6, 9) вернет значение:
1. в вызове функции содержится ошибка
2. 40
3. 20
4. 5
5. 0
13. Если не указан тип значения, возвращаемого функцией, то оно будет иметь тип:
1. Integer
2. Variant
3. Long
4. Object
5.
Отсутствие типа является
синтаксической ошибкой
14. Имеется следующий код на языке Visual Basic for Application:
Type Person
Name As String
Lastname As String
End Type
Dim i As Integer, j As Byte
Public q, w, t As Person
Какай тип получат переменные?
1.
i – целый,
j
–
байт,
q – Person,
w – Person,
t – Person
2. Для объявления
переменной типа Person
необходимо
использовать
ключевое слово new
3. i – целый,
j
–
байт,
q – целый,
w – целый,
t – целый
4.
i
–
целый,
j
–
байт,
q
–
variant,
w
–
variant,
t – Person
15. Имеется следующий код на языке Visual Basic for Application:
Dim d As Document, i As Integer
For i = 1 To Documents.Count
d = Documents(i)
MsgBox d.Name
Next i
1.
В
грамме
ошибок
пронет
2. Индексация
коллекций
в
VBA начинается
с 0
3. В объявлении следовало
написать:
Dim d As new Document, i
As Integer
4. Неверная работа
объектной переменной
8
с
16. Какая из перечисленных ниже строк содержит ошибку?
1.
2.
3.
4.
Set
Set
Set
Set
app
app
app
app
=
=
=
=
CreateObject("Excel.Application")
CreateObject("Excel.Sheet")
CreateObject("Word.Application")
CreateObject("Excel.Workbook")
17. Какое из этих свойств возвращает объект, отличный от объекта Range?
1. Paragraphs(index)
2. Sentences(index)
3. Words(index)
4. Characters(index)
18. В каком из указанных ниже вариантов в ячейку на пересечении первой строки и второго
столбца не запишется значение «1»?
Cells("A2").Range = “1”
Cells(1, 2).Select: ActiveCell = “1”
Range("A1").Select: ActiveCell.Offset(0, 1).Range("A1").FormulaR1C1 = “1”
Cells(1, 1).Offset(0, 1) = “1”
i = 2: Range(Cells(1, i), Cells(1, i)) = “1”
19. Какой тип является наиболее общим?
1. Long
2. Object
3. Currency
4. Variant
5. Date
20. Какое значение вернет данная функция?
Public Function DateTest()
Dim D1 As Date, d2 As Date
D1 = #5/3/2007#
d2 = #4/3/2007#
DateTest = D1 - d2
End Function
1.
В тексте функции
содержится ошибка
2. 30
3. #31/0/0#
4. #0/30/2007#
5. 32
21. Какие действия выполняет данный программный код?
Private Sub UserForm_Initialize()
Dim i As Integer
With ThisDocument.Bookmarks("СписокКурсов").Range.Tables(1)
For i = 2 To .Rows.Count
cmbНазваниеКурса.AddItem .Cell(i, 1).Range.Text
Next
End With
End Sub
22. Какие действия выполняет данный программный код?
Dim cb As CommandBar
For Each cb In Application.CommandBars
cb.Enabled = False
Next cb
9
23. Какие действия выполняет данный программный код?
With Application
.DisplayFormulaBar = False
.DisplayScrollBars = False
.DisplayStatusBar = False
With .ActiveWindow
.DisplayGridlines = False
.DisplayWorkbookTabs = False
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With
End With
24. Какие действия выполняет данный программный код?
Public Sub SetFocusToError(ctrl As Control)
ctrl.SelStart = 0
ctrl.SelLength = Len(ctrl.Text)
ctrl.SetFocus
End Sub
25. Какие действия выполняет данный программный код?
Sub Proc()
On Error Resume Next
Randomize Timer
Dim intMean As Integer, intCounter As Integer
Dim strSynonymous As Object
Dim varSynonymous As Variant
For intCounter = 1 To ActiveDocument.Words.Count
Set strSynonymous = ActiveDocument.Words(intCounter).SynonymInfo
If strSynonymous.MeaningCount >= 1 Then
Let intMean = Rnd(2)
If intMean = 0 Then intMean = intMean + 1
varSynonymous = strSynonymous.SynonymList(intMean)
ActiveDocument.Words(intCounter).Text = varSynonymous(1) & " "
End If
Next
End Sub
10
Приложение 2
План практических занятий
Тема 1. Введение в язык Visual Basic for Application (4 часа).
Структура программы на VBA. Основные синтаксические конструкции языка VBA
Типы данных и описание данных. Основные операторы. Разработка простейших приложений
с использованием циклов, ветвлений. Организация ввода-вывода.
Тема 2. Интегрированная среда разработки (4 часа).
Возможности интегрированной среды разработки. Окно редактора. Справочная система MS Office и VBA.
Процедуры и функции. Подключение библиотек.
Понятие объекта. Объекты MS Office: атрибуты, методы. Иерархия объектов MS
Office. Проводник объектов.
Создание объектов, определение свойств, выполнение операций над объектами.
Тема 3. Разработка приложений с помощью Word (2 часа).
Лабораторная работа «Автоматизация заполнения бланка с помощью текстового процессора Word».
Тема 4. Разработка приложений с помощью Excel (2 часа).
Лабораторная работа «Автоматизированное рабочее место «Оператор автозаправочной
станции».
Тема 5. Проектирование интерфейса пользователя (2 часа).
Разработка экранных форм пользователя. Создание пользовательских меню. Требования к интерфейсу и обработка событий.
Тема 6. Использование технологии OLE (2 часа).
Понятие технологии OLE. Использование технологии OLE для интеграции приложений Microsoft Office. Интеграция Word и Excel.
При выполнении практических заданий и лабораторных работ рекомендуется использовать примеры, приведенные в электронных ресурсах, в частности в пособии:
1. Лядова Л.Н. Microsoft Office: от начинающего пользователя до профессионала:
В 2 ч. Ч. 2: Основы офисного программирования / Л.Н. Лядова, В.В. Ланин. Перм.
ун-т. – Пермь, 2007. – 388 с.: ил.
11
Приложение 3.
Тематика домашних заданий:
Разработка приложения на основе приложений интегрированного пакета MS Office,
удовлетворяющего следующим требованиям:
1. Использование пользовательского меню и форм ввода/вывода, обработка событий
открытия документа и закрытия приложения и восстановление системного меню.
2. Использование средств форматирования, элементов оформления документов.
3. Использование средств обработки ошибок.
4. Интеграция Word и Excel с использованием OLE Automation.
12
Download