Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Обзор языков программирования высокого уровня (Редактор приложений в VBA)

Содержание:

ВВЕДЕНИЕ

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

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

Для функционирования большого количества графических программ реального времени в нынешний день требуется специальное программное обеспечение:

– библиотека графических компонентов;

– среда визуального программирования.

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

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

В курсовой работе поставлены задачи:

– рассмотреть историю появления алгоритмических языков программирования;

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

Объектом исследования считается инструментальное обеспечение персонального компьютера.

Предметом исследования являются современные языки программирования.

Развитием теоретических, а также практических направлений языков программирования занимались как отечественные, так и зарубежные программисты, к примеру: Королюк В.С., Е.Голдингс, Б.Стаустрап, С.Прата и другие.

1. РАЗВИТИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ, ИХ КЛАССИФИКАЦИЯ

1.1 История развития языков программирования

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

Стоит отметить, что все языки программирования – ограничены числом служебных слов, а также строгими правилами записи управляющих операторов (команд). Также, при их применении не допускается свободное их толкование.

История ЯП началась с непосредственной разработки машинного языка – такого языка, который состоит с нулей и единиц. При этом запись на таком языке была утомительной.

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

Программисты называют язык ассемблер – языком программирования так называемого низкого уровня, так как он близок к непосредственному машинному языку – ЯП самого низкого уровня. [13]

Заметим, что все программ, которые написаны ассемблере зависят от характеристик процессора, поэтому его также называют машинно-ориентированным ЯП (рисунок 1).

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

Результат пошуку зображень за запитом "Пример кода на Ассемблере"

Рисунок 1 – Пример кода на Ассемблере

Вскоре возникла острая необходимость создания более новых и совершенных ЯП, которые бы напоминали программистам естественные языки, а также позволяли бы напрямую не работать с машинными командами. Такие языки называются высокоуровневыми ЯП.

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

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

Заметим, что в программе-трансляторе "заложены" практически все правила алгоритмического ЯП и способы преобразования разных его конструкции в машинный язык.

Заметим, что существуют 2 способа трансляции:

1. Компиляция – метод выполнения программных продуктов, при котором инструкции для программы выполняются лишь в том случае, когда собран перевод практически всего текста написанной программы.[11]

2. Интерпретация – метод выполнения программного средства, при котором инструкции переводятся и выполняются сразу.

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

Но при этом очевидны и некоторые недостатки, а именно дополнительное время, память для трансляции.

В 1953 г. началась разработка самого первого компилятора для языка высокого уровня. После 2-х лет работы был создан язык под названием Fortran. В языке имелись специальные средства, которые значительно упрощающие разработку, но программирование на Fortran  собой представляло задачу непростую, а именно, понимаемый в программах код на С++, данный язык становился нечитаемым, поскольку дело касалось малых программ. Однако данный успех язык определенный вид.

Проблема решилась после изобретения языков структурного программирования : появились программные блоки, независимые подпрограммы, поддержка рекурсии и локальных переменных, отсутствие оператора безусловного перехода (GoTo) - в общем, возможности разбиения программы на составляющие элементы.

В течение небольшого времени было создано большое количество новых ЯП:

– Algol (1957);

– Cobol (1958);

– Basic (1964).

Однако совсем немногие с них были структурированными. [7]

Кроме указанных выше ЯП создано много специализированных языков, к примеру:

– Prolog;

– Lisp;

– Forth.

Особое внимание занимает язык Pascal (1969) (назван в честь Блеза Паскаля), который использовался для обучения и для решения многих задач различной сложности (рисунок 2).

Результат пошуку зображень за запитом "паскаль"

Рисунок 2 – Программный код языка Паскаль

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

Это приводило к его широкой распространенности, поскольку даже сейчас его активно используют в школах и ВУЗах.[1]

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

Стоит отметить, что широкие возможности, структурированность, относительная простота изучения дали ему возможность быстро завоевать признание (рисунок 3).

Результат пошуку зображень за запитом "си язык"

Рисунок 3 – Сравнения синтаксиса языков Паскаль и С

