Что такое VBA (Visual Basic for Applications). Что такое visual basic
Visual Basic - диалект языка программирования Basic
Visual Basic (VB) — является языком программирования третьего поколения (событийный язык программирования) и среда разработки от Microsoft для модели программирования COM. Этот язык был получен из BASIC и допускает быструю прикладную разработку (RAD) графического интерфейса пользователя (GUI), доступ к базам данных при помощи DAO, RDO, ADO, создание элементов управления ActiveX и объектов. Языки сценариев (VBA, VBScript) синтаксически подобны Visual Basic, но отличаются от него.
Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бэйсик, у которого есть немало диалектов. В то же время Visual Basic — современный язык программирования, сочетающий процедуры и элементы объектно-ориентированных и компонетно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса. Программист может создавать приложение, используя компоненты предоставленные в Visual Basic. Программы, написанные в Visual Basic, могут также использовать Windows API (требует объявление внешних функций).
Последняя версия (шестая) была выпущена в 1998 году. Корпорация Microsoft продлила поддержку продукта до 2008, и объявила преемника — Visual Basic.NET.
Языковые особенности
Visual Basic легко использовать для изучения и использования. Он позволяет разрабатывать не только простые приложения с графическим интерфейсом, но и создавать сложные приложения. Программирование в VB представляет собой сочетание визуальных компонентов и контролов, определение атрибутов и действий для компонентов, написание дополнительного кода для расширения функциональных возможностей. Определенные по умолчанию значения и действия для компонентов позволяют создать простую программу без написания кода программистом. Ранние версии имели определенные проблемы с производительностью программ, но с использованием современных компьютеров и компиляцией собственного кода данная проблема стала менее значимой.
Компиляция программ была введена в Visual Basic 5, но при этом исполняемые программы до сих пор требуют наличия определенных библиотек для запуска. Эти библиотеки включены в Windows, начиная с Windows 2000, но для более ранних версий Windows они должны поставляться вместе с программой.
Формы создаются при помощи технологии «перетащи и брось» (drag and drop). Элементы управления просто размещаются на форме (например, поля ввода, кнопки, и т.д.). Элементы управления имеют свои атрибуты и обработчики событий. Многие атрибуты могут быть изменены во время исполнения программы, что позволяет создавать программы, динамически реагирующие на действия пользователя.
Visual Basic может создать исполняемые программы (EXE файлы), элементы управления ActiveX, библиотеки DLL, но, прежде всего, используется для разработки Windows приложений. Диалоговые окна с ограниченными функциональными возможностями могут использоваться для обеспечения подсказок. Элементы управления обеспечивают основные функциональные возможности приложения, а программист может расширить логику программы при помощи обработчиков событий. Например, выпадающий список автоматически отображает список и позволяет пользователю выбрать элемент. Обработчик событий вызывается для исполнения дополнительного кода в зависимости от выбранного элемента.
Язык использует справочную информацию для сбора мусора, имеет большую библиотеку сервисных объектов, объектно-ориентированную разработку. В отличие от многих других языков программирования, Visual Basic не зависим от регистра. Сравнение строк зависит от регистра, но может быть выполнено без учета регистра.
Компилятор Visual Basic поставляется вместе с другими языками Visual Studio (C, C++), но ограничения в интегрированной среде разработки не позволяют создание некоторых видов приложений.
Характеристики Visual Basic
Visual Basic обладает следующими чертами:
- булевская постоянная «истина» имеет числовое значение −1 и «ложь» значение 0, потому что тип Boolean хранится как 16-разрядное целое число со знаком. Они взаимосвязаны между собой через логическую операцию Not иначе говоря Истина = Не Ложь.
- логические и битовые операторы объединены. Этим он непохож ни на один C подобный язык (Java, Perl).
- массивы объявляются с определением верхней и нижней границ, как это делается в Pascal и Fortran. Возможно, при использовании оператора Option Base, установить нижнюю границу по умолчанию, но это приводит к запутанности программ. Нижняя граница массивов не ограничена 0 или 1 и можно устанавливать более низкие границы. В Visual Basic .NET и VBScript нижняя граница фиксирована.
- сильная интеграция с операционной системой Windows и COM.
- целые числа автоматически преобразуются в вещественные при использовании деления (/). Оператор (\) производит деление с усечением дробной части.
- для переменных, которые были объявлены без указания типа, используется по умолчанию тип variant. Но при использовании оператора Deftype можно установить иной тип по умолчанию ( DefInt, DefBool, DefVar, DefObj, DefStr и др.). Тип по умолчанию может быть отменен для переменной при использовании специального символа-суффикса в имени переменной.
Эволюция Visual Basic
VB 1.0 появился в 1991 году. Используемый в нём принцип связи языка и графического интерфейса был разработан Аланом Купером (Alan Cooper) и реализован в прототипе Tripod (также известном как Ruby).
- май 1991 — выпущен Visual Basic 1.0 для Microsoft Windows
- сентябрь 1992 — выпущен Visual Basic 1.0 под DOS. Он не был полностью совместим с Windows-версией VB, поскольку по сути являлся следующей версией QuickBASIC и работал в текстовом режиме экрана
- ноябрь 1992 — выпущен Visual Basic 2.0. Среда разработки стала проще в использовании и работала быстрее
- летом 1993 — вышел в свет Visual Basic 3.0 в версиях Standard и Professional. В состав поставки входил движок для работы с базами данных Access
- август 1995 — Visual Basic 4.0 — версия, которая могла создавать как 32-х так и 16-разрядные Windows-программы. Кроме того, появилась возможность писать на VB классы, а также возможность компиляции в «родной» для процессора машинный код, что значительно увеличило скорость выполнения программ
- февраль 1997 — Visual Basic 5.0 — версия, в которой стало возможно делать свои компоненты
- 1998 — версия 6.0 — 6.3 — появилась русская версия, с возможностью писать имена переменных и процедур кириллицей.
- 2001 — Visual Basic .NET, вместе с .NET Framework
- 2003 — Visual Basic .NET 2003, вместе с .NET Framework 1.1
- конец октября 2005 — выпущена Visual Studio 2005, включающая Visual Basic .NET 2005. В это же время выпущен .NET Framework 2.0 и Microsoft SQL Server 2005. Немногим позже появилась версия Visual Basic Express — бесплатная редакция VB.NET 2005
Основные разновидности Visual Basic
Корпорация Microsoft разработала разновидности Visual Basic для создания сценариев. Со временем оригинальный Visual Basic был заменен версией .NET.
- Классический Visual Basic (версии 5-6) — язык очень сильно привязан к своей среде разработки и к операционной системе Windows, являясь исключительно инструментом написания Windows-приложений. Привязка к среде заключается в том, что существует большое количество средств, предназначенных для помощи и удобства программирования: встроенный отладчик, просмотр переменных и структур данных на лету, окно отладки, всплывающая подсказка при наборе текста программы. Все эти преимущества делают бесполезным и даже невозможным использование Visual Basic вне среды разработки, например в обычном текстовом редакторе
- Visual Basic for Applications (VBA) —средство программирования, практически ничем не отличающееся от классического Visual Basic, которое предназначено для написания макросов и других прикладных программ для конкретных приложений. Наибольшую популярность получил благодаря своему использованию в пакете Microsoft Office. Широкое распространение Visual Basic for Applications в сочетании с изначально недостаточным вниманием к вопросам безопасности привело к широкому распространению макровирусов
- Visual Basic Scripting Edition (VBScript) — скриптовый язык, являющийся несколько усечённой версией обычного Visual Basic. Используется в основном для автоматизации администрирования систем Windows, а также для создания страниц ASP и сценариев для Internet Explorer
- Visual Basic .NET — преемник Visual Basic 6.0 и часть платформы Microsoft .NET
Примеры:
CamelCase:
Пример для версий VBA 6.3, VBA 6.5 Sub CamelCase() Dim Text As String Text = LCase(Application.InputBox("Enter Text")) For i = 1 To Len(Text) Step 1 If InStr("abcdefghijklmnopqrstuvwxyz", Mid(Text, i, 1)) = 0 Then Text = Replace(Text, Mid(Text, i, 1), " ") End If Next i MsgBox (Replace(StrConv(Text, vbProperCase), " ", "")) End SubHello, World!:
Пример для версий VBA 6.3, VBA 6.5Этот код создает макрос под названием “Hello”, выполнение которого выводит окно с сообщением “Hello, World!” и единственной кнопкой “OK”.
Sub Hello() MsgBox ("Hello, World!") End Sub
Факториал:
Пример для версий VBA 6.3, VBA 6.5 Факториал вычисляется итеративно; значения накапливаются в строковой переменной и затем выводятся в одном окне. & — оператор конкатенации, CStr преобразует число в строку (несмотря на то, что факториал хранится как число с плавающей точкой, выводится он без дробной части), Chr возвращает символ с заданным ASCII-кодом.
Sub Factorial() Dim f As Double Dim res As String f = 1 For i = 0 To 16 res = res & CStr(i) & "! = " & CStr(f) & Chr(10) f = f * (i + 1) Next i MsgBox (res) End SubЧисла Фибоначчи:
Пример для версий VBA 6.3, VBA 6.5Используется рекурсивное вычисление чисел Фибоначчи. Отметим, что в этом случае тип счетчика цикла i приходятся объявлять в явном виде, иначе он принимает тип Variant и не может быть передан в функцию вместо типа Integer.
Public Function Fibonacci(N As Integer) As Integer If N < 2 Then Fibonacci = N Else Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2) End If End Function Sub Fib() Dim res As String Dim i As Integer For i = 1 To 16 res = res & CStr(Fibonacci(i)) & ", " Next i MsgBox (res & "...") End SubHello, World!:
Пример для версий VBScript 5.7, VBScript 5.8Факториал:
Пример для версий VBScript 5.7, VBScript 5.8Факториал вычисляется итеративно. Обратите внимание на то, что переполнения переменной-факториала не происходит, несмотря на то, что ее тип определяется автоматически.
f = 1 For i = 0 To 16 WScript.Echo(i & "! = " & f) f = f * (i + 1) NextЧисла Фибоначчи:
Пример для версий VBScript 5.7, VBScript 5.8Числа Фибоначчи вычисляются рекурсивно. Обратите внимание на то, что многие элементы, типичные для Visual Basic, здесь отсутствуют: объявление переменных и типа значения, возвращаемого функцией, явное преобразование чисел в строку для конкатенации и т.д.
Function Fibonacci(N) If N < 2 Then Fibonacci = N Else Fibonacci = Fibonacci(N - 1) + Fibonacci(N - 2) End If End Function For i = 1 To 16 res = res & Fibonacci(i) & ", " Next WScript.Echo (res & "...")CamelCase:
Пример для версий VBScript 5.7, VBScript 5.8В отличие от многих других реализаций Visual Basic, в VBScript нет функции StrConv. Поэтому проще всего выполнить нужное преобразование строки посимвольно.
Hello, World!:
Пример для версий VB.NET 9 (2008), vbnc 2.4.2 Module Module1 Sub Main() Console.WriteLine("Hello, World!") End Sub End ModuleHello, World!:
Пример для версий Microsoft Visual Basic 6Microsoft Visual Basic предназначен для разработки приложений с оконным интерфейсом, поэтому создание простейшего консольного приложения является нетривиальной задачей. В примере показаны: импорт нужных функций из стандартной библиотеки, создание консоли, получение указателя на ее стандартный поток вывода, собственно вывод сообщения в этот поток и освобождение использованных объектов.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String s = "Hello, World!" & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End Sub
Факториал:
Пример для версий VB.NET 9 (2008), vbnc 2.4.2 Используется рекурсивное определение факториала.
Module Module1 Function Factorial(ByVal n As Integer) As Long If n = 0 Then Return 1 Else Return n * Factorial(n - 1) End If End Function Sub Main() For i As Integer = 0 To 16 Console.WriteLine(i & "! = " & Factorial(i)) Next End Sub End ModuleФакториал:
Пример для версий Microsoft Visual Basic 6Используется итеративное определение факториала.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String Dim i As Integer Dim f As Long f = 1 s = "0! = 1" & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull For i = 1 To 16 Step 1 f = f * i s = i & "! = " & f & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull Next i 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End SubФакториал:
Пример для версий Microsoft Visual Basic 6Используется рекурсивное определение факториала. Из-за арифметического переполнения при вычислении факториалов 13-16 вывод программы заканчивается на строке “12! = …”, после чего в отдельном не-консольном окне выдается сообщение “Run-time error ‘6’: Overflow”.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Public Function Factorial(ByVal n As Integer) As Long If (n = 0) Then Factorial = 1 Else Factorial = n * Factorial(n - 1) End If End Function Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String Dim i As Integer For i = 0 To 16 Step 1 s = i & "! = " & Factorial(i) & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull Next i 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End SubЧисла Фибоначчи:
Пример для версий VB.NET 9 (2008), vbnc 2.4.2Используется рекурсивное определение чисел Фибоначчи.
Module Module1 Function Fibonacci(ByVal n As Integer) As Long If n < 3 Then Return 1 Else Return Fibonacci(n - 1) + Fibonacci(n - 2) End If End Function Sub Main() For i As Integer = 1 To 16 Console.Write(Fibonacci(i) & ", ") Next Console.WriteLine("...") End Sub End ModuleЧисла Фибоначчи:
Пример для версий Microsoft Visual Basic 6Используется рекурсивное определение чисел Фибоначчи.
Option Explicit Declare Function AllocConsole Lib "kernel32" () As Long Declare Function FreeConsole Lib "kernel32" () As Long Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle As Long) As Long Declare Function WriteConsole Lib "kernel32" Alias "WriteConsoleA" _ (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal _ nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, _ lpReserved As Any) As Long Declare Function Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) As Long Public Function Fibonacci(ByVal n As Integer) As Integer If (n <= 2) Then Fibonacci = 1 Else Fibonacci = Fibonacci(n - 1) + Fibonacci(n - 2) End If End Function Private Sub Main() 'create a console instance AllocConsole 'get handle of console output Dim hOut As Long hOut = GetStdHandle(-11&) 'output string to console output Dim s As String Dim i As Integer For i = 1 To 16 Step 1 s = Fibonacci(i) & ", " WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull Next i s = "..." & vbCrLf WriteConsole hOut, ByVal s, Len(s), vbNull, vbNull 'make a pause to look at the output Sleep 2000 'close the handle and destroy the console CloseHandle hOut FreeConsole End SubКвадратное уравнение:
Пример для версий VB.NET 9 (2008), vbnc 2.4.2 Module Module1 Sub Main() Dim A, B, C, D As Integer Dim p1, p2 As Double Try Console.Write("A = ") A = Val(Console.ReadLine()) Console.Write("B = ") B = Val(Console.ReadLine()) Console.Write("C = ") C = Val(Console.ReadLine()) Catch ex As Exception Console.WriteLine("Invalid input.") Return End Try If A = 0 Then Console.WriteLine("Not a quadratic equation.") Return End If D = B * B - 4 * A * C p1 = -B / 2.0 / A p2 = Math.Sqrt(Math.Abs(D)) / 2.0 / A If D = 0 Then Console.Write("x = " & p1.ToString()) ElseIf D > 0 Then Console.WriteLine("x1 = " & (p1 + p2).ToString()) Console.WriteLine("x2 = " & (p1 - p2).ToString()) Else Console.WriteLine("x1 = (" & p1.ToString() & "," & p2.ToString() & ")") Console.WriteLine("x2 = (" & p1.ToString() & ",-" & p2.ToString() & ")") End If End Sub End ModuleCamelCase:
Пример для версий vbnc 2.4.2В этом примере каждый символ строки проверяется на принадлежность к латинскому алфавиту и в случае отрицательного результата заменяется на пробел. После этого строка переводится в Proper Case (все слова пишутся прописными буквами и начинаются с заглавной), и наконец, все пробелы убираются из строки.
Module Module1 Sub Main() Dim Text As String Dim i As Long Try Text = LCase(Console.ReadLine()) Catch ex As Exception Console.WriteLine("Invalid input.") Return End Try For i = 1 To Len(Text) Step 1 If InStr("abcdefghijklmnopqrstuvwxyz", GetChar(Text, i)) = 0 Then Text = Replace(Text, GetChar(Text, i), " ") End If Next Console.WriteLine(Replace(StrConv(Text, vbProperCase), " ", "")) End Sub End ModuleКвадратное уравнение:
Пример для версий VBScript 5.7, VBScript 5.8 Function GetInt() Input = WScript.StdIn.ReadLine If not IsNumeric(Input) Then WScript.Echo "Coefficient is not a number." WScript.Quit End If GetInt = CInt(Input) End Function A = GetInt() If A = 0 Then WScript.Echo "Not a quadratic equation." WScript.Quit End If B = GetInt() C = GetInt() D = B * B - 4 * A * C p1 = -B / 2.0 / A p2 = Sqr(Abs(D)) / 2.0 / A If D = 0 Then WScript.Echo "x = " & p1 Else If D > 0 Then WScript.Echo "x1 = " & (p1 + p2) WScript.Echo "x2 = " & (p1 - p2) Else WScript.Echo "x1 = (" & p1 & ", " & p2 & ")" WScript.Echo "x2 = (" & p1 & ", " & -p2 & ")" End If End IfКвадратное уравнение:
Пример для версий VBA 6.3, VBA 6.5 Function GetInt(Name As String) As Integer Dim Coef As String Coef = Application.InputBox("Enter Coefficient " & Name) GetInt = CInt(Coef) End Function Sub Quadratic() Dim A As Integer, B As Integer, C As Integer, D As Integer A = GetInt("A") If A = 0 Then MsgBox ("Not a quadratic equation.") Exit Sub End If B = GetInt("B") C = GetInt("C") D = B * B - 4 * A * C Dim p1 As Double, p2 As Double p1 = -B / 2# / A p2 = Sqr(Abs(D)) / 2# / A If D = 0 Then MsgBox ("x = " & CStr(p1)) Else If D > 0 Then MsgBox ("x1 = " & CStr(p1 + p2) & Chr(10) & "x2 = " & CStr(p1 - p2)) Else MsgBox ("x1 = (" & CStr(p1) & ", " & CStr(p2) & ")" & Chr(10) & "x2 = (" & CStr(p1) & ", " & CStr(-p2) & ")") End If End If End Subprogopedia.ru
Для чего нужен Visual Basic?
Visual Basic (VB), детище компании Microsoft, является компонентно-ориентированным и объектно-ориентированным языком программирования. Он основан на Basic (QBasic и др.), который является его предшественником. Язык VB отличается удобством и быстротой разработки приложений, чему отчасти способствуют встроенный отладчик и встроенная подсказка во время набора текста. Кроме того, Visual Basic обладает доступом к различным приложениям Microsoft Office и сильно связан своей средой разработки с операционной системой Windows.
Проблематично найти какую-либо другую альтернативу VB в случае, когда программу необходимо разработать в кратчайшие сроки. Данный язык программирования привлекает начинающих программистов удобным интерфейсом пользователя, благодаря которому Visual Basic часто используют при обучении. Всё это и многое другое привело к его высокой популярности.
Рассмотрим перечень задач, которые решает VB. В первую очередь его используют в решении математических, инженерных и аналогичных задач, где требуются расчёты. Язык Visual Basic применяется в процессе обучения программированию из-за своей простоты и лёгкости в изучении. По этим параметрам он пока занимает лидирующие позиции. Данный язык программирования входит наряду с другими языками в программы обучения в школах, училищах, колледжах и учебных центрах.
Язык Visual Basic также используют в разработке бизнес-приложений, проектировании баз данных, создании веб-приложений, основанных на применении HTML-шаблонов, макетов приложений, а также библиотек с последующим переносом на язык Си. На VB создаются игры (пример – игра «О, счастливчик!»).
Данный язык имеет возможности группового создания программ, облегчая координацию манипуляций исполнителей. С его помощью можно решать задачи в программах пакета MS Office и других приложениях.
Язык Visual Basic входит в состав приложений, подобных Visual Studio Express. VB for Applications (VBA), применяемый для создания прикладных программ и макросов, используется в таких приложениях, как: MS Word, MS Excel, MS Visio. Язык VBA наиболее популярен в приложениях пакета Microsoft Office, подвержен воздействию и распространению макровирусов. Существует также PowerBasic, позволяющий разрабатывать и транслировать исходный код в низкоуровневые DLL-библиотеки (подобно языку Си).
Путешественники или просто люди которые любят гулять, часто берут с собой свой компактный ноутбук чтобы заходить с ним в интернете. Увы, у нас публичный Wi-fi не так уж сильно развит как в Европе, если даже есть публичный wifi то там может быть медленный интернет. Хороший 3G модем работает во всех условиях, их можно найти тут http://3gmob.com.ua/3g-modems. Станьте независимы от публичных точек wifi, используйте свой высокоскоростной 3G модем.
Еще записи по теме
run-pc.ru
//clickomania.narod.ru ..: Что такое Visual Basic? :..
Что такое Visual Basic?
Funbit (http://vb.hut.ru)Перед начинающими программистами всегда встаёт один и тот же вопрос, а именно, какой язык программирования выбрать? На чём программировать? Могу сказать, что лучше начинать с лёгкого и в то же время мощного языка - Visual Basic. Изучив приёмы программирования на VB, вы сможете без особых усилий изучить другие языки, такие как Pascal, C++ и др.
Слово "БЕЙСИК" (BASIC) - "базовый, основной" - образовано из начальных букв английского выражения "Универсальный язык символического кодирования для начинающих". Это "для начинающих" долго вызывало пренебрежение программистов, причём подобное пренебрежение не исчезло до сих пор, несмотря на наличие префессиональных изданий VB.
Первый IMB PC имел 16-разрядный бейсик - BASICA, разработанный IBM, а затем вытесненный миктософтским GW-BASIC и QUICK-BASIC. В последнем была убрана нумерация строк и добавлен компилятор, превращающий бейсик програму в полноценный exe файл. Наконец в 1992г. фирмой Microsoft был выпущен VB 1.0 - очень простой язык программирования для Windows 3.1. Затем были выпущены VB 3.0, VB 4.0, VB 5.0 и наконец VB 6.0. Последние две версии мало чем отличаются, в шестой версии улучшено ядро и добавлены несколько новых функций. Существует ещё язык макросов для приложений Microsoft Office (Word, Excel и т.п.). Он называется VBA (Visual Basic for Application). С его помощью можно манипулировать приложениями Office.
Приложения написанные на Visual Basic отличаются от обычных приложений тем, что требуют для своей работы библиотеку msvbvmX0.dll, которая должна присутсвовать в каталоге Windows\System. В роли X выступает версия компилятора VB. Для VB5 - msvbvm50.dll, для VB6 - msvbvm60.dll. Эти библиотеки идут в комплекте с WinME (обе) и Win98 (только msvbvm50.dll), и естественно с более новыми версиями этих ОС. Вы не должны бояться того, что вместе с вашим приложением, вам придётся таскать за собой эту библиотеку. Она есть уже у 90% пользователей. Но если вы всё-таки боитесь за аудиторию, то можете зашить библиотеку прямо в EXE файл. Правда для этого придётся использовать средства не входящие в состав VB. Например, это можно сделать с помощью программы Fusion (фирмы BitArts).
Некоторые также считают, что приложения VB - это не полноценные программы, а лишь псевдокод, который при запуске выполняется интерпретатором. Это не совсем так. Если вы компилируете программу в Native Code, то полученный EXE - полноценное приложение Win32, которое просто использует функции msvbvm библиотеки. А вот P-Code является псевдокодом. Вид компиляции вы можете указать в меню Project->ProjectX Properties...
Среда Visual Basic может с успехом использоваться начинающими пользователями для познания секретов программирования и увлекательных занятий по созданию несложных (поначалу) приложений и, в то же время, предоставляет мощные инструменты разработки опытным программистам. Развитая справочная система позволит при построении приложения и работе в Visual Basic найти выход из любой ситуации и получить ответ на любой вопрос. Начинать работать с Visual Basic можно практически с любым уровнем подготовки.
Visual Basic доступен в трех редакциях, каждая из которых обеспечивает определенный набор инструментов разработки. Это
Standard Edition
Visual Basic Standard Edition позволяет создавать достаточно мощные приложения для Microsoft Windows 95 и Windows NT. Эта редакция включает все встроенные элементы управления Visual Basic, включая связанные (data-bound) элементы управления.
Professional Edition
Редакция Professional обеспечивает полно-функциональный набор инструментальных средств для разработки профессиональных решений, предназначенных для тиражирования. Она включает все возможности Standard Edition плюс дополнительные элементы управления ActiveX, включая элементы управления для Internet и генератор отчетов Crystal Reports для Visual Basic.
Примечание: Элемент управления ActiveX — подключаемый объект, который можно помещать в форму, чтобы активировать или расширить взаимодействие пользователя с приложением. С элементами управления ActiveX ассоциируются события, и они могут быть включены в другие элементы управления. Эти элементы управления имеют расширение имени файла .осх.
Enterprise Edition
Редакция Enterprise позволяет создавать распределенные приложения силами группы разработчиков. Она обеспечивает все возможности редакции Professional и включает также дополнительные функции, такие, как Automation Manager, Component Manager, инструментальные средства управления базами данных и Microsoft Visual SourceSafe — проект-ориентированная система управления версиями продуктов.
clickoman.narod.ru
Visual Basic
Введение
Эта статья была написана с расчётом на читателя, обладающего хоть каким-тоопытом в работе с компьютером.Так что всякие подробности связанные с интерфейсом среды программирования Visual Basic были опущены.Итак, что такое Visual Basic (VB). VB это язык программирования, позволяющий создавать программы под Windows. Как было написано на моём установочном CD, программына VB могут иметь любую прикладную направленность:от простых баз данных для личного использования наработе и дома до профессиональных систем автоматизациипроизводственной, торговой, банковской, страховойи других видов деятельности. Действительно VBочень удобен и прост.
Версии VB
Существуют различные версии VB в основномсозданные корпорацией Microsoft. Лично я работаю с VisualBasic 5.0 Enterprise Edition ,написанные на нём программыработают и в других выпусках VB 5.0 и в VB 6.0 (с оговоркой на наличие некоторых Custom Controls). Кроме 5.0 и 6.0 существуютверсии 3.0 и 4.0. Программы на VB этих версий работают в последующихверсиях с пересохранением в соответсвующей версии. Как очевидно нельзя программу пятого VB использовать на VB 4.0 и ниже.Понятно, что с увеличением ноиера версии VB увеличивались и его возможности. Вот их короткий перечень:
- Microsoft Visual Basic 3.0- Компиляция exe-программ и dll-библиотек.Работа с Windows API.
- Microsoft Visual Basic 4.0-то же плюс возможность создания собственных классов, и использования пользовательских элементов управления (Custom Controls или ПЭУ) файлов VBX и OCX.
- Microsoft Visual Basic 5.0-то же плюс возможность не только использовать но и создавать универсальные ПЭУ ActiveX - OCX - файлы. Кроме того добавлены мастера (оговорюсь: не во всехизданиях,в VB 5.0 Entrprise Edition они точно есть), возможность создаватьActiveX документы для Internet, и ActiveX программы.
- Microsoft Visual Basic 6.0-то же плюс большее удобствои большее количество вспомогательных программ.
Особенности VB
Важной особенностью VB я считаю то, что при запуске программы, код компилируется в памяти, а запись в файл производится только присоздании исполнимого файла или библиотеки.Как и у всего сущего у VB есть свои недостатки, к ним я отнесу необходимость создавать Setup для своих программ, чтобы бытьуверенным в их работоспособности.
Программирование на VB
В общих чертах, программирование на VB - это рисование на форме,окна Windows-программы и обработка событий элементов управления.Сами элементы управления являются отдельными объектами языка.После размещения объекта на форме, вы можете обрабатывать егособытия и изменять свойства, путём использования процедур,функций,переменных и массивов переменных.Процедура-последовательность ключевых слов с присвоеннымей уникальным именем, которое затем испльзуется как ключевое словоязыка. Функция отличается от процедуры тем, что возвращает значение, путём присваивания ,в теле функции, определённого значения для её имени.Например:
Private Sub PrintText (X as Single,Y as Single,Txt as string)"X, Y и Txt - параметры вызова(см. Переменные" символ """ обозначает что текст после него до " конца строки не должен восприниматься компилятором при" создании Exe или dll файла (т.е. является комментарием)Me.CurrentX = XMe.CurrentY = Y " установка текущих "координат для вывода текстаMe.Print Txt " Вывод текста.End Sub
Public Function Calculate(Arg as Long) Calculate = 12*3/5^(124 - Arg) " Функция возвращает вычисленное значение End Function
Переменная способна хранить присвоенное ей значение. В VBможно выделить несколько основных типов переменных:числовые целые(Integer), Строковые (String),числовые с плавающий запятой (single), длинные целые(Long), числовые с плавающей запятой двойной точности(double),байтовые(byte), булевы (boolean)(только два значения true/false) и неопределённого типа(Variant). Задаютсяони операторами Public Private.(В начале кода, и являются глобальными т.е. доступными из любой точки кода.)Например:
Public Str As String " Создаётся строковая переменная Str Public Int As Integer " Создаётся числовая целая переменная Int Public Sng As Single " Создаётся числовая переменная с плавающей запятой Sng
Массив - переменные объединённые общим именем, и различающиеся индексами. Задаются они оператором Dim.Например:
Dim StrArray(6) As String " Создаётся массив StrArray из 7(0..6) строковых переменных Dim IntArray(3) As Integer " Создаётся массив IntArray из 4 числовых целых переменных Dim SngArray(1) As Single " Создаётся массив SngArray из 2 числовых переменных с плавающей запятой
Оператор Dim может задавать переменные так же, как и массивы( собственно в теле процедуры, переменные можно задавать только так, тогда они становятся локальными т.е. доступными только в теле процедуры).Переменным(и массивам переменных с указанием номера) можно присваивать значенияи над ними можно соверщать математические действия типа: сложение чисел и строк (+),вычитание (-), умножение(*), деление(/), возведение в степень (^) и другие.Например:
Str = "Строка" " Переменная Str получает значение "Строка"Int = 4 / 2 " Переменная Int получает значение 2 - результат деленияSng = 0.55*(8 + Int) "Переменная Sng получает значение 5,5 StrArray(0) = "data" + CStr(Int)" Элемент массива StrArray "с номером 0 получает значение "data2". CStr - переводит "числовое значение перменной Int в строковое.
Событием-назывется подпрограмма с особым именем (состоящим из имени элемента, символа "_" и имени события (Form_Load).Событие вызывается, при изменении в работе элемента управления. В событиях можно изменять свойствадругих элементов управления.Например:
Private Sub Form_Click ()... " Обработка события щелчка мыщью на форме.End Sub
Так как VB разработан с использованием концепций Объектно Ориентированного Программирования (ООП), при обращении к объектам следуетследовать определённой иерархии.
- Проект(Project) - Указывать имя проекта желательно, ноне обязательно (за исключением работы с группами проектов).
- Форма(Form) - Указывать имя формы обязательно.
- Элемент управления(Control) - Указывать имя ЭУ обязательно.
- Свойство/метод(Property/Method)
- Элемент управления(Control) - Указывать имя ЭУ обязательно.
- Форма(Form) - Указывать имя формы обязательно.
Имена для проекта, формы или ЭУ VB задаёт самостоятельно при ихсоздании, на первых стадиях обучения VB изменять их нежелательно.С учётом всего выше сказанного пример обращения к объекту будет следующим:
Project1.Form1.Command1.Caption = "Click Me!" "Здесь изменяется надпись на кнопке "Command1, нахдящейся на форме Form1, "которая в свою очередь входит в проект Project1.
Кроме форм в проект могут входить модули. Содержащиесяв них процедуры функции могут быть доступны всему проекту(при указании оператора Public).
Чтобы сделать программу более сложной (в смысле обработки большего количества вариантов действия пользователя) используютсяструктуры If...Then...Else и Select Case...Case is...End Select.Для организации циклов используются структуры For...Next, Do...Loop и While...Wend.Например:
If Условие Then команда1 [Else Команда2]If Условие Then команда1[ElseКоманда2]End If"Условие задаётся в виде выражения сравнения "с использзованием следующих сочетаний: Var1 > Var2 (Var1 больше Var2)"Var1 = Var2,Var1 Var2 (больше или равно), Var1 "Var1 Var2 (не равно). "Команда1 выполняется если условие истинно иначе выполняется Команда2Do КодLoop Until условиеWhile условиеКодWend"Код выполняется при истинности условия"Различие между While и Do...Loop в том,что в первом случае "проверка условия делается до выполнения кода,"а во втором - после.Оператору While равносилен оператор Do While...LoopSelect Case условие Case is Вариант1 условияКод для Вариант1Case is Вариант2 условияКод для Вариант2...Case is Вариантn условияКод для ВариантnCase ElseКод для остальных Вариантов условияEnd Select
For счётчик = начальное значение To Конечное значение [Step шаг]"код исполняется заново пока значение переменной-счётчика "не достигнет или не превысит конечного занчения."При первом исполнении кода счётчик принимает начальное значение"При последующих циклах исполнения кода счётчик увеличивается на шаг."Код может использовать счётчик, как переменную.Next счётчик
Вот в общем-то и все начала программирования на VB.Описание всехоператоров и функций можно найти в справочной системе VB.Тем кто имел дело с обычным Basic"ом, конечно, будет немного проще освоить VB,но, как я уже говорил VB - очень простой язык программирования.
vb.narod.ru
Visual Basic for Applications - это... Что такое Visual Basic for Applications?
Эта статья о языке программирования, об антивирусе см.: VBA32.Visual Basic for Applications (VBA, Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic, встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS), а также во многие другие программные пакеты, такие как AutoCAD, SolidWorks, CorelDRAW, WordPerfect и ESRI ArcGIS. VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макро-языков, таких как WordBasic.
VBA является интерпретируемым языком. Как и следует из его названия, VBA близок к Visual Basic. VBA, будучи языком, построенным на COM, позволяет использовать все доступные в операционной системе COM объекты и компоненты ActiveX. По сути, возможно создание приложения на основе Microsoft Word VBA, использующего только средства Corel Draw.
В будущем Microsoft планирует заменить VBA на Visual Studio Tools for Applications (VSTA) — инструментарий расширения функциональности приложений, основанный на Microsoft .NET.
Достоинства и недостатки
К достоинствам языка можно отнести сравнительную лёгкость освоения, благодаря которой приложения могут создавать даже пользователи, не программирующие профессионально. К особенностям VBA можно отнести выполнение скрипта именно в среде офисных приложений.
Недостатком являются проблемы с обратной совместимостью разных версий. Эти проблемы в основном связаны только с тем, что код программы обращается к функциональным возможностям, появившимся в новой версии программного продукта, которые отсутствуют в старой. Также к недостаткам часто относят и слишком высокую открытость кода для случайного изменения, тем не менее, многие программные продукты (например, Microsoft Office и IBM Lotus Symphony) позволяют пользователю использовать шифрование исходного кода и установку пароля на его просмотр.
См. также
Ссылки
Литература
- Джон Уокенбах Excel 2010: профессиональное программирование на VBA = Excel 2010 Power Programming with VBA. — М.: «Диалектика», 2011. — С. 944. — ISBN 978-5-8459-1721-8
- Слепцова Лилия Дмитриевна Программирование на VBA в Microsoft Office 2010. — М.: «Диалектика», 2010. — С. 432. — ISBN 978-5-8459-1663-1
- Джон Пол Мюллер VBA и Microsoft Office 2007 для чайников, 5-е издание = VBA For Dummies, 5th edition. — М.: «Диалектика», 0. — С. 368. — ISBN 978-5-8459-1568-9
dikc.academic.ru
Что такое VBA (Visual Basic for Applications)
VBA — относительно легкий язык программирования. Он прост в освоении и позволяет быстро получать ощутимые результаты — конструировать профессиональные приложения, решающие практически все задачи, встречающиеся в среде Windows. При этом создание многих приложений с использованием VBA проще и быстрее, чем при помощи других языков программирования.
VBA применяет технологию визуального программирования, т. е. конструирование рабочей поверхности приложения и элементов его управления непосредственно на экране, а также запись всей программы или ее частей при помощи MacroRecorder.
При беглом знакомстве с технологией визуального программирования может создаться впечатление, что она сводится к записи макросов, помещению в формы элементов управления и определении их связей с макросами. Довольно часто при решении простейших задач так и происходит. Но если требуется создать сколько-нибудь продвинутое приложение с содержательной обработкой данных, то на первый план выступает сам язык VBA. Такое заключение можно сделать даже на примере, рассмотренном в предыдущей главе. Если бы требовалось сделать макрос Расходы универсальным, не зависящим от имени рабочего листа, то необходимо было бы внести изменения в коды программы, а для этого надо понимать их структуру.
Объекты и их семейства
VBA относится к языкам объектно-ориентированного программирования (ООП). ООП можно описать как методику анализа, проектирования и написания приложений с помощью объектов. Что такое объект? Объект nq-зволяет инкапсулировать данные вместе с кодом, предназначенным для их обработки, т. е. объединить их в нечто целое, именуемое объектом. VBA не является объектно-ориентированном языком в строгом понимании этого слова, однако объектный подход играет в нем большую роль. Все визуальные объекты, такие какрабочий лист (worksheet), диапазон (Range), диаграмма (Chart), форма (userForm), являются объектами. В VBA имеется более 100 встроенных объектов.
Семейство (объект collection) представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа. Например, объект workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Каждый элемент семейства нумеруется и может быть идентифицирован либо по номеру, либо по имени. Например, worksheets (1) обозначает первый рабочий лист активной книги, a worksheets ("Лист1") — рабочий лист с именем лист1.
Объекты OLE и ActiveX
В VBA используется механизм OLE (Object Linking and Embedding — связывание и внедрение объектов), который позволяет взаимодействовать с любыми программами, поддерживающими OLE. Примером элементов, которые можно интегрировать при помощи механизма OLE, являются вставляемые объекты OLEObject, создаваемые, например, при помощи программ WordArt, ClipArt и т. д. Все OLE-объекты рабочего листа образуют семейство oLEObjects. Вручную в рабочий лист OLE-объекты вставляются командой Вставка, Объект (Insert, Object) с выбором в появившемся диалоговом окне Вставка объекта (Object) из списка на вкладке Создание (Create New) внедряемого объекта. OLE-объект отличается от обычного тем, что при выборе внедренного объекта (перемещении на него указателя и щелчке кнопкой мыши) активизируется программа, связанная с этим объектом, и меню приложения заменяется меню программы, его создавшей. Теперь можно, не выходя из основного приложения, работать с данным объектом, редактируя и видоизменяя его средствами создавшей его программы. Кроме того, OLE-технологля обладает так называемым свойством Automation, с помощью которого можно устанавливать свойства, применять методы и обрабатывать события внедренных объектов, как обычных объектов приложения.
С 1996 года фирма Microsoft ввела новую терминологию и теперь то, что раньше именовалось OLE-объект, называется объектом ActiveX, a OLE Automation называется ActiveX Automation.
Классы
Важнейшим понятием ООП является класс. Класс обычно описывается, как проект, на основе которого впоследствии будет создан конкретный объект. Таким образом, класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь каждый объект, в соответствии с описанным выше, является экземпляром класса.
Методы
Объект сам по себе не представляет большого значения. Намного значительнее то, какие действия можно совершать над объектом, и какими свойствами он обладает. Метод как раз и представляет собой действие, выполняемое над объектом.
Синтаксис применения метода:
Объект.Метод
В данном примере при помощи метода Quit [cut]
(закрыть) закрывается приложение (объект Application).
Application.Quit
Метод можно применять ко всем объектам семейства. В данном примере к семейству chartobjects (диаграммы) рабочего листа Лист! применен метод Delete (удалить), который приводит к удалению всех диаграмм с рабочего листв Лист1:
Worksheets("Лист!").Chartobjects.Delete
Свойства
Свойство представляет собой атрибут объекта, определяющий его характеристики, такие как размер, цвет, положение на экране и состояние объекта, например, доступность или видимость. Чтобы изменить характеристики объекта, надо просто изменить значения его свойств.
Синтаксис установки значения свойства:
Объект.Свойство = ЗначениеСвойства
В следующем примере изменяется заголовок окна Excel посредством задания свойства Caption объекту Application:
Application.Caption = "Пример"
Свойство можно изменять сразу у всех объектов семейства. В приведенном ниже примере с помощью установки свойству visible (видимость) значения False (ложь) все рабочие листы активной книги (семейство объектов worksheets) скрываются:
Worksheets.Visible = False
Среди свойств особое место занимают свойства, возвращающие объект. Приведем наиболее часто употребляемые подобные свойства.
Возвращает активное окно Excel | |||
Возвращает активную рабочую книгу активного окна Excel | |||
Возвращает активный лист активной рабочей книги | |||
Возвращает активное диалоговое окно активного рабочего листа | |||
Возвращает активную диаграмму активного рабочего листа | |||
Возвращает активную ячейку активного рабочего листа | |||
Свойство ActiveCell возвращает активную ячейку активного рабочего листа активной рабочей книги. Следующие три примера возвращают одну и ту же активную ячейку. Обратите внимание на первый из них. Его особенностью является то, что свойство, возвращающее объект, в инструкции записывается без этого объекта. Такой способ записи является допустимым и применяется к широкому классу свойств, возвращающих объекты.
ActiveCell
ActiveWindow.ActiveCell
Application.ActiveWindow.ActiveCell
События
Событие представляет собой действие, распознаваемое объектом (например, щелчок мышью или нажатие клавиши), для которого можно запрограммировать отклик. События возникают в результате действий пользователя или программы, или же они могут быть вызваны системой.
Суть программирования на VBA как раз и заключается в этих двух понятиях: событие и отклик на него. Если пользователь производит какое-то воздействие на систему, скажем нажимает кнопку, тогда в качестве отклика выполняется код созданной пользователем процедуры. Если такой отклик не создан, т. е. не написана соответствующая процедура, то система никак не реагирует на данное событие, и оно остается безответным. Как говорится, на нет и суда нет. Таким образом, действия, происходящие в системе, являются событиями, а отклики на них — процедурами. Этот специальный вид процедур, генерирующих отклик на события, называется процедурами обработки событий. В целом программирование на VBA состоит в создании кода программ, которые генерируют прямо или косвенно отклики на события.
Еще записи по теме
www.ikasteko.ru
Что такое VBA? Что такое макросы VBA? Что такое надстройки?
На страницах этого сайта вы найдете ответы на вопросы «Что такое VBA?», «Что такое макросы VBA?», «Что такое надстройки?», а также найдете учебные примеры и готовые макросы и надстройки, позволяющие сделать вашу работу на компьютере более комфортной. И более того, сами научитесь основным действиям, необходимым для работы с макросами и надстройками, такими как запись, просмотр, редактирование, копирование, удаление и так далее.
Что такое VBA?
Итак, VBA – это сокращение от слов Visual Basic for Applications. VBA – это слегка упрощенная версия языка программирования Visual Basic, которую поддерживают приложения Microsoft Office.
Кроме того VBA встраивается и в другие программные продукты, такие как AutoCAD, SolidWorks, CorelDRAW, 3D Studio Max, и многие другие. Особенностью VBA является удобство при первом знакомстве с программированием, так как в наиболее используемых приложениях Microsoft Office имеется редактор VB (Visual Basic Editor), а также макрорекордер – средство кодирования действий пользователя для последующего их повторения. Кроме того, эти инструменты можно с успехом использовать для самостоятельного обучения программированию, «записывая» многие свои действия с помощью макрорекордера, а затем просматривая и корректируя результирующий код.
Что такое макросы VBA?
Таким образом, последовательности команд, записанных с помощью макрорекордера, либо вручную в редакторе VB, называются макрокомандами, либо сокращенно – просто макросами. Макрос VBA - это макрос, написанный на языке Visual Basic for Applications. Применительно к тематике программных приложений под словом макрос всегда имеется в виду макрокоманда.
При помощи макросов можно создавать пользовательские меню, диалоговые окна, а также панели инструментов, которые могут существенно изменить интерфейс всем известных приложений Word и Excel.
Что такое надстройки?
Надстройки – это программы, добавляющие в приложения дополнительные возможности.
Говоря обычным языком, надстройка – это особого типа файл, в котором могут содержаться различные сведения о константах, макросах, пользовательских формах и т.д. Надстройка - это также удобный способ хранения и распространения программного кода макроса (макросов). Файлы надстроек для Excel, имеют как правило расширения .xla/.xlam, надстройки для Word представляют собой глобальные шаблоны и имеют расшерения .dot/.dotm. Для PowerPoint - это pptm-файлы.
Редактор Visual Basic – не только средство редактирования кода, но и средство отладки кода, так как дает пользователям возможность в интерактивном режиме проверить действие любой синтаксической конструкции.
Если Вы попали на страницы этого сайта, то скорее всего Вы уже знакомы с тем, что такое MS Office в целом и MS Excel в частности. Остановимся на наиболее популярных приложениях пакета - Word и Excel, так как именно для этих приложений уже существует наибольшее количество готовых макросов и надстроек, но программирование можно использовать и в других приложениях пакета.
Microsoft Word – один из наиболее популярных текстовых редакторов, который позволяет набирать, редактировать, форматировать и распечатывать текст.
Microsoft Excel – наиболее популярное приложение для работы с таблицами и табличными данными, совмещающая в себе систему обработки числовых данных, средства для построения диаграмм и обработки электронных таблиц.
Проще говоря, Excel – это удобная табличная форма с возможностями калькулятора, позволяющего выполнять интенсивные расчеты на основе имеющихся данных. О том как работать с этими приложениями написано немало литературы, которую можно найти и на просторах интернета и на полках книжных магазинов. Если же Вы уже освоили стандартные возможности офисных приложений и посчитали, что этого недостаточно для решения Ваших задач, то давайте перейдем к вопросам «Что такое VBA?», «Что такое Макросы?», «Что такое надстройки» и «Как всем этим пользоваться?». Конечно, и Word, и Excel предоставляют достаточно широкий набор функций для выполнения самых разнообразных задач, но все же знание и использование макросов VBA дает такие преимущества, которые невозможно переоценить.
Для чего нужны макросы и надстройки?
Не секрет, что компьютеры гораздо лучше людей приспособлены для выполнения повторяющихся задач, поэтому использование макросов существенно увеличивает скорость и значительно повышает точность работы. Использование макросов является настоящим спасением от часто повторяющейся, рутинной работы, с которой каждый, наверно, хоть раз да сталкивался. Не буду пытаться обучить Вас тонкостям написания макросов, сделаю с Вами только самые первые шаги в этом направлении и скажу, что уже многие умные головы посвятили этому свои интернет-сайты, книги и различные самоучители и что, как говорится, «не так страшен черт, как его малюют» )). При определенных усилиях Вы сможете самостоятельно записать макросы либо даже написать свои собственные процедуры, а на этом сайте вы сможете найти достаточное количество готовых решений, если не хотите тратить свое время на то, чтобы разбираться в основах программирования в VBA.
macros-vba.ru