Добавлен: 05.04.2023
Просмотров: 550
Скачиваний: 9
Основными понятиями и терминами языка VBA являются:
• атрибут – характеристика, назначенная элементу класса (например, свойству или методу);
• класс – определение структуры и поведения объектов определенного типа;
• конструктор – особый метод, который вызывается при создании экземпляра класса;
• тип данных – определенные виды данных, которые VBA сохраняет и которыми может манипулировать;
• оператор «точка» – знак точки (.), который служит для указания того, что имя относится к дочернему элементу объекта (например, к свойству или методу);
• экземпляр класса – фактический объект, созданный в программе.
Основными принципами объектно-ориентированного программирования являются инкапсуляция, наследование и полиморфизм.
Инкапсуляция представляет собой объединение данных и свойственных им процедур обработки в одном объекте. В результате пользователь взаимодействует с интерфейсом, не сталкиваясь с реализацией программного компонента.
Наследование – создание новых классов на базе существующих с частично или полностью заимствующейся функциональностью.
Полиморфизм предоставляет возможность объектам с одинаковой спецификацией иметь различную реализацию. Элементы проекта языка VBA независимо от приложения, в котором создается проект (MS Word, MS Excel, MS Access и т. д.), язык VBA включает в себя интегрированную среду разработки – редактор Visual Basic. [15, с.5-7]
Интегрированная среда разработки VBA представлена приложением, называемым редактор Visual Basic, который активизируется командой Сервис —> Макрос —> Редактор Visual Basic или нажатием комбинации клавиш Alt + F11.
Окно редактора VBA включает следующие основные элементы: строка меню, панель инструментов, окна: проект, свойства, редактирование кода, конструктор форм.
Программа не является самостоятельным структурным элементом в иерархии объектов языка VBA, поэтому редактор VBА распознает по именам не программы, а процедуры, модули и проекты.
Процедура представляет собой именованную последовательность совместно выполняемых инструкций (операторов).
Модуль – именованная единица, состоящая из одной или нескольких процедур, или раздела, в котором объявляются переменные, константы, пользовательские типы данных, а также устанавливаются параметры компилятора.
Проект включает в себя все модули, формы и связанные с приложением объекты, относящиеся к конкретному документу, причем проект сохраняется вместе с этим документом.
Наименьшей единицей VBA-кода является оператор. Он предназначен для определения переменной, установки параметров или выполнения какого-либо действия в программе.
Для выполнения программного кода в редакторе VBA используется команда Run —> Run Sub / UserForm либо кнопка Run Sub / UserForm на панели инструментов, либо функциональная клавиша F5.
Кроме того, для правильной работы книг, содержащих разработанные пользователем программы на языке VBA, необходимо изменить уровень безопасности на «средний», воспользовавшись командой Сервис —> Макрос —> Безопасность. [11, с.12]
В данной главе были рассмотрены популярные языки программирования по результатам аналитики голландской компании TIOBE Software. Языки: C#, JavaScript, Python входят в ТОП-7 в рейтинге по состоянию на сентябрь 2019 года. VBA был включен в список для рассмотрения с целью обучения программированию и применением его в практической части данной курсовой работы
ГЛАВА 3. ПРАКТИЧЕСКАЯ ЧАСТЬ
3.1 Постановка задачи.
АО «Кселл» является оператором сотовой связи. Отделу по обслуживанию корпоративных клиентов необходимо делать ежедневную рассылку на электронные адреса контактных лиц компаний. В письме должен быть прикреплен excel файл с абонентскими номерами, которые подлежат удалению из базы данных, по причине их длительного неиспользования.
Необходимо в среде VBA написать код, который будет по БИНу (бизнес-идентификационный номер) фильтровать нужную компанию и формировать письмо в программе Microsoft Outlook.
3.2 Анализ источника данных.
Список номеров для отправки на электронный адрес, сформирован в таблице, в формате «.xlsx», где:
msisdn – номер абонента (Mobile Subscriber Integrated Services Digital Number)
subscriber_name – наименование компании
bin – БИН (бизнес-идентификационный номер)
email – адрес электронной почты
|
bin |
subscriber_name |
msisdn |
|
|
1111111 |
ТОО "Ромашка" |
1234567 |
|
|
1111111 |
ТОО "Ромашка" |
1234568 |
|
|
1111111 |
ТОО "Ромашка" |
1234569 |
|
|
1111111 |
ТОО "Ромашка" |
1234560 |
|
|
1111111 |
ТОО "Ромашка" |
1234561 |
|
|
1111111 |
ТОО "Ромашка" |
1234559 |
|
|
1111111 |
ТОО "Ромашка" |
1234557 |
|
|
2222222 |
ТОО "ABC" |
1234555 |
|
|
2222222 |
ТОО "ABC" |
1234553 |
|
|
2222222 |
ТОО "ABC" |
1234551 |
|
|
3333333 |
АО "Макрос" |
1234549 |
|
|
3333333 |
АО "Макрос" |
1234547 |
Рисунок 4. Номера, подлежащие удалению
-
- Алгоритм решения задачи. Написание кода в среде VBA.
Необходимо создать файл с поддержкой макросов в формате «.xlsm», называем его «delete.xlsm».
Для отправки файла, с номерами на удаление, определенному клиенту из исходной таблицы необходимо сформировать сводную таблицу, на листе «Pivot», в которой настроить фильтр по полю «bin»:
Рисунок 5. Поля сводной таблицы
Присваиваем таблице имя «Numbers». В ячейке С1 пишем формулу со ссылкой на название отфильтрованной компании из сводной таблицы:
С1="Нижеуказанные номера, оформленные на компанию "&$A$6 & " подлежат удалению:"
Рисунок 6. Таблица «Numbers»
В книге Excel создаем лист, называем его «Glossary». В ячейку А1 вставлякм заранее согласованный текст, который будет вставлен в окно MS Outlook: «Добрый день. Запрашиваемый перечень номеров во вложенном файле.». В ячейку В2, делаем ссылку на поле сводной таблицы из листа «Pivot», со ссылкой на электронный адрес компании.
Открываем «Разработчик» в панели управления, создаем «Module1», где пишем код:
Sub outlook()
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim pt As PivotTable
Dim Field As PivotField
Dim bin As String
Dim name As String
Dim email As String
Dim body As String
Dim Path As String
bin = Workbooks("Delete.xlsm").Sheets("Report").Range("D5")
name = Workbooks("Delete.xlsm").Sheets("Glossary").Range("B1")
email = Workbooks("Delete.xlsm").Sheets("Glossary").Range("B2")
body = Workbooks("Delete.xlsm").Sheets("Glossary").Range("A1")
Application.ScreenUpdating = False
Application.EnableEvents = False
Workbooks("Delete.xlsm").Sheets("Pivot").Visible = True
Workbooks("Delete.xlsm").Sheets("Report").Visible = True
Workbooks("Delete.xlsm").Sheets("Glossary").Visible = True
Workbooks("Delete.xlsm").Sheets("Pivot").Activate
ActiveSheet.PivotTables("Numbers").PivotFields("bin").ClearAllFilters
Set pt = ThisWorkbook.Sheets("Pivot").PivotTables("Numbers")
Set Field = pt.PivotFields("bin")
Field.CurrentPage = bin
Workbooks("Delete.xlsm").Sheets("Pivot").Range("C:C").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Set NewWorkbook = Workbooks.Add
NewWorkbook.Windows(1).Caption = bin
Selection.PasteSpecial Paste:=xlPasteValues
Selection.PasteSpecial Paste:=xlPasteFormats
ActiveWorkbook.Sheets("Sheet1").Range("A:A").ColumnWidth = 112
ActiveWorkbook.Sheets("Sheet1").Rows("1:1").Select
Selection.EntireRow.AutoFit
Application.ScreenUpdating = True
Application.EnableEvents = True
Dim outlook As Object
Dim outlookMail As Object
Set OutlookApp = CreateObject("Outlook.application")
Set outlookMail = OutlookApp.CreateItem(0)
With outlookMail
.To = email
.CC = ""
.BCC = ""
.Subject = "Номера на удаление" & name
.body = body
.Attachments.Add Path & "\" & bin & ".xlsx"
.Display
End With
Set OutMail = Nothing
Set OutApp = Nothing
ActiveWorkbook.Close saveChanges:=False
Workbooks("Delete.xlsm").Sheets("Pivot").Visible = False
Workbooks("Delete.xlsm").Sheets("Glossary").Visible = False
End Sub
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы был изучен теоретический материал по современным языкам программирования, история развития языков программирования, основные понятия и классификация языков программирования.
Был сделан обзор наиболее популярных по состоянию на 2019 год языков программирования. Для изучения были выбраны языки: C#, JavaScript, Python и VBA. В результате проведенного исследования в практической части данной курсовой работы был применен язык программирования VBA.
В практической части в среде VBA я написала код, с помощью которого формируется письмо для клиента АО «Кселл», с вложением электронной таблицы со списком номеров. Также в практической части были применены такие возможности MS Excel как:
- Формулы
- Сводная таблица
Опираясь на изученный материал, можно сделать следующие выводы:
Технологии программирования – это процесс написания упорядоченного набора инструкций, алгоритмов для ЭВМ. Они указывают процессору, какие действия и вычисления им необходимо производить и в какой последовательности.
Профессия программиста на сегодняшний день крайне популярна, так как любое предприятие заинтересованно в том, чтобы экономить рабочую силу и время путем автоматизации основных процессов жизнедеятельности организации.
Из исследования истории развития языков программирования ясно, что в современном мире языки программирования развиваются стремительно быстро. Из этого следует вывод, что программистам сегодня важно обучаться и изучать современные языки программирования на постоянной основе.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Программирование: учебное пособие / В. М. Зюзьков. - Томск: Эль Контент, 2013. -186 с.
2. Введение в программирование: учебное пособие / Т. И. Волкова. - Москва; Берлин: Директ-Медиа, 2018. - 138 с.
3. Программирование на C# [Электронный ресурс]: учебное пособие в 2 ч. / В. В. Дубровин. - Тамбов: Изд-во ФГБОУ ВО «ТГТУ», 2017. - 81 с.
4. Язык C#: краткое описание и введение в технологии программирования: учебное пособие / О. М. Котов. - Екатеринбург: Изд-во Урал. ун-та, 2014. - 208 с.
5. JavaScript. Подробное руководство, 6-е издание. - Пер. с англ. / Флэнаган Д. - СПб: Символ-Плюс, 2012. -1080 с.
6. Технологии разработки Internet-приложений: учебное пособие / Е. В. Крахоткина. - Ставрополь: Изд-во СКФУ, 2016. - 124 с.