В 70-х г.г 20 ст. были создана база нового объектно-ориентированного программирования (ООП). ООП возникло при развитии идеологии популярного на то время процедурного программирования, где подпрограммы (процедуры, функции) и данные их обработки не связаны формально. Основными понятиями ООП считаются:

– Объект – экземпляр класса или сущность в пространстве вычислительной системы, которая появляется при создании экземпляра определенного класса.[17]

– Класс – это модель объекта, который еще не существует. Фактически он описывает само устройство объекта, в некотором роде являясь его схемой.

– Абстракция – это придание объекту характеристик, что чётко определяют все его границы, отличая от других объектов. Главная идея состоит в том, чтоб отделить способ применения составных объектов данных от отдельных деталей их реализации.

Также очень широко используются понятия:

– наследование;

– полиморфизм;

– инкапсуляция.

С появлением технологии WWW, Интернет приобрел огромную популярность. Было создано очень много вспомогательных ЯП для работы с ним, оформления сайтов и т.д.

1.2. Классификации ЯП

Все языки ЯП классифицируются по 4 основным признакам:

– логические;

– процедурные;

– объектно-ориентированные;

– функциональные.

Процедурным программированием является такой вид программирования, для которого программа состоит с последовательности инструкций.[19]

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

В так называемых декларативных ЯП производится построение какой-то системы или структуры, объявляются (декларируются) разные свойства создаваемого объекта.

К объектно-ориентированным ЯП можно отнести языки, в которых специальные функции и переменные можно сгруппировать в специальные конструкции, которые называются классами. Благодаря этому разработчики достигают высокого уровня структуризации ПО.

Сетевыми языками называются языки, которые предназначаются для организации взаимодействия ПК, которые подключены в некоторой локально-вычислительной сети.

Они построены на принципах интерпретации, а именно, интерактивной, построчной обработки кода программы, которые описывают сценарий сетевого взаимодействия ПК. [14]

Машинно-ориентированные ЯП – языки, разные изобразительные средства, а также наборы операторов которых во многом зависят от архитектуры ПК. Такие языки программирования имеют возможность использовать практически все особенности машинно-зависимых языков программирования.

Машинно-независимые языки – это средство описания алгоритмов разного рода задач и информации, что подлежат обработке. Их очень удобно использовать для огромного круга программистов, они также не требуют знания всех особенностей архитектуры ПК.

Такие языки часто называют высокоуровневыми. Также все командные последовательности (а именно, подпрограммы, процедуры), что часто применяются в машинных программах, будут представляться отдельными операторами в рассматриваемых высокоуровневых языках. Программист при этом получил возможность сосредоточиться непосредственно на особенностях алгоритма, а не описывать на уровне машинных команд весь исследуемый вычислительный процесс.

С расширением направления применения вычислительной техники появилась необходимость формализовать постановку различных классов задач.

Причем необходимо создавать такие ЯП, которые позволили бы описывать требуемые алгоритмы, которые ориентированы решение конкретных проблем. [2]

К примеру, к проблемным ЯП относятся:

– Алгол;

– Слэнг;

– Снобол и т.д.

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

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

2. ХАРАКТЕРИСТИКА СОВРЕМЕННЫХ ЯП ВЫСОКОГО УРОВНЯ

2.1. Основы визуального программирования

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

Данный факт сильно противоречит традиционным текстовым ЯП, где такие структуры закодированы в разные одномерные строки при помощи достаточно сложного синтаксиса. [18]

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

Языки, которые используются для визуального программирования могут дополнительно классифицироваться в зависимости от вида и степени визуального отображения, на такие типы:

– языки на базе объектов, когда визуальная среда для программирования предоставляет символьные или графические элементы, которыми легко можно манипулировать интерактивным методом в соответствии с правилами;

– языки, в интегрированных средах разработки которых применяются формы для настройки их свойств. К примеру: Delphi, C++ Builder и другие;

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

Визуально-преобразованные ЯП являются невизуальными ЯП с наложенным на них визуальным представлением (к примеру, среда Visual C++).

Естественно-визуальные ЯП имеют неотъемлемое графическое выражение, для которого практически нет очевидного текстового образца (к примеру, графический язык G при использовании его в среде LabVIEW). [9]

