Смекни!
smekni.com

Основы программирования в среде Visual Basic for Application VBA (стр. 9 из 21)

Чтобы представить числовое значение как дату, время, денежное значение или в специальном формате, следует использовать функцию Format. Возвращает значение типа Variant (String), содержащее выражение, отформатированное согласно инструкциям, заданным в описании формата. Синтаксис: Format(Выражение[, Формат[, ПервыйДеньНедели [, ПерваяНеделяГода]]])

Выражение – любое допустимое выражение

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

ПервыйДеньНедели – постоянная, определяющая первый день недели

ПерваяНеделяГода – постоянная, определяющая первую неделю года

При построении пользовательского числового формата возможно использование следующих символов.

0 Резервирует позицию цифрового разряда. Отображает цифру или нуль. Если у числа, представленного аргументом, есть какая-нибудь цифра в той позиции разряда, где в строке формата находится 0, функция отображает эту цифру аргумента, если нет – в этой позиции отображается нуль
# Резервирует позицию цифрового разряда. Отображает цифру или ничего не отображает. Если у числа, представлен-1 ного аргументом, есть какая-нибудь цифра в той позиции разряда, где в строке формата находится #, функция отображает эту цифру аргумента, если нет – в исходной позиции не отображается ничего. Действие данного символа аналогично действию 0, за исключением того, что лидирующие нули не отображаются
. Резервирует позицию десятичного разделителя
% Резервирует процентное отображение числа
, Разделитель разряда сотен от тысяч
: Разделитель часов, минут и секунд в категории форматовВремя(Time)
/ Разделитель дня, месяца и года в категории форматов Дата(Date)
E+, E-, e+, e- Разделитель мантиссы и порядка в экспоненциальном формате

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

Функция Тип, в который преобразуется выражение
CBool (Выражение) Boolean
CByte (Выражение) Byte
CCur (Выражение) Currency
CDate (Выражение) Date
СОЫ (Выражение) Double
CDec (Выражение) Decimel
CInt (Выражение) Integer
CLng (Выражение) Long
CSng (Выражение) Single
CVar (Выражение) Variant
CStr (Выражение) String

4.7.1 Функции обработки строк

В VBA имеются следующие функции обработки строковых выражений.

Функция Возвращаемое выражение
Asc Возвращает ASCII-код начальной буквы строки. Синтаксис:Asc(Строка)
Chr Преобразует ASCII-код в строку. Синтаксис:Chr(Код)Например Chr (13) – переход на новую строку, Chr(97) = "а"
Lcase Преобразует строку к нижнему регистру.Синтаксис:Lcase(Строка)
Ucase Преобразует строку к верхнему регистру.Синтаксис:Ucase(Строка)
Left Возвращает подстроку, состоящую из заданного числа первых символов исходной строки.Синтаксис:Left(string, length)Аргументы:length – число символовstring – исходная строка
Right Возвращает строку, состоящую из заданного числа последних символов исходной строки.Синтаксис:Right(string, length)Аргументы:length – число символовstring – исходная строка
Mid Возвращает подстроку строки, содержащую указанное число символовСинтаксис:Mid(string, start [, length])Аргументы:string – строковое выражение, из которого извлекается подстрокаstart – позиция символа в строке string, с которого начинается нужная подстрокаlength – число возвращаемых символов подстроки.
Len Возвращает число символов строки. Синтаксис:Len(Строка)
LTrim Возвращает копию строки без пробелов в начале Синтаксис:LTrim(Строка)
Rtrim Возвращает копию строки без пробелов в конце.Синтаксис:RTrimfСтрока)
Trim Возвращает копию строки без пробелов в начале и в концеСинтаксис:Trim(Строка)
Space Возвращает строку, состоящую из указанного числа пробелов.Синтаксис:Space(Число)
String Возвращает строку, состоящую из указанного числа повторений одного и того же символа.Синтаксис:String(number,character)Аргументы:number – число повторений символаcharacter – повторяемый символ
StrComp Возвращает результат сравнения двух строк.Синтаксис:StrComp(stringl, string2 [, compare])Аргументы:stringl и string2 – два любых строковых выраженияcompare – указывает способ сравнения строк. Допустимые значения: 0 (двоичное сравнение), 1 (посимвольное сравнение без учета регистра)Возвращаемые значения:string1 меньше, чем string2, то -1string1 равняется string2, то 0string1 больше, чем string2, то 1
InStr Возвращает позицию первого вхождения одной строки внутри другой строки.Синтаксис:InStr([start, ]stringl, string2[, compare])Аргументы:start – числовое выражение, задающее позицию, с которой начинается каждый поиск. Если этот аргумент опущен, поиск начинается с первого символа строки
Возвращаемое выражениеstringl – строковое выражение, в котором выполняется поискstring2 – искомое строковое выражениеcompare – указывает способ сравнения строк. Допустимые значения: 0 (для двоичного сравнения), 1 (посимвольное сравнение без учета регистра).

4.8 Инструкции VBA

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

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

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

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


4.8.1 Оператор присваивания

Оператор присваивания позволяет присвоить значение выражения переменной, константе или свойству объекта. Оператор присвоения всегда включает знак равенства (=). Синтаксис: <Переменная> (или Постоянная или Свойство Объекта) = <Выражение>

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

х = 2

х = х + 2

переменной х будет присвоено 4.

Для присваивания переменной ссылки на объект применяется инструкция Set. В следующем примере инструкция Set присваивает переменной область Диапазон А1:B3:

Set Область = Range("А1:ВЗ")

В общем случае инструкция set имеет следующий синтаксис:

Set ОбъектнаяПеременная = {[New] ОбъектноеВыражение | Nothing}

ключевое слово New используется при создании нового экземпляра класса; ключевое слово Nothing позволяет освободить все системные ресурсы и ресурсы памяти, выделенные для объекта, на который имелась ссылка (вольно говоря, она удаляет объект из памяти).

4.8.2 Расположение нескольких операторов на одной строке

Использование знака двоеточия позволяет разместить несколько операторов на одной строке. Таким образом, следующие две конструкции эквивалентны:

1. х= х+1 и 2. х = х+1: у = х+2

у = х+2

5. Ввод и вывод информации

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

InputBox

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

InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])

Здесь аргументы означают:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;

title – строковое выражение, отображаемое в строке заголовка диалогового окна. Если этот аргумент опущен, в строку заголовка помещается имя приложения;

default – строковое выражение, отображаемое в поле ввода как используемое по умолчанию, если пользователь не введет другую строку. Если этот аргумент опущен, поле ввода изображается пустым;

xpos – числовое выражение, задающее расстояние по горизонтали между левой границей диалогового окна и левым краем экрана. Если этот аргумент опущен, диалоговое окно выравнивается по центру экрана по горизонтали;

ypos – числовое выражение, задающее расстояние по вертикали между верхней границей диалогового окна и верхним краем экрана. Если этот аргумент опущен, диалоговое окно помещается по вертикали примерно на одну треть высоты экрана;

helpfile – строковое выражение, определяющее имя файла справки, содержащего справочные сведения о данном диалоговом окне. Если этот аргумент указан, необходимо наличие также аргумента context;

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

MsgBox

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

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

Аргументы:

prompt – строковое выражение, отображаемое как сообщение в диалоговом окне;