Современные решения

для защиты Windows приложений

и восстановления исходного кода

Инструкции Visual Basic


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

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

Инструкции описания

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

Инструкции присвоения

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

Исполняемые инструкции

Продолжение инструкций на несколько строк

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

Sub DemoBox() 'Эта процедура описывает строковую переменную,

' присваивает ей значение Мария и выводит

' сцепленное сообщение.

Dim myVar As String

myVar = "Иван"

MsgBox Prompt:="Привет " & myVar, _

Title:="Приветствие", _

Buttons:=vbExclamation

End Sub

Комментарии

Комментарии позволяют объяснить процедуру или определенную инструкцию всем читателям программы. Когда процедура выполняется, Visual Basic игнорирует комментарии. Строки комментария начинаются с апострофа (') или со слова Rem, за которым следует пробел. Их можно вносить в любое место процедуры. Чтобы внести комментарий в строку, на которой расположена инструкция, после инструкции следует поставить апостроф, а за ним комментарий. По умолчанию комментарии выделяются в тексте зеленым цветом.

Проверка синтаксических ошибок

Если после набора строки и нажатия клавиши ENTER строка выделяется красным цветом (может появиться также сообщение об ошибке), необходимо выяснить, что неправильно в данной инструкции и исправить ее.

 

Метод Add

Добавляет объект в семейство.

Синтаксис

объект.Add(компонент)

Синтаксис метода Add содержит следующие элементы:

Элемент

Описание

 

объект

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

компонент

Обязательный. Для семейства LinkedWindows это объект. Для семейства VBComponents -- специальная константа, представляющая модуль класса, форму или стандартный модуль.

В качестве аргумента компонент может использоваться одна из следующих констант:

Константа

Описание

vbext_ct_ClassModule

Добавляет модуль класса в семейство.

Vbext_ct_MSForm

Добавляет форму в семейство.

Vbext_ct_StdModule

Добавляет стандартный модуль в семейство.

Дополнительные сведения

Для семейства LinkedWindows метод Add добавляет окно в семейство текущих связанных окон.

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

Для семейства VBComponents метод Add создает новый стандартный компонент и добавляет его в проект.

Для семейства VBComponents метод Add возвращает объект VBComponent. Для семейства LinkedWindows метод Add возвращает значение Nothing.

Метод AddFromFile

Для семейства References добавляет ссылку на проект из некоторого файла. Для объекта CodeModule добавляет содержимое файла в модуль.

Синтаксис

объект.AddFromFile(имя_файла)

Синтаксис метода AddFromFile содержит следующие элементы:

Элемент

Описание

 

объект

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

имя_файла

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

Дополнительные сведения

Для объекта CodeModule метод AddFromFile вставляет содержимое файла, начиная со строки, предшествующей первой процедуре в программном модуле. Если модуль не содержит процедур, метод AddFromFile помещает содержимое файла в конец модуля.

Метод AddFromGuid

Добавляет ссылку в семейство Reference с помощью уникального кода ссылки (GUID).

Синтаксис

объект.AddFromGuid(GUID, старший, младший) As Reference

Синтаксис метода AddFromGuid содержит следующие элементы:

Элемент

Описание

 

объект

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

GUID

Обязательный. Строковое выражение, представляющее код GUID ссылки.

старший

Обязательный. Переменная типа Long, указывающая номер старшей версии ссылки.

младший

Обязательный. Переменная типа Long, указывающая номер младшей версии ссылки.

Дополнительные сведения

Чтобы найти ссылку, которую необходимо добавить, метод AddFromGuid ищет реестр. GUID может быть библиотекой типов, элементом управления, идентификатором класса и т.д.

Метод AddFromString

Добавляет текст в модуль.

Синтаксис

объект.AddFromString

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

Дополнительные сведения

Метод AddFromString вставляет текст, начиная со строки, предшествующей первой процедуре в модуле. Если модуль не содержит процедур, метод AddFromString помещает текст в конец модуля.

Метод Close

Закрывает и уничтожает окно.

Синтаксис

объект.Close

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

Дополнительные сведения

Метод Close по-разному действует на следующие типы окон:

Если окно является областью окна программы, Close разрушает эту область.

Если окно является конструктором, Close
уничтожает содержащийся в нем конструктор.

Если окно должно всегда оставаться доступным в пункте меню Вид, метод Close скрывает такое окно.

Метод CreateEventProc

Создает процедуру обработки события.

Синтаксис

объект.CreateEventProc(событие, источник) As Long

Синтаксис метода CreateEventProc содержит следующие элементы:

Элемент

Описание

 

объект

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

событие

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

источник

Обязательный. Строковое выражения, указывающее имя объекта, который является источником события.

Дополнительные сведения

Метод CreateEventProc используется для создания процедуры обработки события. Например, чтобы создать процедуру обработки события "Нажатие кнопки" (Click) для элемента управления Command Button с именем Command1, можно использовать следующий код (CM представляет собой объект типа CodeModule):

TextLocation = CM.CreateEventProc("Нажатие кнопки", "Command1")

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

Метод DeleteLines

Стирает одну строку или указанную последовательность строк.

Синтаксис

объект.DeleteLines (строка [, количество])

Синтаксис метода DeleteLines содержит следующие элементы:

Элемент

Описание

 

объект

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

строка

Обязательный. Переменная типа Long, указывающая номер первой строки, которую надо стереть.

количество

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

Дополнительные сведения

Если число стираемых строк не указано, DeleteLines сотрет одну строку.

Метод Export

Сохраняет компонент как отдельный файл или файлы.

Синтаксис

объект.Export(имя_файла)

Синтаксис метода Export содержит следующие элементы:

Элемент

Описание

 

объект

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

имя_файла

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

Дополнительные сведения

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

Метод Find

Ищет активный модуль, содержащий указанную строку.

Синтаксис

объект.Find(образец, строка1, столбец1, строка2, столбец2 [, слово] [, регистр] [, выражение]) As Boolean

Синтаксис метода Find содержит следующие элементы:

Элемент

Описание

 

объект

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

образец

Обязательный. Переменная типа String, значением которой является искомый текст или образец.

строка1

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

столбец1

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

строка2

Обязательный. Переменная типа Long, указывающая номер последней строки совпадающего с образцом текста (если он найден).

столбец2

Обязательный. Переменная типа Long, указывающая номер последнего столбца совпадающего с образцом текста (если он найден).

слово

Необязательный. Переменная типа Boolean, указывающая, что проводится поиск слов только целиком; в этом случае для нее задается значение True. По умолчанию имеет значение False.

регистр

Необязательный. Переменная типа Boolean, указывающая, что поиск проводится с учетом буквенного регистра; в этом случае для нее задается значение True. По умолчанию имеет значение False.

выражение

Необязательный. Переменная типа Boolean, указывающая, что образцом представляет собой правильное выражение; в этом случае для нее задается значение True. По умолчанию имеет значение False.

Дополнительные сведения

Если найден текст, совпадающий с образцом, метод Find возвращает значение True, в противном случае -- значение False.

Аргументы регистр и образец являются взаимоисключающими. Если оба аргумента имеют значение True, возникает ошибка.

Метод Find не влияет на содержимое диалогового окна Find.

Метод GetSelection

Возвращает выделенный фрагмент в области окна программы.

Синтаксис

объект.GetSelection(строка1, столбец1, строка2, столбец2)

Синтаксис метода GetSelection содержит следующие элементы:

Элемент

Описание

 

объект

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

строка1

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

столбец1

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

строка2

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

столбец2

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

Дополнительные сведения

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

Метод Import

Добавляет компонент в проект из файла; возвращает этот вновь добавленный компонент.

Синтаксис

объект.Import(имя_файла) As VBComponent

Синтаксис метода Import содержит следующие элементы:

Элемент

Описание

 

объект

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

имя_файла

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

Дополнительные сведения

Метод Import может использоваться для добавления в проект компонента, формы, модуля, класса, и т.д.

Метод InsertLines

Вставляет одну или несколько строк в указанное место программы.

Синтаксис

объект.InsertLines(строка, текст)

Синтаксис метода InsertLines содержит следующие элементы:

Элемент

Описание

 

объект

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

строка

Обязательный. Переменная типа Long, указывающая место в программе, куда вставляются новые строки.

текст

Обязательный. Переменная типа String, содержащая вставляемый текст.

Дополнительные сведения

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

Метод Item

Возвращает компонент семейства с заданным номером.

Синтаксис

объект.Item(индекс)

Синтаксис метода Item содержит следующие элементы:

Элемент

Описание

 

объект

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

индекс

Обязательный. Выражение, определяющее положение компонента в семействе. Если этот аргумент задается с помощью числового выражения, то индекс должен иметь значение от 1 до значения свойства Count для семейства. Если этот аргумент задается с помощью строкового выражения, то его значение должно совпадать со значением аргумента key, которое указывается при добавлении компонента в семейство.

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

Семейство

Аргумент Key

Windows

Значение свойства Caption

LinkedWindows

Значение свойства Caption

CodePanes

Специальная строка не предусмотрена.

VBProjects

Значение свойства Name

VBComponents

Значение свойства Name

References

Значение свойства Name

Properties

Значение свойства Name

Дополнительные сведения

Аргумент индекс может быть числовым значением или строкой, содержащей заголовок объекта.

Метод Lines

Возвращает указанные строки программы.

Синтаксис

объект.Lines(строка, количество) As String

Синтаксис метода Lines содержит следующие элементы:

Элемент

Описание

 

объект

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

строка

Обязательный. Переменная типа Long, указывающая номер первой строки возвращаемого текста

количество

Обязательный. Переменная типа Long, указывающая количество строк возвращаемого текста.

Дополнительные сведения

Номера строк в программном модуле начинаются с 1.

Метод ProcBodyLine

Возвращает первую строку процедуры.

Синтаксис

объект.ProcBodyLine(имя_процедуры, тип_процедуры) As Long

Синтаксис метода ProcBodyLine содержит следующие элементы:

Элемент

Описание

 

объект

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

Имя_процедуры

Обязательный. Переменная типа String, содержащая имя процедуры.

Тип_процедуры

Обязательный. Указывает вид процедуры, которую надо найти. Поскольку в модуле может находиться несколько различных процедур Property, необходимо указывать вид искомой процедуры. Все процедуры, отличные от процедур-свойств (т.е., процедуры Sub и Function) используют аргумент vbext_pk_Proc.

В качестве аргументатип_процедуры используются следующие константы:

Константа

Описание

vbext_pk_Get

Соответствует процедуре, возвращающей значение свойства.

vbext_pk_Let

Соответствует процедуре, присваивающей свойству значение.

vbext_pk_Set

Соответствует процедуре, задающей ссылку на объект.

vbext_pk_Proc

Используется со всеми процедурами, отличными от процедур-свойств.

Дополнительные сведения

Первой строкой процедуры является строка, на которой находится инструкция Sub, Function или Property.

Метод ProcCountLines

Возвращает количество строк в указанной процедуре.

Синтаксис

объект.ProcCountLines(имя_процедуры, тип_процедуры) As Long

Синтаксис метода ProcCountLines содержит следующие элементы:

Элемент

Описание

 

объект

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

имя_процедуры

Обязательный. Переменная типа String, содержащая имя процедуры.

тип_процедуры

Обязательный. Указывает вид процедуры, которую надо найти. Поскольку в модуле может находиться несколько различных процедур Property, необходимо указывать вид искомой процедуры. Все процедуры, отличные от процедур-свойств(т.е., процедуры Sub и Function) используют аргумент vbext_pk_Proc.

В качестве аргументатип_процедуры используются следующие константы:

Константа

Описание

vbext_pk_Get

Соответствует процедуре, возвращающей значение свойства.

vbext_pk_Let

Соответствует процедуре, присваивающей свойству значение.

vbext_pk_Set

Соответствует процедуре, задающей ссылку на объект.

vbext_pk_Proc

Используется со всеми процедурами, отличными от процедур-свойств.

Дополнительные сведения

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

Назад | Содержание | Вперед