Главной единицей визуального программирования для Delphi или C++Buider является визуальный компонент, который представляет собой разновидность программного объекта, который можно переносить (агрегировать) непосредственно в приложение с специальной Палитры компонент.

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

Все компоненты бывают не визуальными и визуальными. Первые предназначены для выполнения организации интерфейса пользователя. Это:

– кнопки;

– статический текст;

– списки;

– редактируемый текст;

– разные изображения и другое.

Такие компоненты отображаются при непосредственном выполнении разрабатываемого приложения.

Также применяются и не визуальные компоненты, которые отвечают за доступ непосредственно к системным ресурсам, а именно: [6]

– драйверам БД;

– таймерам и т.п.

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

Форма – визуальная компонента, которая обладает свойством окна Windows.

Стоит отметить, что при разработке на форме можно поместить необходимые компоненты (к примеру, элементы требуемого диалога).

Форм в приложении может быть несколько. Их количество вычисляется по требуемому числу нужных диалоговых окон, их можно также добавлять и удалять.

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

При этом, исходя из поставленных ранее целей, решаются такие задачи:

– создание средств, которые позволяют пользователю собирать программы;

– обеспечение пользовательского интерфейса взаимодействия компонент;

– организация упрощенного проектирования непосредственно на основании алгоритмических примитивов.

2.2. Язык программирования VBA

VBA – это относительно легкий ЯП. Он прост в непосредственном освоении и позволяет получать быстро ощутимые результаты, то есть конструировать профессиональные приложения, которые решают практически все задачи, которые есть в среде Windows.

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

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

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

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

VBA относится к ЯП объектно-ориентированного программирования. VBA не является так называемым объектно-ориентированном языком в классическом понимании этого слова, но объектный подход в нем играет большую роль.

Практически все визуальные объекты:

– как рабочий лист;

– диапазон;

– диаграмма;

– форма,

являются объектами. В ЯП VBA есть более 100 встроенных визуальных объектов.

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

Каждый элемент семейства может быть пронумерован и может идентифицироваться или по номеру, или по имени. К примеру, worksheets (1) обозначает 1 рабочий лист книги, a worksheets ("Лист1") – это рабочий лист с название «Лист1». [12]

Объектная библиотека VBA использует более 100 разных объектов, которые находятся на разных уровнях иерархии. Иерархия указывает связь между разными объектами и показывает при этом пути непосредственного доступа к ним.

На рисунке 4 приведена модель объектов VBA.

http://bourabai.kz/einf/vba/img/1.1.gif

Рисунок 4 – Иерархия встроенных компонентов VBA

Результат написания программ на ЯП VBA показан на рисунке 5:

Рисунок 5 – Результат программирования на VBA

2.3. Язык программирования C++

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

В последние годы его слегка поколебалось, ведь широкое развитие получили такие языки, как Java и C#. [8]

С++ – это ЯП общего назначения, который очень часто применяется в так называемом системном программировании в широком смысле этого слова. Кроме этого, в С++ используется успешно для написания приложений, что выходят за рамки классического системного программирования.

Сама реализации С++ присутствует практически на всех машинах, начиная с скромных – и до больших мейнфреймов (рисунок 6).

Результат пошуку зображень за запитом "пример кода с++"

Рисунок 6 – Пример кода С++

Бьерн Страуструп является создателем языка С++, а также создателем его самого первого транслятора.

Название С++ предложено Р. Маскитти еще летом 1982 г. Оно показывает эволюционный характер изменения предка – языка Си. А обозначение «++» относится к так называемой инкрементной операции наращивания значения переменной.

Изначально С++ спроектировали для того, чтоб Страуструпу и его партнерам не надо было создавать программы на ассемблере, С или других языках низкого уровня. Основным его предназначением считалось выполнить более приятным процесс написания программ и упростить его для программиста. [4]

До определенного времени не было конкретного плана разработки языка. Реализация и документирование всех его средств шли практически параллельно. Поэтому этот язык продолжает развиваться для преодолевания всех проблем, которые возникали у разработчиков.

Примерно в 1985 г. стало очевидным, что работы по созданию стандарта С++ неизбежны, а также следует незамедлительно приступать непосредственно к созданию для нее базы.

