0

Возможности vba в excel

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

Что такое VBA

Программирование в Excel осуществляется посредством языка программирования Visual Basic for Application, который изначально встроен в самый известный табличный процессор от Microsoft.

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

Недостатком программы являются проблемы, связанные с совместимостью различных версий. Они обусловлены тем, что код программы VBA обращается к функциональным возможностям, которые присутствуют в новой версии продукта, но отсутствуют в старой. Также к минусам относят и чрезмерно высокую открытость кода для изменения посторонним лицом. Тем не менее Microsoft Office, а также IBM Lotus Symphony позволяют пользователю применять шифрование начального кода и установку пароля для его просмотра.

Объекты, коллекции, свойства и методы

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

Главным из них является Application, соответствующий самой программе Excel. Затем следуют Workbooks, Worksheets, а также Range. Например, для обращения к ячейке A1 на конкретном листе следует указать путь с учетом иерархии.

Что касается понятия "коллекция", то это группа объектов того же класса, которая в записи имеет вид ChartObjects. Ее отдельные элементы также являются объектами.

Следующее понятие — свойства. Они являются необходимой характеристикой любого объекта. Например, для Range — это Value или Formula.

Методы — это команды, показывающие, что требуется сделать. При написании кода в VBA их необходимо отделять от объекта точкой. Например, как будет показано в дальнейшем, очень часто при программировании в "Эксель" используют команду Cells(1,1).Select. Она означает, что необходимо выбрать ячейку с координатами (1,1) т.е. A1.

Вместе с ней нередко используется Selection.ClearContents. Ее выполнение означает очистку содержимого выбранной ячейки.

Как начать

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

Затем необходимо перейти в приложение VB, для чего достаточно воспользоваться комбинацией клавиш «Alt» и «F11». Далее:

  • в строке меню, расположенном в верхней части окна, нажимают на иконку рядом с иконкой Excel;
  • выбирают команду Mudule;
  • сохраняют, нажав на иконку с изображением floppy disk;
  • пишут, скажем так, набросок кода.

Он выглядит следующим образом:

Обратите внимание, что строка «’Наш код» будет выделена другим цветом (зеленым). Причина в апострофе, поставленном в начале строки, который обозначает, что далее следует комментарий.

Теперь вы можете написать любой код и создать для себя новый инструмент в VBA Excel (примеры программ см. далее). Конечно, тем, кто знаком с азами Visual Basic, будет намного проще. Однако даже те, кто их не имеет, при желании смогут освоиться достаточно быстро.

Макросы в Excel

За таким названием скрываются программы, написанные на языке Visual Basic for Application. Таким образом, программирование в Excel — это создание макросов с нужным кодом. Благодаря этой возможности табличный процессор Microsoft саморазвивается, подстраиваясь под требования конкретного пользователя. Разобравшись с тем, как создавать модули для написания макросов, можно приступать к рассмотрению конкретных примеров программ VBA Excel. Лучше всего начать с самых элементарных кодов.

Пример 1

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

  • открывают вкладку «Вид»;
  • переходят на пиктограмму «Макросы»;
  • жмут на «Запись макроса»;
  • заполняют открывшуюся форму.

Для простоты в поле «Имя макроса» оставляют «Макрос1», а в поле «Сочетание клавиш» вставляют, например, hh (это значит, что запустить программку можно будет блиц-командой «Ctrl+h»). Нажимают Enter.

Теперь, когда уже запущена запись макроса, производят копирование содержимого какой-либо ячейки в другую. Возвращаются на исходную пиктограмму. Нажимают на «Запись макроса». Это действие означает завершение программки.

  • вновь переходят на строку «Макросы»;
  • в списке выбирают «Макрос 1»;
  • нажимают «Выполнить» (то же действие запускается начатием сочетания клавиш «Ctrl+hh»).

В результате происходит действие, которое было осуществлено в процессе записи макроса.

Имеет смысл увидеть, как выглядит код. Для этого вновь переходят на строку «Макросы» и нажимают «Изменить» или «Войти». В результате оказываются в среде VBA. Собственно, сам код макроса находится между строками Sub Макрос1() и End Sub.

Если копирование было выполнено, например, из ячейки А1 в ячейку C1, то одна из строк кода будет выглядеть, как Range(“C1”).Select. В переводе это выглядит, как «Диапазон(“C1”).Выделить», иными словами осуществляет переход в VBA Excel, в ячейку С1.

Активную часть кода завершает команда ActiveSheet.Paste. Она означает запись содержания выделенной ячейки (в данном случае А1) в выделенную ячейку С1.

Пример 2

