Команды visual basic: Краткие описания основных функций и команд VB (для начинающих)
Содержание
1.3. Основы языка Visual Basic
макрос в Excel, а затем скопировать записанный макрос в свою процедуру.
Порядок работы:
1)выполнить команду Сервис – Макрос – Начать запись;
2)ввести имя макроса;
3)выполнить в нужном порядке действия, которые должны быть записаны в макросе;
4)выполнить команду Сервис – Макрос – Остановить запись;
5)выполнить команду Сервис – Макрос – Макросы, выбрать имя макроса и нажать кнопку Изменить;
6)скопировать команды из макроса в свою программу.
Приведем краткий обзор основных команд и операторов языка VBА. Основные типы данных описаны в табл. 2.
|
|
|
| Таблица 2 |
|
| Основные типы данных VBA | ||
Тип | Содержимое переменной | Диапазон допустимых значений | ||
Byte | Достаточно | малое | целое | От 0 до 255 |
| неотрицательное число |
| ||
Integer | Целое число |
|
| От –32768 до 32767 |
Long | Большое целое число |
| От –2147483648 до 2147483647 | |
|
|
|
| |
Single | Вещественное число |
| От –3,402823Е38 до –1,401298Е-45 | |
| Значение | одинарной | для отрицательных значений и от | |
| точности | с плавающей | 1,401298Е-45 до 3,402823Е38 для | |
| запятой |
|
| положительных значений |
Double | Вещественное число |
| От –1,79769313486231Е308 до | |
| Значение двойной точности | 1,79769313486232Е308 | ||
| с плавающей запятой |
|
| |
String | Последовательность |
| От 0 до 65400 символов | |
| символов |
|
|
|
Boolean | Логический тип данных | Истина (-1) или Ложь (0) | ||
Date | Дата/Время |
|
| Даты с 1. |
|
|
|
| время с 0:00:00 по 23:59:59 |
Type | Набор данных разного типа, | Определяется пользователем | ||
| имеющих | общее | имя |
|
| (запись) |
|
|
|
12
Основные математические функции, используемые в VBA, приведены в табл. 3. Перечень операций приведен в табл. 4 (в порядке уменьшения приоритета операции).
Таблица 3
|
| Математические функции VBA | |||
| Функция |
|
| Значение | |
Abs(число) |
| Абсолютное значение числа (модуль числа) | |||
Cos(число) |
| Косинус числа | |||
Exp(число) |
| Возводит константу е в указанную степень | |||
Int(число) |
| Целая часть числа | |||
Log(число) |
| Натуральный логарифм числа | |||
Rnd |
| Выдает случайное число от 0 до 1 | |||
Round(число, точность) | Округляет число с указанной точностью | ||||
Sin(число) |
| Синус числа | |||
Sqr(число) |
| Квадратный корень из числа | |||
Tan(число) |
| Тангенс числа | |||
|
|
|
| Таблица 4 | |
| Порядок выполнения операций в VBA | ||||
| Знаки операций |
| Операции |
| |
|
| Арифметические операции |
| ||
| ^ |
|
| Возведение в степень |
|
| – |
| Отрицание |
| |
| * или / |
| Умножение или деление |
| |
| \ |
|
| Вычисление целой части от деления |
|
| Mod |
| Вычисление остатка от деления |
| |
| + или – |
| Сложение или вычитание |
| |
|
|
| Операции сравнения |
| |
| = |
|
| Равенство |
|
| <> |
|
| Неравенство (не равно) |
|
| < |
|
| Меньше |
|
| > |
|
| Больше |
|
| <= |
|
| Меньше или равно |
|
| >= |
|
| Больше или равно |
|
|
|
| Логические операции |
| |
| Not |
| Логическое НЕ |
| |
| And |
| Логическое И |
| |
| Or |
| Логическое ИЛИ |
|
Оператор описания переменной
Dim Имя переменной As Тип
13
Оператор присваивания
Имя переменной = Выражение
Оператор ввода
Имя переменной = InputBox (“Сообщение”)
Оператор вывода
MsgBox (“Сообщение” & Имя переменной)
Оператор перехода на рабочий лист Excel
Sheets(“Имя листа”). Select
Sheets(Номер листа).Select
Считывание данных из ячейки рабочего листа Excel
Имя переменной = Сells(номер строки, номер столбца)
Вывод данных в ячейку рабочего листа Excel
Сells(номер строки, номер столбца) = Значение
Условный оператор
Неполная форма:
1.If Условие Then Оператор
2.If Условие Then
Блок операторов
End If
Полная форма:
1.If Условие Then Оператор1 Else Оператор2
2.If Условие Then
14
Блок операторов 1
Else
Блок операторов 2
End If
Оператор выбора
Select Case Тестируемое выражение Case Значение 1
Блок операторов 1 Case Значение 2
Блок операторов 2
……………
Case Значение n
Блок операторов n
Case Else
Блок операторов
End Select
Оператор цикла с параметром
For Параметр = Начало To Конец Step Шаг Блок операторов
Next Параметр
Операторы циклов с предусловием
1. Do While Условие Блок операторов
Loop
2. Do Until Условие Блок операторов
Loop
3. While Условие Блок операторов
Wend
Операторы циклов с постусловием
15
Графика в visual basic
Windows — графическая ОС, а значит любой программист «под Windows» должен уметь рисовать(программно конечно).
Для простейшей графики в Visual Basic (как и в других Basic»ах) используются команды PSet,Line и Circle. Программисты, имевшие дело с другими Basic»ами, спросят: Где Paint , Get, Put? Увы таких команд Visual Basic не понимает, да и существующие реализованы немного по другому.
Visual Basic использует принципы ООП, а значит все графические операторы — методы, и должны иметь объект-«хозяин». Такими хозяевами, являются Форма(Form), Картинка(PictureBox), и пользовательский OCX(UserControl). У каждого из них реализованы, графические методы и вызывать их следует по всем правилам, например: Picture1.PSet (1,1). К этому добавлю, что при работе с формой или собственным OCX, они подразумеваются как объект по умолчанию, а значит PSet (1,1) поставит точку на форме. Или не поставит. Почему?
В этом ещё одна особенность Visual Basic. Объект для рисования нужно подготовить. У каждого объекта, который может содержать графику, есть несколько особых свойств, рассмотрим их подробнее.
AutoRedraw = True/False — в общих чертах, — это свойство разрешает/запрещает рисование. Если оно установлено в True, создаётся как-бы слой над загруженной в объект картинкой, на котором собственно и рисуют. Причём операторы не влияют на загруженную картинку.
ScaleMode — Масштаб. По умолчанию — твипы(Twips). Выбор единиц измерения большой, но по-моему, разумно использовать только ещё Поинты(Points) и Пикселы(Pixels).
DrawMode — Тип рисования, а точнее логическая операция, применяемая к существующему изображению.
DrawStyle — Стиль рисования. Вам позволяется выбрать вариант изображения линий: 0-Полностью(Solid), 1-Тире(Dash), 2-Точка(Dash), 3-Тире-точка(Dash-Dot), 4-Тире-Точка-Точка(Dash-Dot-Dot) и 5-Прозрачно(Transparent).По умолчанию Solid
DrawWidth — Размер точки.
ForeColor — Цвет линий и текста по умолчанию.Чёрный по умолчанию
FillColor — Цвет заливки, для замкнутых фигур.Чёрный по умолчанию
FillStyle — Стиль заливки для замкнутых фигур: 0-Полностью(solid), 1-Прозрачный(Transparent), 2-Горизонтальные линии(Horizontal Line), 3-Вертикальные линии(Vertical Line), 4-По диагонали направо сверху(Upward Diagonal), 5-По Диагонали направо снизу(Downward Diagonal), 6-Крест(Cross), 7-Дигональный крест(Diagonal Cross). По умолчанию значение — 1.
Координаты при рисовании отсчитываются из левого верхнего угла.
Итак объект мы подготовили, теперь рассмотрим методы. Начнём с самого малого — точки.
PSet [Step](X, Y)[,Цвет] — Рисует точку в координатах (X,Y). При использовании Step отсчитывает X и Y, как смещения от координат последней точки Если цвет не указан, используется цвет по умолчанию(ForeColor).
Line(X1,Y1)-[Step](X2,Y2),[Цвет][,Bf/B]— Рисует линию(пустой[B]/закрашенный[Bf] прямоугольник. Для линии координаты задают начальную и конечную точку. Для прямоугольника — координаты левого верхнего и правого нижнего углов соответственно.
Circle (X,Y),Радиус[,Цвет] — Рисует окружность с центром в X, Y, заданным радиусом и цветом( или цветом по умолчанию).
Cls — Очищает экран (не изменяя картинку свойства Picture).
Основные графические методы мы разобрали. Теперь поговорим об утратах и приобретениях. Как я уже говорил Windows забрала из Basic»а операторы Panit, Get, Put. Но при этом она вернула их объединение.
PaintPicture (SrcPicture, X1, Y1, [Width2], [Height1], [X2], [Y2],[Width3], [Height2], [dwRop]) — Метод копирует изображение из исходного объекта в объект — хозяин, следуя указанным параметрам. Размеры объектов могут быть различны. По сути дела PaintPicture — оболочка для API-функций StretchBlt и BitBlt, так что если хотите моете пользоваться ими.
Кроме этого изменился оператор Print он стал абсолютно графическим. О нём скажу только, что место для вывода текста определяется свойствами объекта-хозяина CurrentX, CurrentY. Управление шрифтом через свойство Font, и его свойства.
Вот в общем-то и всё по графике. Добавлю только, что возможности графики можно расширить через Windows API.
vb.net — Что делают команды Get и Set в Visual Basic?
Если у вас есть поле, то есть переменная-член, вы можете получить его значение:
var = someObject.SomeField
или вы можете установить его значение:
someObject.SomeField = someValue
Суть свойства в том, что снаружи оно ведет себя как поле, а внутри ведет себя как метод. Это означает, что вы можете получить и установить свойство точно так же, как и поле, но внутри, а не просто прямое присвоение и извлечение, оно на самом деле выполняет 9 операций.0011 Получить и Установить
часть определения свойства.
Когда ваш проект компилируется, они фактически реализуются как методы, а значение свойства сохраняется в другом месте. Это может быть специальное поле, а может и нет. Примером последнего является свойство
Lines
объекта TextBox
. Для этих данных нет специального поля. На самом деле происходит то, что часть Get
берет текущий текст, разбивает его на разрывы строк и возвращает результирующий массив. Точно так же 9Часть 0011 Set объединяет предоставленный массив в одну строку
и устанавливает текст
. Двумя наиболее распространенными причинами дополнительного кода являются проверка и создание событий.
Простое объявление поля выглядит следующим образом:
Public SomeField As SomeType
Полностью реализованное свойство выглядит так:
Private someField As SomeType Публичное свойство SomeProperty As SomeType Получать Вернуть какое-то поле Конец Получить Установить (значение как SomeType) какое-то поле = значение Конечный набор Конечная собственность
Как видите, поле является закрытым, и когда свойство вызывается в коде, геттер и сеттер получают или устанавливают значение этого поля. После компиляции этот код выглядит так:
Private someField As SomeType Публичная функция get_SomeProperty As SomeType Вернуть какое-то поле Конечная функция Public Sub set_SomeProperty (значение As SomeType) какое-то поле = значение Конец сабвуфера
Как видите, геттер и сеттер буквально являются методами, а свойство — просто синтаксическим сахаром. Java не имеет свойств, и разработчики Java буквально пишут эти два метода как средства доступа к полю.
Совсем недавно авторы VB осознали, что писать весь этот код снова и снова для множества свойств кропотливо, поэтому теперь у нас есть автоматические свойства. Вы можете просто написать это:
Public Property SomeProperty As SomeType
и все остальное подразумевается. Там все еще есть резервное поле, и есть еще геттер и сеттер, но ваш код не загроможден их отображением. Именно так вы будете писать большинство свойств в наши дни. Как я уже говорил ранее, вам все равно придется написать свойство полностью, если вы хотите добавить какую-либо дополнительную функциональность к геттеру или сеттеру. Вызов измененного события, вероятно, является наиболее распространенным примером этого, например.
Публичное событие SomePropertyChanged As EventHandler Private someField As SomeType Публичное свойство SomeProperty As SomeType Получать Вернуть какое-то поле Конец Получить Набор Если значение someField <> Тогда какое-то поле = значение OnSomePropertyChanged(EventArgs.Empty) Конец, если Конечный набор Конечная собственность Защищенная переопределяемая подпрограмма OnSomePropertyChanged (e As EventArgs) RaiseEvent SomePropertyChanged(Me, e) Конец сабвуфера
В этом случае, когда свойство установлено, вспомогательное поле устанавливается тогда и только тогда, когда новое значение отличается от старого значения, а затем возникает событие, уведомляющее слушателей об этом изменении значения свойства. Тот факт, что свойства могут включать в себя дополнительный код, вот почему их следует использовать вместо полей для общедоступных данных.
Редактор MyCommands — диалоговое окно «Расширенные сценарии»
Назад
Пройти обучение
Используйте это диалоговое окно для создания сложных сценариев и последовательностей для выполнения практически любых функций на компьютере с помощью голосовых команд. Создание этих команд требует знакомства с языком программирования Microsoft Visual Basic.
Если вы используете версию Dragon, в которой включен режим Nuance Management Center/NMS, ваши автотекстовые, пошаговые и расширенные команды сценариев доступны на каждом компьютере, на котором вы входите в Dragon.
Список команд сценариев и инструкции по их использованию см. по адресу:
https://www.nuance.com/products/help/dragon/dragon-for-pc/scriptref/Content/GetStart1.htm
Разговорный титул | Что вы говорите, чтобы выполнить команду. Введите угловую скобку (<), чтобы открыть диалоговое окно редактора имен MyCommands и указать переменную. |
Описание | Краткое описание того, что делает команда. Необязательный. |
Нажмите Дополнительно для доступа к дополнительным параметрам.
Группа | Список категорий, по которым вы можете группировать свои команды. Чтобы создать собственную группу, выберите Определяется пользователем и введите имя собственной группы. |
Наличие | Указывает, как команда доступна для Dragon. Варианты:
Когда вы выбираете параметр Application-specific или Window-specific, появляется список Recognizable in States. Вы можете либо выбрать из списка, либо ввести имя нового состояния. Команда с этой опцией будет доступна в указанном вами состоянии в указанном вами окне или приложении. |
Тип команды | Указывает тип команды.
|
Редактор имен | Нажмите, чтобы открыть диалоговое окно Редактор имен MyCommands. Дополнительные сведения см. в разделе MyCommands — диалоговое окно «Редактор имен». |
Скрипт | Окно сценария. При создании скрипта:
Список команд сценариев и способы их использования см. по адресу: |
Панель инструментов | Панель инструментов сценариев. |
Объект | Тип объекта. |
Процесс: | Показывает все процедуры для |
Сохранить | Нажмите, чтобы сохранить сценарий. |
Создать новый | Нажмите, чтобы открыть диалоговое окно Advanced Scripting с дубликатом текущей команды. Вы можете переименовать и отредактировать команду, чтобы создать новую. Примечание: Эта кнопка активна только при открытии редактора из области «Сценарий» обозревателя команд путем выбора команды и нажатия кнопки «Редактировать». |
Существуют три структурированные командные функции, которые можно использовать с MyCommands: функция SetState, GetState и PromptValue.