Фирма AT&T внесла в этот процесс основной вклад. Больше ста представителей долго изучали и комментировали все практические аспекты языка, что стали современной версией для руководства и материалами стандартизации С++.

При непосредственной разработке С++ важнейшим критерием для этого была простота. При непосредственном возникновении вопроса, что именно надо упростить: руководство или же другую документацию по ЯП, или транслятор – практически всегда выбирали первое.

Заметим, что огромное значение придавали также совместимости С++ с языком Си.

В ЯП С++ нет типов данных и разного рода операций высокого уровня. К примеру, не существует типа под названием «матрица» с операцией ее обращения. [20]

Язык С++ был создан для использования его в традиционной среде, а именно в системе программирования С операционной системы Linux.

Ключевое понятие С++ – класс. Классом является так называемый определяемый пользователем тип данных. Он обеспечивает процесс инкапсуляции данных, неявное их преобразование, инициализацию, динамическое задание форматом, которое контролируется пользователем, а также управление памятью, средства для выполнения перегрузки функций.

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

3. РАЗРАБОТКА ГРАФИЧЕСКОГО ПРИЛОЖЕНИЕ НА ЯП ВЫСОКОГО УРОВНЯ

3.1. Редактор приложений в VBA

Любая система программирования, кроме основной части – транслятора языка программирования, включает среду программирования, которая обеспечивает автоматизированную разработку, а также выполнение программ на указанном языке, и непосредственную подготовку соответствующей документации. [15]

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

Вся разработка и отладка в VBA ведется с применением редактора Visual Basic. Запуск редактора осуществляется нажатиес в среде MS Office нажатием комбинации Alt + F11.

Обычно в окне программного редактора используются 3 панели:

– Project;

– Properties;

– Code.

Окно проекта, обычно расположено в верхнем левом углу (рисунок 6).

В окне проекта будет отображено иерархическое дерево проектов программного приложения и модулей рассматриваемых проектов с их непосредственными элементами.

Каждый проект содержит 5 папок с модулями, а именно:[10]

– Microsoft Outlook Objects;

– Forms;

– Modules;

– Class Modules;

– References.

http://www.taurion.ru/_books/outlook/glava4/20_7.jpg

Рисунок 6 – Интерфейс редактора

Если окно кода активным не является, надо нажать кнопку F7.

Помимо области, для отображения документов, на панели проекта есть три кнопки:

– View Code – при нажатии на данную кнопку курсор перемещается в окно программного кода, где отображается непосредственно код выделенного компонента.

– View Object – при нажатии кнопки показывается реализация имеющегося объекта.

– Toggle Folders – при нажатой кнопке отображаются разные элементы проекта, при отжатой – элементы проекта выстроены в алфавитном порядке. [5]

Окно свойств – очень полезный инструмент, так как сразу видны с его помочью почти все свойства программного объекта и их все допустимые значения.

Изменение свойств объекта при использовании панели статично, а также не обладает какой-то программной динамикой.

Эта панель удобна для непосредственного указания постоянных или начальных значений свойств объекта:

– имя листа;

– цвет пользовательской формы и т.д.

Окно проектов (рисунок 7) и окно свойств (рисунок 8) показаны ниже:

http://www.taurion.ru/_books/outlook/glava4/20_8.jpg

Рисунок 7 – Окно проекта

http://www.taurion.ru/_books/outlook/glava4/20_9.jpg

Рисунок 8 – Окно свойств

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

Также понятно, что для стандартных модулей этот список практически отсутствует.

3.2. Создания графической программы в VBA

Создадим графическое программное приложение, которое предназначено для работы в предметной области «Учет телефонных разговоров».

Программа должна выполнять в табличном процессоре Excel операции по:

– добавлению данных;

– вычислению стоимости;

– вычислению статистических показателей;

– изменению оформления.

Все данные работы хранятся в таблице вида (рисунок 9):

Рисунок 9 – Исходная таблица

Для выполнения ввода данных используется форма (рисунок 10):

Рисунок 10 – Форма для добавления

Для добавления данных в таблицу, указанную на рисунке 9, нужно использовать программный код (рисунок 11):

Рисунок 11 – Код для добавления данных помощью формы

