МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное автономное
образовательное учреждение высшего образования
«Национальный исследовательский Нижегородский государственный университет им. Н.И. Лобачевского»
А.В. Клепиков
Методические рекомендации по выполнению практических заданий по дисциплине: «Программирование в среде MS Office»
Учебно-методическое пособие
Рекомендовано методической комиссией института экономики и предпринимательства для студентов ННГУ, обучающихся
по направлению подготовки
09.03.03 «Прикладная информатика»
Нижний Новгород
2018
УДК 338:004.912(075.8)
ББК Ув6:З81я73
К 48
К 48 Клепиков А.В. Методические рекомендации по выполнению практических заданий по дисциплине: «Программирование в среде MS Office»: Учебно-методическое пособие / А.В. Клепиков. – Нижний Новгород / Нижегородский госуниверситет, 2018. – 36 с.
Рецензент: к.э.н., доцент Березин С.В. Учебно-методическое пособие составлено с учетом требований Федерального государственного образовательного стандарта высшего образования по направлению подготовки 09.03.03 «Прикладная информатика», предназначено для практического изучения дисциплины - «Программирование в среде MS Office».
Пособие включает документы по практическому применению возможностей программы MS Office 2016 в составлении документов, работе с ними и навыками программирования с использованием встроенного языка программирования Visual Basic for application. Методические указания помогают в решении практических заданий по курсу подготовки, даны рекомендации по изучению документов по предмету, представлены вопросы для анализа, список рекомендованной литературы и примерные тесты.
Пособие предназначено для обучающихся по направлению подготовки 09.03.03 «Прикладная информатика» по дисциплине «Программирование в среде MS Office».
Ответственный за выпуск:
председатель методической комиссии ИЭП ННГУ,
к.э.н., доцент Едемская С.В. УДК 338:004.912(075.8)
ББК Ув6:З81я73 © Национальный исследовательский Нижегородский государственный университет им. Н.И. Лобачевского, 2018
СОДЕРЖАНИЕ
Введение 1. Тема 1. Использование встроенного языка программирования VBA (Visual Basic for Application) Контрольная работа № 1 2. Тема 2. Использование возможностей MS Word Контрольная работа № 2 3. Тема 3. Использование возможностей MS Excel и встроенных функций Контрольная работа №3 4. Тема 4. Работа по использованию возможностей технологии OLE Контрольная работа №4
Список рекомендованной литературы
| Стр.
4 7
7
19
19 26
26
32
32 35
|
ВВЕДЕНИЕ
Дисциплина «Программирование в среде MS Office» относится к дисциплинам по выбору вариативной части (Б1.В.ДВ.6.2) и изучается на 3 курсе в 5 семестре для очной формы обучения. Цель освоения дисциплины
Учебная дисциплина «Программирование в среде MS Office» является вузовским компонентом в подготовке бакалавров по гуманитарным направлениям.
Преподавание дисциплины в институте позволяет на основе изучения современных информационных технологий с использованием средств программирования в среде MS Office сформировать у студентов целостный взгляд на применение компьютерных технологий и возможностей MS Office по своей специальности.
Целью изучения данной дисциплины является формирование у студентов системы знаний по навыкам программирования и работе в программе MS Office 2016, а также освоению современных информационных технологий и приобретение навыков их использования в практической деятельности профессионального экономиста.
Для достижения поставленной цели предполагается решение следующих основных задач курса: изучение аппаратных и программных средств информационных технологий, решаемых на их основе экономических задач, а также вопросов, связанных с обеспечением безопасности, перспективами развития и использования информационных технологий в экономике с использованием встроенных средств программирования.
Основными задачами являются:
- формирование у студентов целостного взгляда на применение компьютерных технологий по своей специальности
- изучение студентами аппаратных и программных средств информационных технологий, решаемых на их основе экономических задач, а также вопросов, связанных с обеспечением безопасности, перспективами развития и использования программирования в среде MS Office
- приобретение студентами теоретических знаний, освоение современного состояния и перспективных направления развития информационных технологий и систем в экономике;
- формирование умений и привитие навыков по использованию полученных знаний для работы с пакетом программ MS Office;
- формирование у студентов системы знаний по современным технологиям программирования и приобретение навыков их использования в практической деятельности профессионального информатика-экономиста.
В результате изучения дисциплины Программирование в среде MS Office студент должен:
Знать:
- основные методы, способы и средства получения, хранения, переработки информации, принципы организации информации в глобальных компьютерных сетях и способы ее использования;
- методологию и технологию проектирования и внедрения программного обеспечения;
- основные конструкции, операторы и встроенные функции языка Visual Basic for Application; основные элементы объектной модели приложений Word и Excel; приемы автоматизации и настройки часто повторяемых пользователем операций;
- назначение, структуру и особенности взаимодействия программ пакета MS OFFICE;
Уметь:
- обобщать, проводить анализ, осуществлять постановку цели и выбор путей ее достижения;
- формировать архитектуру программного обеспечения (ПО), разрабатывать программные приложения;
- разрабатывать с помощью средств программирования Microsoft Office прикладные программы различного назначения; организовать интерфейс пользователя с помощью средств визуального программирования в среде Windows; интегрировать приложения Microsoft Office с помощью технологии OLE;
- работать с компонентами программного обеспечения и баз данных, использовать современные инструментальные средства для работы с приложением.
Владеть:
- культурой мышления, способность к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения;
- методами разработки распределенного ориентированного программного обеспечения;
- навыками отладки приложений с помощью интегрированной среды разработчика; анализом и проектированием решений на базе Microsoft Office;
- основными методами и средствами получения, хранения, переработки информации; навыками работы с компьютером как средством управления информацией. Дисциплина «Программирование в среде MS Office» опирается на знания и умения, приобретенные студентами в рамках изучения таких дисциплин, как «Теория вероятностей и математическая статистика», «Методы оптимальных решений», «Микроэкономика», «Макроэкономика», «Экономическая информатика». Знания, приобретаемые в результате изучения дисциплины «Программирование в среде MS Office», позволят студентам успешно освоить специальные дисциплины в системе курсов по экономике.
Тема 1. Использование встроенного языка программирования VBA (Visual Basic for Application).
Контрольная работа № 1.
Основные понятия: редактор VBA, создание программы (макроса), использование языка VBA. Для сдачи контрольной работы необходимо создать небольшую программу с использованием VBA (Visual Basic for Application). Вопросы для анализа.
1. Что такое VBA (Visual Basic for Application);
2. Какие возможности предоставляются пользователю с использованием VBA;
3. Для чего используются макросы и редактор VBA. МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
Приступая к выполнению работы выберите одну из представленных задач. Вначале представлен пример решения. Пример решения контрольной работы №1
Для создания функции, вычисляющей корень из суммы квадратов двух чисел, выполните:
1. Войдите в Редактор Visual Basic
2. Установите курсор в конце какого-нибудь модульного листа и введите текст:
Function Гипотенуза(Катет1,Катет2) Гипотенуза =sqr(Катет1^2+Катет2^2) End Function
Стандартная функция Sqr(аргумент) возвращает значение квадратного корня.
3. Вернитесь в Microsoft Excel ( File -> Close and Return to Microsoft Excel ).
4. Наберите в свободном месте рабочего листа в одной ячейке любое число, в соседней слева – ещё одно, передвиньте курсор ещё на ячейку влево, куда будет вставлена наша функции.
5. Выберите Вставка -> Функция , а затем в списке Категория выберите опцию Определённые пользователем. После этого надо в списке Выберите функцию выделить функцию Гипотенуза и нажать ОК.
6. Появляется диалоговое окно, которое необходимо заполнить: переменной Катет1 присвойте адрес ячейки с первым числом, а переменной Катет2 – адрес ячейки со вторым числом, и нажмите OK.
Введите приведенные ниже программы, разберитесь, что они делают и запустите их на выполнение.
Следует отметить, что запуск макросов возможен и непосредственно из среды Microsoft Visual Basic. Для этого необходимо курсор установить в область запускаемого макроса и выбрать Run -> Run Sub/UserForm или нажать клавишу F5.
Программа №1
Sub hy() user = InputBox("Who are you?") If user = "Sam" Then MsgBox "Hy, Sam!" End If L = 5 For n = 1 To L MsgBox "n=" & n Next n End Sub Программа №2
Sub Name() User = "Jerry" Do While User <> "Tom" User = InputBox("Как ваше имя?") Loop n = InputBox("Введите n ") If n > 0 Then MsgBox "n>0" Else MsgBox "n<=0" End If Select Case n Case 1 To 5 MsgBox "Между 1 и 5" Case 6, 7, 8, 9, 10 MsgBox "Между 6 и 10" Case Else MsgBox "Вне отрезка [1, 10]" End Select End Sub
Программа №3
Поиск значений в базе данных по первым буквам при вводе на листе
Private Sub TextBox1_Change() Dim x, v, txt As String, lt As Long, s As String txt = TextBox1.Text: lt = Len(TextBox1.Text) If lt = 0 Then Exit Sub ' будем искать в столбцах A:D x = Range("A1:D" & Cells(Rows.Count, 1).End(xlUp).Row).Value For Each v In x ' поиск по первым буквам If txt = Mid(v, 1, lt) Then s = s & "~" & v Next i 'For Each v In x 'поиск по любому вхождению ' If InStr(v, txt) Then s = s & "~" & v 'Next i ListBox1.List = Split(Mid(s, 2), "~") End Sub
Private Sub ListBox1_Click() If ListBox1.ListIndex = -1 Then Exit Sub Range("A:D").Find(ListBox1, lookat:=xlWhole).Select End Sub Программа №4
Сравнить данные на двух листах и выделить отличия по определенному столбцу
Option Explicit
Option Compare Text
Sub ertert()
Dim x, i&: Application.ScreenUpdating = False
With Sheets("Incident Management")
x = .Range("E1:G" & .Cells(Rows.Count, 5).End(xlUp).Row).Value
End With
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For i = 2 To UBound(x)
.Item(x(i, 1)) = x(i, 3)
Next i
With Sheets("Open Incidents")
With .Range("D1:G" & .Cells(Rows.Count, 4).End(xlUp).Row)
x = .Value
.Columns(4).Offset(1).Interior.Color = xlNone
End With
.Activate
End With
For i = 2 To UBound(x)
If .Exists(x(i, 1)) Then
If .Item(x(i, 1)) <> x(i, 4) Then Cells(i, 7).Interior.ColorIndex = 45
End If
Next i
End With
Application.ScreenUpdating = True
End Sub Программа №5
Автофильтр и расширенный фильтр
Sub ertert112()
Dim s$, r
Application.ScreenUpdating = False
With Sheets("Sheet4").Range("A1").CurrentRegion
.Parent.AutoFilterMode = False
For Each r In .Offset(1).Resize(.Rows.Count - 1).Columns(4).Value
If InStr(s, r) = 0 Then
If Not Evaluate("ISREF('" & r & "'!A1)") Then
Sheets.Add(after:=Sheets(Sheets.Count)).Name = r
Else
Sheets(r).UsedRange.ClearContents
End If
.AutoFilter 4, r
.Copy Sheets(r).Range("A1")
s = s & r
End If
Next
.AutoFilter
End With: Application.ScreenUpdating = True
End Sub Программа №6
Сортировки массивов. Быстрая сортировка (для двумерного массива)
Private Type QuickStack 'тип для QuickSort
Low As Long
High As Long
End Type
Public Sub sort_range(ByRef SortArray(), Optional ByVal col = 1)
On Error Resume Next
If UBound(SortArray, 2) > 2 Then Exit Sub
Dim i As Long, j As Long, lb As Long, ub As Long, dc&
Dim stack() As QuickStack, stackpos As Long, ppos As Long, pivot As Variant, swp, maxstack&
On Error GoTo er
lb = LBound(SortArray): ub = UBound(SortArray): dc = UBound(SortArray, 2) + 1 - col
ReDim stack(1 To 16)
stackpos = 1
stack(1).Low = lb
stack(1).High = ub
Do
lb = stack(stackpos).Low 'Взять границы lb и ub текущего массива из стека.
ub = stack(stackpos).High
stackpos = stackpos - 1
Do
ppos = (lb + ub) \ 2 'Шаг 1. Разделение по элементу pivot
i = lb: j = ub: pivot = SortArray(ppos, col)
Do
While SortArray(i, col) < pivot: i = i + 1: Wend
While pivot < SortArray(j, col): j = j - 1: Wend
If i > j Then Exit Do
' If i <> j Then
swp = SortArray(i, col): SortArray(i, col) = SortArray(j, col): SortArray(j, col) = swp
swp = SortArray(i, dc): SortArray(i, dc) = SortArray(j, dc): SortArray(j, dc) = swp
' End If
i = i + 1
j = j - 1
' End If
Loop While i <= j
If i < ppos Then 'правая часть больше
If i < ub Then
stackpos = stackpos + 1
stack(stackpos).Low = i
stack(stackpos).High = ub
End If
ub = j 'следующая итерация разделения будет работать с левой частью
Else
If j > lb Then
stackpos = stackpos + 1
stack(stackpos).Low = lb
stack(stackpos).High = j
End If
lb = i
End If
' If maxstack < stackpos Then maxstack = stackpos
Loop While lb < ub
Loop While stackpos
Exit Sub
er: ReDim Preserve stack(1 To UBound(stack) * 2)
Resume
End Sub Программа №7
Ввод номера телефона по маске
Option Explicit
Public WithEvents tbGroup As MSForms.TextBox 'используем коллекцию в качестве класса
Dim bu As Boolean, s$ 'mask 8(###) ###-##-##
Private Sub tbGroup_Change()
If bu = True Then bu = False: Exit Sub
'MsgBox tbGroup.Name
s = tbGroup.Text
Select Case Len(s)
Case 0, 1
s = "8("
Case 3, 4, 5
If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) Else Exit Sub
Case 6
If Not IsNumeric(Right(s, 1)) Then
s = Left(s, Len(s) - 1)
Else
s = Left(s, Len(s) - 1) & ") " & Right(s, 1)
End If
Case 8, 9, 10, 12, 13, 15, 16
If Not IsNumeric(Right(s, 1)) Then s = Left(s, Len(s) - 1) Else Exit Sub
Case 11, 14
If Not IsNumeric(Right(s, 1)) Then
s = Left(s, Len(s) - 1)
Else
s = Left(s, Len(s) - 1) & "-" & Right(s, 1)
End If
Case Is > 16: s = Left(s, Len(s) - 1)
End Select
bu = True: tbGroup.Value = s
End Sub Программа №8
|