Команды 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. 01.100 по 31.12.9999 и

 

 

 

 

время с 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. Варианты:

  • Глобальный — Доступен в каждом приложении.
  • Для конкретного приложения — Доступно в указанном вами приложении. При выборе этого параметра приложения, открытые в данный момент на вашем компьютере, отображаются в списке. Если нужное приложение не открыто, нажмите кнопку Обзор, чтобы найти его на своем компьютере.
  • Зависит от окна — Доступно в указанном вами окне. При выборе этого параметра появляются списки приложений и окон. Если нужное приложение или окно отсутствует в списке, необходимо закрыть диалоговое окно, открыть нужное приложение или окно и повторно открыть диалоговое окно Редактор MyCommands — Автотекст, чтобы увидеть окно в списке.

Когда вы выбираете параметр Application-specific или Window-specific, появляется список Recognizable in States. Вы можете либо выбрать из списка, либо ввести имя нового состояния. Команда с этой опцией будет доступна в указанном вами состоянии в указанном вами окне или приложении.

Тип команды

Указывает тип команды. В данном случае это расширенный сценарий. Другие типы команд:

  • Автотекстовые команды
  • Пошаговые команды
  • Команды записи макросов

Редактор имен

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

Дополнительные сведения см. в разделе MyCommands — диалоговое окно «Редактор имен».

Скрипт

Окно сценария. При создании скрипта:

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

Список команд сценариев и способы их использования см. по адресу:
https://www.nuance.com/products/help/dragon/dragon-for-pc/scriptref/Content/GetStart1.htm

Панель инструментов

Панель инструментов сценариев.

Объект

Тип объекта. Объект «(Общие)» объединяет все процедуры, которые не являются частью какого-либо конкретного объекта.

Процесс:

Показывает все процедуры для
текущий объект. Используйте его для выбора типа процедуры из списка доступных процедур. Процедура, не выделенная полужирным шрифтом, вставляет правильное определение процедуры для этой процедуры.

Сохранить

Нажмите, чтобы сохранить сценарий. Эта кнопка недоступна, пока вы не укажете разговорный заголовок.

Создать новый

Нажмите, чтобы открыть диалоговое окно Advanced Scripting с дубликатом текущей команды. Вы можете переименовать и отредактировать команду, чтобы создать новую.

Примечание: Эта кнопка активна только при открытии редактора из области «Сценарий» обозревателя команд путем выбора команды и нажатия кнопки «Редактировать».

Существуют три структурированные командные функции, которые можно использовать с MyCommands: функция SetState, GetState и PromptValue.