После нажатия на кнопку Добавить введенные данные в форму будут добавлены в таблицу.

Для вычисления полей Стоимость разговора и Оплата используем форму вида (рисунок 12):

Рисунок 12 – Форма для вычисления

После нажатия на кнопку «Вычислить», получим (рисунок 13):

Рисунок 13 – Вычисленные данные

Программный код для вычисления показан на рисунке 14:

Рисунок 14 – Код для вычисления стоимости разговоров

Для вычисления максимальной длительности разговора нужно нажать соответственную кнопку (рисунок 15):

Рисунок 15 – Вычисления максимальной длительности

Программный код, который применяется для вычисления показан на рисунке 16:

Рисунок 16 – Программный код для вычисления максимальной длительности разговора

Для изменения оформления используется форма (рисунок 17):

Рисунок 17 – Форма для изменения оформления

Получим (рисунок 18):

Рисунок 18 – Результат оформления

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

К примеру, пакет Microsoft Access выполняет упрощение модели организации приложения для обработки базы данных. Однако применение СУБД Access для решения общих задач становится совсем неудобным или же вовсе невозможным.

К примеру, типичных пользовательских действий непосредственно в операционной системе, а именно копирование файлов, доступ к сети Интернет, запуск приложений и т.п.

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

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

– рассмотрена история появления алгоритмических языков программирования;

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Аммерааль Л. Основы Excel : Пер. с англ. — М.: ДМК, 2017. — 240 с.
  2. Бочков С. О., Субботин Д. М. Язык программирования VBA для персонального компьютера. — М.: Радио и связь, 2015. — 384 с.
  3. Бобровский С. Самоучитель програмирования на языке VBA – М.: ИНФРА-М, 2015.–251 c.
  4. Бруно Бабэ. Просто и ясно о VBA : пер. с англ. - Москва: БИНОМ, 2016. – 400с.
  5. Джосьютис Н. М. Стандартная библиотека. Для профессионалов: Пер. с англ. — СПб.: Питер, 2014. — 730 с.
  6. Керниган Б. В., Ритчи Д. М. Язык программирования VBA: Пер. с англ. — 3-е изд. — СПб.: Невский Диалект, 2015. — 352 с.
  7. Липпман С. Б. Основы программирования на VBA : Пер. с англ. — М.: Вильямс, 2015. — 256 с.
  8. Липпман С. Б., Лажойе Ж. Язык программирования VBA : Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2011. — 1104 с.
  9. Лишнер Р. VBA. Карманный справочник: Пер. с англ. — СПб.: Питер, 2015. — 187 с.
  10. Мейерс С. Эффективное использование VBA: Пер. с англ. — СПб.: Питер, 2017. — 224 с.
  11. Оллисон Ч. Философия С++. Практическое программирование. С.Петербург 2015. – 608 с.:ил.
  12. Послед Б.С. Excel. Разработка приложений баз. М.: 2016г. -360 г.
  13. Стенли Б. Липпман. VBA для начинающих: Пер. с англ. 2тт. - Москва: Унитех; Рязань: Гэлион, 2015. – 345с.
  14. Страуструп Б. Язык программирования: Пер. с англ. — 3-е спец. изд. — М.: Бином, 2017. — 1104 с.
  15. Страуструп Б. Дизайн и эволюция языка VBA. Объектно- ориентированный язык программирования: Пер. с англ. — М.: ДМК пресс, Питер, 2015. — 448 с.
  16. Холингворт Д. Учебник по программированию в среде VBA 5. – Наука.–М.: 2016. –865 с.
  17. Юпашников A.M. Программирование в среде VBA. — М.: МИФИ, 2016. – 360 c.
  18. Эккель Б. Философия VBA. Введение в стандартный C++: Пер. с англ. — 2-е изд. — СПб.: Питер, 2015. — 572 с.
  19. Эккель Б., Эллисон Ч. Философия VBA. Практическое программирование: Пер. с англ. — СПб.: Питер, 2015. — 608 с. с. 1 (из 2)
  20. VBA: Пер. с англ. / П. Плаугер, А. Степанов, М. Ли, Д. Массер. — СПб.: БХВ-Петербург, 2016. — 656 с.