Циклы VBA помогают создавать различные макросы в Excel.

Циклы VBA помогают создавать различные макросы. Предположим, что имеется функция y=x + x 2 + 3x 3 – cos(x). Требуется создать макрос для получения ее графика. Сделать это можно только, используя циклы VBA.

За начальное и конечное значение аргумента функции берут x1=0 и x2=10. Кроме того, необходимо ввести константу — значение для шага изменения аргумента и начальное значение для счетчика.

Читайте также:  Как включить клавиатуру на смартфоне

Все примеры макросов VBA Excel создаются по той же процедуре, которая представлена выше. В данном конкретном случае код выглядит, как:

Do While x1 0 Then Cells(1, 1).Value = 1

В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.

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

Еще при помощи Visual Studio Tools for Office можно писать макросы на C# и также встраивать их. Спасибо, FireStorm.

Сразу скажу — писать на других языках (C++/Delphi/PHP) также возможно, но требуется научится читать, изменять и писать файлы офиса — встраивать в документы не получится. А интерфейсы Microsoft работают через COM. Чтобы вы поняли весь ужас, вот Hello World с использованием COM.

Поэтому, увы, будем учить Visual Basic.

Итак, поехали. Открываем Excel.

Для начала давайте добавим в Ribbon панель «Разработчик». В ней находятся кнопки, текстовые поля и пр. элементы для конструирования форм.

Теперь давайте подумаем, на каком примере мы будем изучать VBA. Недавно мне потребовалось красиво оформить прайс-лист, выглядевший, как таблица. Идём в гугл, набираем «прайс-лист» и качаем любой, который оформлен примерно так (не сочтите за рекламу, пожалуйста):

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

Результат, которого хотим добиться, выглядит примерно так:

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

Для начала требуется создать кнопку, при нажатии на которую будет вызываться наша програма. Кнопки находятся в панели «Разработчик» и появляются по кнопке «Вставить». Вам нужен компонент формы «Кнопка». Нажали, поставили на любое место в листе. Далее, если не появилось окно назначения макроса, надо нажать правой кнопкой и выбрать пункт «Назначить макрос». Назовём его FormatPrice. Важно, чтобы перед именем макроса ничего не было — иначе он создастся в отдельном модуле, а не в пространстве имен книги. В этому случае вам будет недоступно быстрое обращение к выделенному листу. Нажимаем кнопку «Новый».

И вот мы в среде разработки VB. Также её можно вызвать из контекстного меню командой «Исходный текст»/«View code».

Перед вами окно с заглушкой процедуры. Можете его развернуть. Код должен выглядеть примерно так:

Напишем Hello World:

Sub FormatPrice()
MsgBox "Hello World!"
End Sub

И запустим либо щелкнув по кнопке (предварительно сняв с неё выделение), либо клавишей F5 прямо из редактора.

Тут, пожалуй, следует отвлечься на небольшой ликбез по поводу синтаксиса VB. Кто его знает — может смело пропустить этот раздел до конца. Основное отличие Visual Basic от Pascal/C/Java в том, что команды разделяются не ;, а переносом строки или двоеточием (:), если очень хочется написать несколько команд в одну строку. Чтобы понять основные правила синтаксиса, приведу абстрактный код.

Примеры синтаксиса

‘ Процедура. Ничего не возвращает
‘ Перегрузка в VBA отсутствует
Sub foo(a As String , b As String )
‘ Exit Sub ‘ Это значит "выйти из процедуры"
MsgBox a + ";" + b
End Sub

‘ Функция. Вовращает Integer
Function LengthSqr(x As Integer , y As Integer ) As Integer
‘ Exit Function
LengthSqr = x * x + y * y
End Function

Sub FormatPrice()
Dim s1 As String , s2 As String
s1 = "str1"
s2 = "str2"
If s1 <> s2 Then
foo "123" , "456" ‘ Скобки при вызове процедур запрещены
End If

Dim res As sTRING ‘ Регистр в VB не важен. Впрочем, редактор Вас поправит
Dim i As Integer
‘ Цикл всегда состоит из нескольких строк
For i = 1 To 10
res = res + CStr(i) ‘ Конвертация чего угодно в String
If i = 5 Then Exit For
Next i

Dim x As Double
x = Val( "1.234" ) ‘ Парсинг чисел
x = x + 10
MsgBox x

On Error Resume Next ‘ Обработка ошибок – игнорировать все ошибки
x = 5 / 0
MsgBox x

On Error GoTo Err ‘ При ошибке перейти к метке Err
x = 5 / 0
MsgBox "OK!"
GoTo ne

ne:
On Error GoTo 0 ‘ Отключаем обработку ошибок

