Vba что за программа

Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.

Код, написанный на VBA, компилируется в промежуточный Microsoft P-код (байт-код), который затем выполняется виртуальной машиной, управляемой основным приложением (Excel, Word и др.), в то же время VBA не считается полноценно компилируемым языком, поскольку строки кода последовательно «интерпретируются» в процессе его выполнения. Как и следует из его названия, VBA близок к Visual Basic. VBA, будучи языком, построенным на COM, позволяет использовать все доступные в операционной системе COM объекты и компоненты ActiveX (например, возможно создание приложения на основе Microsoft Word VBA, использующего только средства Corel Draw).

VBA для начинающих — Первые шаги — Новый курс VBA (2)

В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) — инструментарий расширения функциональности приложений, основанный на Microsoft .NET.

Источник: wiki2.org

Урок 1 по VBA — знакомство с Visual Basic for Applications

Урок 1 по VBA — знакомство с Visual Basic for Applications

Макросы на VBA

Автор Coding На чтение 7 мин Просмотров 134 Опубликовано 07.10.2013

В это статье мы кратко познакомимся с языком VBA, который позволяет создавать макросы в программных продуктах Microsoft Office. Макросы – некий программный код, который позволяет реализовывать за вас поставленную задачу. В отличии от прикладных программ, макросы VBA как таковые не могут выполняться самостоятельно. Язык VBA – Visual Basic for Applications является родственником таких языков как VBScript, Visual Basic или простой Basic. Синтаксис и общие правила программирования практически идентичны.

По сути, зная язык VBScript сервера Windows Script Host, вы с легкостью освоите все премудрости VBA.

Отличия VBA от VBScript

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

Читайте также:
Ак zone приложение что это за программа и нужна ли она

Внешние объекты – оба языка позволяют подключать функциональные возможности внешних объектов. Объект – в данном контексте это внешний библиотечный файл с набором методов (функций) и свойств (переменных). Однако, если вы создаете макрос в Word, то объект Word.Application будет доступен автоматически, если макрос работает в документе Excel, то автоматически доступен компонент Excel.Application. В Windows Script Host сценариях эти объекты нужно подключать самостоятельно (сделать ссылку).

Программирование макросов на VBA в Excel

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

Практическое применение VBA

И так, открыв любой документ Microsoft Office, например, Word, мы может вызвать встроенный редактор Visual Basic (комбинация клавиш Alt + F11) и приступить к созданию макроса. Как упоминалось выше, в макросах можно подключать функциональные возможности внешних объектов, тем самым, получать доступ к элементам операционной системы, например, файловая система, реестр и так далее. Желательно, что бы в настройках был отключен автоматический запуск макроса при открытии документа, дабы дырявый или зловредный код не натворил лиха.

Однако, на сегодняшний момент, макросы и язык VBA как элементы администрирования теряют свое преимущество. Тот же Microsoft Access, который предназначен для работы с базами данных также практически не используется. Более актуальным является пакет 1С.

Общие синтаксические принципы языка VBA

  • Регистр не играет роли – вы можете прописать оператор как в верхнем, так и в нижнем регистре, или вообще в вперемешку, например, dim, DIM, Dim, разницы нет.
  • Комментарии – для комментирования строки, перед ней прописывается одинарная кавычка или ключевое слово REM.
  • Максимальная длина любого имени (будь то имя переменной, константы или процедуры) составляет 255 знаков.
  • В отличии от JavaScript, Jscript или С языков, в VBA в конце строки с операторами не нужно ставить запятой.
  • Двоеточие – чтобы не прописывать каждый оператор в отдельной строке, их можно с помощью двоеточия прописать в одну строку, например: MsgBox «Строка1» : MsgBox «Строка2»
  • Перенос операторов – если строка с операторами слишком длинная, то ее можно разделить на несколько при помощи символа подчеркивания и знака «строка»
Читайте также:
Realtek card reader что за программа

Для демонстрации работы с макросами напишем такой пример. Откройте документ Microsoft Word и запустите редактор Visual Basic. Вам нужно создать новую форму и новый модуль (макрос). Цель – решение квадратного уравнения с изменяемыми значениями.

На поверхность формы надо добавить три полосы прокрутки и две текстовые метки. В редакторе кода для формы пропишите:

