Инфоурок Информатика Другие методич. материалыКурсовая работа на тему пользовательские функции VBA

Курсовая работа на тему пользовательские функции VBA

Скачать материал

Новоуренгойский филиал Профессионального образовательного учреждения

«Уральский региональный колледж»

 

 

 

 

 

 

КУРСОВАЯ РАБОТА

 

Пользовательские функции VBA

 

МДК 01.02 ПРИКЛАДНОЕ ПРОГРАММИРОВАНИЕ

 

09.02.03 Программирование в компьютерных системах

 

Обучающегося гр. П-370           ________          Кутепова Даниила Геннадьевича

16.11.2020

 

Оценка за выполнение и защиту курсовой работы                         _____________

 

Проверил                                   __________          Карасова Аида Абдулкадыровна

21.11.2020

 

 

 

 

 

Новый Уренгой, 2020

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ                                                                                                3

1.АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ                                                           4

1.1 Программирование базы данных на VBA                                  6

1.2 Среда разработки VBA (Visual Basic for Applications                               7

1.3 Типы данных в языке VBA                                                                          9

1.4 Функции языка VBA                                                                                    9

2. КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ                                              11

2.1. Пользовательские функции VBA                                                              11

 2.2. Создание пользовательской функции VBA                                            15

2.3. Пользовательские функции в расчетах                                                    16

ЗАКЛЮЧЕНИЕ                                                                                                 18

СПИСОК ЛИТЕРАТУРЫ                                                                                19

 

 

Введение

 

В своей курсовой работе я расскажу о пользовательских функциях и их создания в Visual Basic for Applications.

Целью курсовой работы является изучение программирования базовых алгоритмов на языке Visual Basic for Applications (MS Excel), получение знаний и навыков по работе с объектами в офисных программах MS Excel и MS Word.

Для достижения цели были проставлены следующие задачи:

1. Рассмотреть предметную область.                                                                                                                                   2. Определить назначение пользовательских функций.                                                                                3. Показать технологию создания пользовательских функций.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.Анализ предметной области

VBA (Visual Basic for Applications) — это диалект языка Visual Basic, расширяющий возможности Visual Basic и предназначенный для работы с приложениями Microsoft Office и другими приложениями от Microsoft и третьих фирм.

В принципе, как это не удивительно, при программировании в Office можно вполне обойтись без языка VBA. Подойдет любой COM-совместимый язык, например, обычный Visual Basic, VBScript, JScript, C++, Delphi, Java и т.п. Можно использовать и .NET-совместимые языки программирования — VB.NET, C# и т.п. Все возможности объектных моделей приложений Office вполне можно будет использовать. Например, если сохранить следующий код в файле с расширением *.vbs и запустить его на выполнение, то будет запущен Word, в нем открыт новый документ и впечатан текст:

Главная причина проста — язык VBA встроен в приложения Office (и не только), и код на языке VBA можно хранить внутри документов приложений Office — документах Word, книгах Excel, презентациях PowerPoint и т.п. Конечно же, этот код можно запускать оттуда на выполнение, поскольку среда выполнения кода VBA (на программистском сленге — хост) встроена внутрь этих приложений.

В настоящее время VBA встроен:

•        во все главные приложения MS Office — Word, Excel, Access, PowerPoint, Outlook, FrontPage, InfoPath;

•        в другие приложения Microsoft, например, Visio и M icrosoft Project;

•        в более чем 100 приложений третьих фирм, например, CorelDraw и CorelWordPerfect Office 2000, AutoCAD и т.п.

У VBA есть также множество других преимуществ:

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

•        создавать полноценные приложения на Visual Basic (поскольку эти языки — близкие родственники);

•        использовать все возможности языка VBScript (это — вообще урезанный VBA). В результате в вашем распоряжении будут универсальные средства для создания скриптов администрирования Windows (об этом — в конце курса), для создания Web-страниц (VBScript в Internet Explorer), для создания Web-приложений ASP, для применения в пакетах DTS и заданиях на MS SQL Server, для создания серверных скриптов Exchange Server и многое-многое другое.

VBA изначально был ориентирован на пользователей, а не на профессиональных программистов (хотя профессионалы пользуются им очень активно), поэтому создавать программы на нем можно очень быстро и легко. Кроме того, в Office встроены мощные средства, облегчающие работу пользователя: подсказки по объектам и по синтаксису, макрорекордер и т.п.

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

Несмотря на то, что часто приложения VBA выполняются медленнее, чем бы вам хотелось, они не ресурсоёмки и очень хорошо работают, например, на сервере терминалов. Но, как правило, для программ на VBA особых требований про производительности и нет: для написания игр, драйверов, серверных продуктов они не используется. По моему опыту, чаще всего проблемы с производительностью VBA-приложений — это не проблемы VBA, а проблемы баз данных, к которым они обращаются. Если проблемы действительно в VBA (обычно тогда, когда вам требуется сложная математика), то всегда есть возможность написать важный код на C++ и обращаться к нему как к обычной библиотеке DLL или встраиваемому приложению (Add-In) для Word, Excel, Access и т.п.

Программы на VBA по умолчанию не компилируются и поэтому вносить в них исправления очень удобно. Не нужно разыскивать исходные коды и перекомпилировать программы.

В среде программистов-профессионалов считается, что самый короткий путь "с нуля" и программ типа "Hello, World" до профессиональных программ, которые делаются под заказ — именно через связку Office- VBA (а конечно, не через C++, Java или Delphi).

1.1 Программирование базы данных на VBA.

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

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

Хотя эта программа и предназначена для выполнения различных функций с базами данных, Access нельзя назвать ядром базы данных. Access- это "клиент" (front end), который показывает вам, какие именно команды и данные доступны, а также воспринимает ваши инструкции по отношению к информации, такие как ее изменение, добавление или удаление. Все эти инструкции передаются серверной части (back end) СУБД.

Стандартным ядром баз данных для Access является Microsoft Jet. Стандартные файлы баз данных Access (вы всегда сможете определить их по расширению .mdb) на самом деле являются файлами Jet. Работая через Jet, другие инструменты разработки, такие как Visual Basic, могут получить из файлов баз данных все необходимые сведения.

Jet - предназначено для обслуживания индивидуальных пользователей и небольших рабочих групп. Для решения более серьезных задач, уровня предприятия, например, предназначены другие ядра баз данных. Сюда относятся еще один программный продукт компании Microsoft - SQL Server, а также предложения от других ведущих поставщиков, таких как Oracle и Informix. Версия SQL Server для разработчика, которая называется SQL Server 2000 Desktop Engine, поставляется в составе Access 2002. Она позволяет вам разрабатывать базирующиеся на технологиях SQL Server приложениях баз данных прямо на своем компьютере, а затем передавать их "настоящей" версии SQL Server, работающей в сети.

В любом случае, всегда можно запутаться, когда дело касается программного обеспечения клиентной и серверной частей СУБД. Работая с Access или любым другим VBА -приложением, вы можете взаимодействовать с различными ядрами баз данных, руководствуясь прежде всего вашими конкретными потребностями. Access предоставляет больше возможностей программисту баз данных, но вы можете использовать Word, CorelDraw или любое другое поддерживающее VBA приложение, и получить при этом не менее превосходные результаты.

1.2 Среда разработки VBA (Visual Basic for Applications)

Из всего множества различных алгоритмически полных языков программирования в данном курсе рассматривается ориентированный на офисное программирование язык Visual Basic (VB). Более трёх десятилетий тому назад фирма Microsoft приняла решение оснащать популярные офисные приложения – такие как MS Excel, MS Word и другие – встроенными средствами высокоуровневого программирования. С помощью этого программирования предполагалось создавать так называемые макросы (макрокоманды). Назначение этих макросов – повысить функциональные возможности электронных таблиц Excel или документов Word. Макросы – это дополнительные инструменты, не входящие в стандартный арсенал приложений MS Excel, MS Word и других, которые позволяют более гибко, наглядно и быстро решать те или иные офисные задачи. Простой пример: в бухгалтерское приложение могут быть добавлены кнопки, позволяющие переводить денежные величины, представленные в цифровой форме, в форму «прописи», и наоборот (23 133 500 р. 40 к.<=> «двадцать три миллиона сто тридцать три тысячи пятьсот рублей 40 коп.). В современных версиях указанных приложений фирмы Microsoft используется язык VBA (Visual Basic for Applications) – ставший классическим диалект языка VB6 [1], разработанного этой фирмой в конце 90-х годов для создания автономных Windows-приложений. В языке VBA (в отличие от VB6) отсутствуют многие возможности, необходимые для автономных приложений, например, графика. Эти возможности с лихвой заменяются собственным богатым арсеналом средств указанных приложений, не требующих никакого программирования, средств построения 2D и 3D диаграмм. Но программирование может понадобиться даже в случае работы со «стандартным арсеналом», например, если появится необходимость нестандартным способом управлять указанными диаграммами: вращать их, динамично изменять параметры функций и т.д.

 

1.3 Типы данных в языке VBA

Можно утверждать, что в большинстве случаев на языке VBA for Excel, VBA for Word и т.д. создаются программы, оформляемые как макрокоманды (макросы), предназначенные для обработки данных. Данные могут быть разного типа – как числового, так и нечислового. При этом, как правило, невозможно производить действия, предназначенные для данных одного типа, для данных другого типа. Например, нельзя применять арифметические операции к данным строкового типа; нельзя применять логические операции к числовым данным. Впрочем, «неожиданно» можно, например, удачно применить арифметическую операцию сложения не к числам, а к датам. Бывает и так, что результат какого-то действия выходит за пределы диапазона возможных значений, определяемых типом этого результата. Поэтому перед началом преобразования алгоритма в программу важно внимательно изучить используемые в языке VBA типы данных.

1.4 Функции языка VBA

Функция в программировании, или подпрограмма — фрагмент программного кода, к которому можно обратиться из другого места программы. В большинстве случаев с функцией связывается идентификатор, но многие языки допускают и безымянные функции. С именем функции неразрывно связан адрес первой инструкции (оператора), входящей в функцию, которой передаётся управление при обращении к функции. После выполнения функции управление возвращается обратно в адрес возврата — точку программы, где данная функция была вызвана.

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

Функция должна быть соответствующим образом объявлена и определена. Объявление функции, кроме имени, содержит список имён и типов передаваемых параметров (или: аргументов), а также, тип возвращаемого функцией значения. Определение функции содержит исполняемый код функции. В одних языках программирования объявление функции непосредственно предваряет определение функции, в то время как в ряде других языков необходимо сначала объявить функцию, а уже потом привести её определение.

В языке VBA существует несколько видов выражений и функций. Здесь же будет рассмотрен только один вид выражений, которые называются строковыми (или текстовыми), функции обработки строк и маленькое подмножество так называемых системных функций: функция InputBox – ввода данных пользователем, а также функция MsgBox – выдачи сообщения пользователю. Отметим, что функция MsgBox может использоваться не только как функция, но и как встроенная процедура.

 


 

2. КОНЦЕПТУАЛЬНОЕ ПРОЕКТИРОВАНИЕ

2.1 Пользовательские функции VBA

Пользовательские функции (как и макросы) записываются на языке программирования Visual Basic для приложений (VBA). Они отличаются от макросов двумя вещами. Во-первых, в них используются процедуры Function, а не Sub. Это значит, что они начинаются с оператора Function, а не Sub, и заканчиваются оператором End Function, а не End Sub. Во-вторых, они выполняют различные вычисления, а не действия. Некоторые операторы (например, предназначенные для выбора и форматирования диапазонов) исключаются из пользовательских функций. Для создания функций и макросов используется редактор Visual Basic (VBE), который открывается в отдельном окне, (рис. 1)

(рис. 1). Редактор VBA

 

2.2 Пользовательские функции в расчетах.

- Выделить ячейку для результата на листе Excel.

- На вкладке “Формулы” [Formulas], вставить функцию [Insert Function].

- Выбрать категорию определенные пользователем, [User Defined] и найти в ней функцию.

- Заполнить аргументы функции, ОК.

(рис. 2). Пользовательская функция

Использование пользовательских функций в рабочих листах.

1.     Набрать имя функции;

2.     Public VBA function used in WorksheetВывод intellisense.(рис.3)

 

 

 

 

                               (рис. 3) Вывод intellisense

Для того, чтобы функция отображалась на рабочем листе, она должна быть функцией Public. Также можно использовать диалоговое окно «Вставить функцию» для вставки пользовательской функции. Это будет работать только для публичных функций. На вкладке «Данные», нажать «Вставить функцию».(рис. 4)

Insert Function option in the ribbon

(рис 4) Панель инструментов

Insert User Defined Function in Worksheet - dilaog boxВ диалоговом окне «Вставка функции» выберите «Определено пользователем» в качестве категории. Эта опция отображается только тогда, когда есть функция в редакторе VB (и функция Public).(рис.5)

 

 

 

 

 

 

 

      (рис. 5) Диалоговое окно

 

 

 Выбрать функцию из списка всех общедоступных пользовательских функций. Нажать кнопку ОК вышеуказанные шаги вставят функцию в лист. Он также отображает диалоговое окно «Аргументы функции», которое предоставит подробную информацию об аргументах и результате. (рис.6)

Information dialog box when you insert the Function

(рис.6) Итоговое диалоговое окно.

2.3 Создание пользовательской функции VBA.

 Для создания функции VBA необходимо выполнить следующие шаги:

1.     Объявить процедуру как функцию;

2.      Определить ее аргументы и их тип данных;

3.      Добавить код для расчета желаемого значения;

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

Прежде всего, нужно открыть редактор VB с помощью сочетания клавиш ALT + F11 или перейти на вкладку «Разработчик» и нажать кнопку «Visual Basic». (рис. 7)

откройте редактор vb для написания кода

         (рис.7. Панель инструментов)

Вставка модуля: щелкнуть правой кнопкой мыши в окне проекта VBA, затем перейти к Insert и после этого нажать «Module». (рис. 8)

добавить модуль в редакторе VBA, чтобы написать ПФ

 

 

 

 

 

(рис. 8. Module)

Следующим шагом является определение имени для функции, с помощью функции «myDayName». У меня получилось «Function mydayName». (рис. 4)



 

написать имя пользовательской функции VBA

 

 

(рис. 9). Function mydayName

Поскольку происходит создание функцию VBA, то используется слово «Function». Excel понимает, что этот код следует рассматривать как функцию.

следующий шаг для добавления аргумента в пользовательскую функциюПосле этого, нужно определить аргументы для пользовательской функции. Нужно открыть начальные скобки «InputDate As Date». (рис. 10)



 

 

(рис. 10) Функция InputDate As Date

InputDate — имя аргумента, а date — тип данных. В первую очередь определить тип данных для аргумента.

При закрытии скобки «As String». Определяется тип данных результата, возвращаемого функцией. Так как нужно, чтобы название дня недели было текстовым, его тип данных должен быть «String». (рис. 11)

после этого определить тип данных для ПФ

 

 

(рис. 11) Функция string.

На этом этапе имя функции, ее аргумент, тип данных аргумента и тип данных функции определены. (рис. 12)

Пользовательская функция VBA после определения аргументов имени

(рис. 12) Определение функции.

 «Function» и «End Function» нужно составить расчет.

В Excel есть функция рабочего листа под названием «Text», нужно использовать ее здесь. Для этого поможет следующий код:

1 MyDayName = WorksheetFunction.Text (InputDate, “dddddd”).

после написания кода для использования в пользовательской функции vba

С помощью этого кода определяется значение, которое должно быть возвращено функцией. (рис. 13)

(рис. 13) Реализация функции.

вставьте свою собственную функцию VBA в лист

 Закрывается редактор VB и возвращает к рабочему листу. В ячейке B2 я ввел «= myDayName (A2)», Enter,  название дня недели. (рис. 14)

(рис. 14) Результат функции.

Заключение

В данной работе приведён пример базовых алгоритмов на языке Visual Basic for Applications (MS Excel), получены знания и навыки по работе с объектами в офисных программах MS Excel и MS Word.

Для этого были решены следующие задачи:

1. Рассмотреть предметную область.                                                                                                                                   2. Определить назначение пользовательских функций.                                                                                3. Показать технологию создания пользовательских функций.

Источниками информации для раскрытия данной темы послужили методические пособия и другие.

VBA - это инструмент, управляемый событиями, что означает, возможность использовать его, чтобы сообщить компьютеру, что нужно инициировать действие или последовательность действий. При тестировании задач  не было обнаружено ошибок и недочётов. В следствии этого можно сделать выводы, что поставленные цели и задачи были выполнены, навыки изучены и закреплены.

 


 

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

1.     https://excelpedia.ru/makrosi-v-excel/sozdanie-polzovatelskoj-funkcii

2.     https://support.microsoft.com/ru-ru/office/создание-пользовательских-функций-в-excel-2f06c10b-3622-40d6-a1b2-b6748ae8231f

3.     https://www.planetaexcel.ru/techniques/3/59/

4.     https://baguzin.ru/wp/polzovatelskie-funktsii-vba/

5.     https://astarcode.ru/?yclid=6765227525692745548

6.     https://www.cyberforum.ru/vba/thread1009889.html

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Курсовая работа на тему пользовательские функции VBA"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Психолог-перинатолог

Получите профессию

Няня

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 670 648 материалов в базе

Материал подходит для УМК

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 10.01.2021 1074
    • DOCX 263 кбайт
    • 17 скачиваний
    • Оцените материал:
  • Настоящий материал опубликован пользователем Кутепов Даниил Геннадьевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Кутепов Даниил Геннадьевич
    Кутепов Даниил Геннадьевич
    • На сайте: 4 года и 2 месяца
    • Подписчики: 0
    • Всего просмотров: 1456
    • Всего материалов: 2

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

HR-менеджер

Специалист по управлению персоналом (HR- менеджер)

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Информатика: теория и методика преподавания с применением дистанционных технологий

Учитель информатики

300 ч. — 1200 ч.

от 7900 руб. от 3650 руб.
Подать заявку О курсе
  • Сейчас обучается 20 человек из 12 регионов
  • Этот курс уже прошли 18 человек

Курс повышения квалификации

Методика преподавания информатики в начальных классах

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Этот курс уже прошли 67 человек

Курс профессиональной переподготовки

Управление сервисами информационных технологий

Менеджер по управлению сервисами ИТ

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 19 регионов
  • Этот курс уже прошли 34 человека

Мини-курс

Эволюция и современное состояние искусства

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Самоповреждающее поведение у подростков: профилактика и методы работы

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 26 человек из 17 регионов

Мини-курс

Медико-педагогические аспекты обучения и тренировки

2 ч.

780 руб. 390 руб.
Подать заявку О курсе