‘ Циклы бывает, какие захотите
Do While True
Exit Do

Loop ‘While True
Do ‘Until False
Exit Do
Loop Until False
‘ А вот при вызове функций, от которых хотим получить значение, скобки нужны.
‘ Val также умеет возвращать Integer
Select Case LengthSqr(Len( "abc" ), Val( "4" ))
Case 24
MsgBox "0"
Case 25
MsgBox "1"
Case 26
MsgBox "2"
End Select

‘ Двухмерный массив.
‘ Можно также менять размеры командой ReDim (Preserve) – см. google
Dim arr(1 to 10, 5 to 6) As Integer
arr(1, 6) = 8

Dim coll As New Collection
Dim coll2 As Collection
coll.Add "item" , "key"
Set coll2 = coll ‘ Все присваивания объектов должны производится командой Set
MsgBox coll2( "key" )
Set coll2 = New Collection
MsgBox coll2.Count
End Sub

Грабли-1. При копировании кода из IDE (в английском Excel) есь текст конвертируется в 1252 Latin-1. Поэтому, если хотите сохранить русские комментарии — надо сохранить крокозябры как Latin-1, а потом открыть в 1251.

Читайте также:  Где в айфоне пуш уведомления

Грабли-2. Т.к. VB позволяет использовать необъявленные переменные, я всегда в начале кода (перед всеми процедурами) ставлю строчку Option Explicit. Эта директива запрещает интерпретатору заводить переменные самостоятельно.

Грабли-3. Глобальные переменные можно объявлять только до первой функции/процедуры. Локальные — в любом месте процедуры/функции.

Еще немного дополнительных функций, которые могут пригодится: InPos, Mid, Trim, LBound, UBound. Также ответы на все вопросы по поводу работы функций/их параметров можно получить в MSDN.

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

В этой части мы уже начнём кодить нечто, что умеет работать с нашими листами в Excel. Для начала создадим отдельный лист с именем result (лист с данными назовём data). Теперь, наверное, нужно этот лист очистить от того, что на нём есть. Также мы «выделим» лист с данными, чтобы каждый раз не писать длинное обращение к массиву с листами.

Sub FormatPrice()
Sheets( "result" ).Cells.Clear
Sheets( "data" ).Activate
End Sub

Работа с диапазонами ячеек

Вся работа в Excel VBA производится с диапазонами ячеек. Они создаются функцией Range и возвращают объект типа Range. У него есть всё необходимое для работы с данными и/или оформлением. Кстати сказать, свойство Cells листа — это тоже Range.

Примеры работы с Range

Sheets( "result" ).Activate
Dim r As Range
Set r = Range( "A1" )
r.Value = "123"
Set r = Range( "A3,A5" )
r.Font.Color = vbRed
r.Value = "456"
Set r = Range( "A6:A7" )
r.Value = "=A1+A3"

Теперь давайте поймем алгоритм работы нашего кода. Итак, у каждой строчки листа data, начиная со второй, есть некоторые данные, которые нас не интересуют (ID, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:

  1. Считали группы из очередной строки.
  2. Пробегаемся по всем группам в порядке приоритета (вначале более крупные)
  1. Если текущая группа не совпадает, вызываем процедуру AddGroup(i, name), где i — номер группы (от номера текущей до максимума), name — её имя. Несколько вызовов необходимы, чтобы создать не только наш заголовок, но и всё более мелкие.
  • После отрисовки всех необходимых заголовков делаем еще одну строку и заполняем её данными.
  • Для упрощения работы рекомендую определить следующие функции-сокращения:

    Function GetCol(Col As Integer ) As String
    GetCol = Chr(Asc( "A" ) + Col)
    End Function

    Function GetCellS(Sheet As String , Col As Integer , Row As Integer ) As Range
    Set GetCellS = Sheets(Sheet).Range(GetCol(Col) + CStr(Row))
    End Function

    Function GetCell(Col As Integer , Row As Integer ) As Range
    Set GetCell = Range(GetCol(Col) + CStr(Row))
    End Function

    Далее определим глобальную переменную «текущая строчка»: Dim CurRow As Integer. В начале процедуры её следует сделать равной единице. Еще нам потребуется переменная-«текущая строка в data», массив с именами групп текущей предыдущей строк. Потом можно написать цикл «пока первая ячейка в строке непуста».

    Глобальные переменные

    Option Explicit ‘ про эту строчку я уже рассказывал
    Dim CurRow As Integer
    Const GroupsCount As Integer = 2
    Const DataCount As Integer = 3

    FormatPrice

    Sub FormatPrice()
    Dim I As Integer ‘ строка в data
    CurRow = 1
    Dim Groups(1 To GroupsCount) As String
    Dim PrGroups(1 To GroupsCount) As String

    Sheets( "data" ).Activate
    I = 2
    Do While True
    If GetCell(0, I).Value = "" Then Exit Do
    ‘ .
    I = I + 1
    Loop
    End Sub

    Теперь надо заполнить массив Groups:

    На месте многоточия

    Dim I2 As Integer
    For I2 = 1 To GroupsCount
    Groups(I2) = GetCell(I2, I)
    Next I2
    ‘ .
    For I2 = 1 To GroupsCount ‘ VB не умеет копировать массивы
    PrGroups(I2) = Groups(I2)
    Next I2
    I = I + 1

    И создать заголовки:

    На месте многоточия в предыдущем куске

    For I2 = 1 To GroupsCount
    If Groups(I2) <> PrGroups(I2) Then
    Dim I3 As Integer
    For I3 = I2 To GroupsCount
    AddHeader I3, Groups(I3)
    Next I3
    Exit For
    End If
    Next I2

    Не забудем про процедуру AddHeader:

    Перед FormatPrice

    Sub AddHeader(Ty As Integer , Name As String )
    GetCellS( "result" , 1, CurRow).Value = Name
    CurRow = CurRow + 1
    End Sub

    Теперь надо перенести всякую информацию в result

    For I2 = 0 To DataCount – 1
    GetCellS( "result" , I2, CurRow).Value = GetCell(I2, I)
    Next I2

    Подогнать столбцы по ширине и выбрать лист result для показа результата

    После цикла в конце FormatPrice

    Sheets( "Result" ).Activate
    Columns.AutoFit

    Всё. Можно любоваться первой версией.

    Некрасиво, но похоже. Давайте разбираться с форматированием. Сначала изменим процедуру AddHeader:

    Sub AddHeader(Ty As Integer , Name As String )
    Sheets( "result" ).Range( "A" + CStr(CurRow) + ":C" + CStr(CurRow)).Merge
    ‘ Чтобы не заводить переменную и не писать каждый раз длинный вызов
    ‘ можно воспользоваться блоком With
    With GetCellS( "result" , 0, CurRow)
    .Value = Name
    .Font.Italic = True
    .Font.Name = "Cambria"
    Select Case Ty
    Case 1 ‘ Тип
    .Font.Bold = True
    .Font.Size = 16
    Case 2 ‘ Производитель
    .Font.Size = 12
    End Select
    .HorizontalAlignment = xlCenter
    End With
    CurRow = CurRow + 1
    End Sub

    Осталось только сделать границы. Тут уже нам требуется работать со всеми объединёнными ячейками, иначе бордюр будет только у одной:

    Поэтому чуть-чуть меняем код с добавлением стиля границ:

    Sub AddHeader(Ty As Integer , Name As String )
    With Sheets( "result" ).Range( "A" + CStr(CurRow) + ":C" + CStr(CurRow))
    .Merge
    .Value = Name
    .Font.Italic = True
    .Font.Name = "Cambria"
    .HorizontalAlignment = xlCenter

    Select Case Ty
    Case 1 ‘ Тип
    .Font.Bold = True
    .Font.Size = 16
    .Borders(xlTop).Weight = xlThick
    Case 2 ‘ Производитель
    .Font.Size = 12
    .Borders(xlTop).Weight = xlMedium
    End Select
    .Borders(xlBottom).Weight = xlMedium ‘ По убыванию: xlThick, xlMedium, xlThin, xlHairline
    End With
    CurRow = CurRow + 1
    End Sub

    Осталось лишь добится пропусков перед началом новой группы. Это легко:

    В начале FormatPrice

    Dim I As Integer ‘ строка в data
    CurRow = 0 ‘ чтобы не было пропуска в самом начале
    Dim Groups(1 To GroupsCount) As String

    Читайте также:  Заряд разряд литий ионных аккумуляторов
    В цикле расстановки заголовков

    If Groups(I2) <> PrGroups(I2) Then
    CurRow = CurRow + 1
    Dim I3 As Integer

    В точности то, что и хотели.

    Надеюсь, что эта статья помогла вам немного освоится с программированием для Excel на VBA. Домашнее задание — добавить заголовки "ID, Название, Цена" в результат. Подсказка: CurRow = 0 CurRow = 1.

    Файл можно скачать тут (min.us) или тут (Dropbox). Не забудьте разрешить исполнение макросов. Если кто-нибудь подскажет человеческих файлохостинг, залью туда.

    Спасибо за внимание.

    Буду рад конструктивной критике в комментариях.

    UPD: Перезалил пример на Dropbox и min.us.

    UPD2: На самом деле, при вызове процедуры с одним параметром скобки можно поставить. Либо использовать конструкцию Call Foo(«bar», 1, 2, 3) — тут скобки нужны постоянно.

    Читайте также:

    1. A) Окно проекта
    2. I. Разработка инвестиционного проекта
    3. I.Чувствительность проекта
    4. II.Денежные потоки инвестиционного проекта
    5. III. Методы финансирования инвестиционного проекта
    6. III. Элементы фирменного стиля
    7. Базовое расписание проекта
    8. Базовые понятия управления проектами
    9. Биогенные элементы
    10. Более сложные элементы ER-модели
    11. В каждом суставе различают основные элементы и добавочные образования.

    Visual Basic для приложений (Visual Basic for Application, VBA) – это инструмент разработки приложений.

    Подобно другим средствам, например, Borland Delphi, Microsoft Visual C++, VBA позволяет создать полностью автоматические программные продукты, решающие практически все задачи, встречающиеся в среде Windows. Эти продукты можно использовать, например, для оформления документов (подготовки текстов) или анализа данных таблиц (электронных таблиц). VBA – уникальное приложение, поскольку оно встраивается в другое приложение и расширяет его функциональные возможности.

    VBA – не просто стандартный макроязык приложений Microsoft Office: он применяется для расширения функциональных возможностей приложения, в котором используется. Например, можно добавить собственное меню или функцию к встроенным средствам Excel, или создать своего мастера, чтобы упростить создание презентаций PowerPoint.

    Кроме расширения возможностей приложений, VBA позволяет работать с данными, вывести или изменить их из других использующих VBA прикладных программ, например, Visio или AutoCad: можно открыть базу данных Access, прочитать информацию из таблицы и связать ее с рабочим листом Excel, имеется возможность изменить внешний вид рисунка Visio, который создан на основе информации из документа Word. Совместно используя VBA с другими приложениями, например, программами Microsoft Office, можно решать очень сложные задачи.

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

    С помощью VBA можно:

    · создать собственное диалоговое окно и придать ему требуемый внешний вид;

    · создать макросы, расширяющие функциональные возможности приложения, в которое встроен VBA;

    · изменить меню приложения Microsoft Office;

    · управлять другим приложением Microsoft Office или принадлежащими ему данными;

    · объединить данные из нескольких приложений Microsoft Office в одном документе;

    · автоматически создавать или изменять страницы Web, совместно используя приложения Microsoft Office и VBA.

    Разработчика приложений могут заинтересовать следующие инструменты и средства, которые используются при создании проекта VBA:

    · отладка приложений без предварительной компиляции;

    · средства Win32 API;

    · SQL и объекты доступа к данным для управления данными и извлечения их из внешних источников данных, таких как Microsoft SQL Server 6.5;

    · построение и проверка элементов интерфейса непосредственно в среде разработки VBA (Integrated Development Environment, IDE);

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

    Проект – это набор всех программных модулей, связанных с документом Microsoft Office.

    Вспомним, что под документом понимается не только документ Microsoft Word, но и рабочая книга Excel, и база данных Access, и презентация PowerPoint.

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

    1. Объекты основного приложения. Проекты VBA выполняются совместно с другими приложениями. Приложение, в котором разрабатывается и выполняется проект VBA, называется основным. Например, можно создать проект VBA, который работает вместе с Microsoft Excel. В этом случае Excel является основным приложением. Фактически, не используя основное приложение, нельзя построить приложение VBA.

    2. Модули форм. Часто в приложении требуется вывести информацию, а пользователю необходимо вводить данные. В VBA имеется возможность создать формы, которые используются для ввода или вывода данных. Кроме того, с помощью VBA можно разработать формы, а также процедуры обработки событий, возникающие в этих формах.

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

    4. Модули специализированных классов (если они присутствуют в приложении). В VBA реализован механизм OLE (Objects Linking and Embedding – связывание и внедрение объектов), который позволяет использовать объекты различных прикладных программ. Кроме того, в VBA можно создать собственные объекты. Описание объектов включается в модули класса. Каждый модуль класса содержит полную информацию об одном типе объекта.

    | следующая лекция ==>
    Пример программного кода макроса | Визуальное программирование. Состав интегрированной среды разработки VBA

    Дата добавления: 2014-01-05 ; Просмотров: 3356 ; Нарушение авторских прав? ;

    Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

    admin

    Добавить комментарий

    Ваш e-mail не будет опубликован. Обязательные поля помечены *