Option Explicit Sub Get_Result() Dim MyA As Byte, MyB As Byte, MyC As Byte Dim D, x, x1, x2, msg MyA = ScrollBar1.Value: MyB = ScrollBar2.Value: MyC = ScrollBar3.Value Label1.Caption = MyA x*x + » _ «x + » _ » = 0″ ‘ находим дискриминант D = MyB ^ 2 — 4 * MyA * MyC ‘Если дискриминант равен нулую — одно решение If D = 0 Then x = MyB / (2 * MyA) msg = «Уравнение имеет одно решение, x ровно: » 0 Then x1 = (-MyB + Sqr(D)) / (2 * MyA) x2 = (-MyB — Sqr(D)) / (2 * MyA) msg = «Уравнение имеет два решения» «x1 ровно: » vbCrLf x2 ровно: » Нет решения (комплексные числа)» End If Label2.Caption = msg End Sub Private Sub ScrollBar1_Change() Call Get_Result End Sub Private Sub ScrollBar2_Change() Call Get_Result End Sub Private Sub ScrollBar3_Change() Call Get_Result End Sub Private Sub UserForm_Initialize() Dim MyA As Byte, MyB As Byte, MyC As Byte ‘ параметры полос прокрутки ScrollBar1.Min = 1 ScrollBar1.Max = 20 ScrollBar2.Min = 1 ScrollBar2.Max = 30 ScrollBar3.Min = 1 ScrollBar3.Max = 40 ‘ параметры первого текстового поля Label1.FontSize = 15 Label1.ForeColor = H6400 MyA = ScrollBar1.Value: MyB = ScrollBar2.Value: MyC = ScrollBar3.Value Label1.Caption = MyA x*x + » _ «x + » _ » = 0″ End Sub

Option ExplicitSub Get_Result()Dim MyA As Byte, MyB As Byte, MyC As ByteDim D, x, x1, x2, msg MyA = ScrollBar1.Value: MyB = ScrollBar2.Value: MyC = ScrollBar3.Value Label1.Caption = MyA x*x + » _ «x + » _ » = 0″‘ находим дискриминантD = MyB ^ 2 — 4 * MyA * MyC’Если дискриминант равен нулую — одно решениеIf D = 0 Then x = MyB / (2 * MyA) msg = «Уравнение имеет одно решение, x ровно: » 0 Then x1 = (-MyB + Sqr(D)) / (2 * MyA) x2 = (-MyB — Sqr(D)) / (2 * MyA) msg = «Уравнение имеет два решения» «x1 ровно: » vbCrLf x2 ровно: » Нет решения (комплексные числа)»End If Label2.Caption = msgEnd SubPrivate Sub ScrollBar1_Change() Call Get_ResultEnd SubPrivate Sub ScrollBar2_Change() Call Get_ResultEnd SubPrivate Sub ScrollBar3_Change() Call Get_ResultEnd SubPrivate Sub UserForm_Initialize()Dim MyA As Byte, MyB As Byte, MyC As Byte ‘ параметры полос прокрутки ScrollBar1.Min = 1 ScrollBar1.Max = 20 ScrollBar2.Min = 1 ScrollBar2.Max = 30 ScrollBar3.Min = 1 ScrollBar3.Max = 40 ‘ параметры первого текстового поля Label1.FontSize = 15 Label1.ForeColor = H6400 MyA = ScrollBar1.Value: MyB = ScrollBar2.Value: MyC = ScrollBar3.Value Label1.Caption = MyA x*x + » _ «x + » _ » = 0″End Sub

Читайте также:
Minitool partition wizard free что за программа

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

Источник: scriptcoding.ru

Введение в VBA: Макросы. (Часть 1 из 3)

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

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

Программирование объектов в VBA — свойства и методы

VBA — это объектно-ориентированный язык программирования. Мы пишем код, который манипулирует объектами в Excel.

Объекты — это практически все, что вы можете себе представить в Excel: таблицы, диапазоны, диаграммы, сводные таблицы и т.д.

При написании кода VBA мы может читать/записывать свойства объектов или выполнять действия (методы) над объектами.

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

Ещё одно понятие, с которым вы должны познакомиться — это объектная модель Excel. Это библиотека всех объектов в Excel. Как вы можете себе представить, это огромная библиотека!

The Excel Object Model in VBA

Каждый объект имеет свои собственные свойства и методы, которые мы можем использовать. Есть три основных вещи, которые мы можем сделать со свойствами и методами.

# 1 — Чтение свойств

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru