- •Программирование в Microsoft Excel Лабораторная работа №1 Основы программирования
- •1.1. Интегрированная среда разработки Visual Basic for Application
- •1.2. Основы программирования на vba
- •1.2.1. Структура программы на vba
- •1.2.2. Переменные
- •1.2.3. Оператор присваивания
- •1.2.4. Операции с переменными числовых типов данных
- •1.2.5. Операции с переменными строкового типа
- •1.2.6. Операции с логическими переменными
- •1.2.7. Пользовательский тип данных
- •1.2.8. Константы
- •1.2.9. Перечисление констант
- •1.2.10. Комментарии
1.2.5. Операции с переменными строкового типа
Переменные строкового типа могут содержать до 64000 символов. Описываются эти переменные или указанным выше способом или с явным указанием размера переменной:
Dim S As String*20 - после ключевого слова String указывается знак “*” и количество символов в переменной.
Строки символов, которые присваиваются строковым переменным, заключаются в двойные кавычки. Если кавычки включаются в текст, то каждая пара кавычек обязательно дублируется! Например, строковой переменной Plane нужно присвоить строку "Истребитель "Су-27СМ":
Plane = "Истребитель ""Су-27СМ"""
Для переменных типа String используется только одна операция: + (или &) - объединение строк. Например, оператор
St = "Visual " + "Basic" (или St = "Visual " & "Basic")
присвоит переменной St значение "Visual Basic". Аналогичное действие выполнят операторы
H = "Visual "
St = H & "Basic"
Есть также ряд встроенных функций, среди которых наиболее часто используются функции Chr() и CStr().
Функция Chr() имеет один аргумент - целое число. Она возвращает символ из таблицы кодировки Windows по номеру - аргументу функции.
Функция CStr() имеет в качестве аргумента выражение, результат которого она преобразует в строку. Эта функция необходима, когда нужно объединить в одну строковую переменную переменные и выражения различных типов. Это часто бывает необходимо при выводе на экран информации при помощи процедуры MsgBox, которая не может выводить в качестве сообщения группу переменных различных типов.
Sub ShowFunction()
Dim g As Single
Dim f As Single
f = 45
MsgBox " Sin(" & CStr(f) & ") равен : " & CStr(Sin(3.14 / 180 * f))
End Sub
Здесь строковое выражение " Sin(" & CStr(f) & ") равен : " & CStr(Sin(3.14 / 180 * f)) объединяет в одну строку следующие компоненты: " Sin(", числовое значение переменной f, ") равен : " и числовое значение выражения Sin(3.14 / 180 * f). В итоге на экране получим следующее диалоговое окно:
Функция Chr() полезна, когда Вам необходимо, чтобы информация в диалоговом окне выводилась в два или более рядов. Это равносильно нажатию клавиши "Enter" перед выводом следующей строки, но ввести символ нажатия клавиши "Enter" можно только при помощи ввода символа с её номером, что и делается функцией Chr(13), где 13 - это номер клавиши "Enter" в кодировке Windows.
Sub ShowFunction2()
Dim g As Single
Dim f As Single
f1 = 45
f2 = 60
g1 = Sin(3.14 / 180 * f1)
g2 = Sin(3.14 / 180 * f2)
MsgBox " Sin(" & CStr(f1) & ") равен : " & CStr(g1) & Chr(13) & _
" Sin(" & CStr(f2) & ") равен : " & CStr(g2)
End Sub
Задание 2. Сделайте копию задания 1 и переделайте её так, чтобы результаты выводились в 3 строки:
Иногда возникает необходимость преобразовать одно выражение в другой тип данных. В общем случае можно воспользоваться функциями Val и Str:
Val (string) – возвращает число, содержащееся в строке string
Str (number) – возращает значение типа Variant, являющееся строковым представлением числа number. Тип Variant может содержать любые типы данных.
Кроме них существуют функции преобразования из данного типа в указанный:
CBool |
Boolean |
CDbl |
Double |
CInt |
Integer |
CLng |
Long |
CSng |
Single |
CStr |
String |
CVar |
Variant |
Любая из этих функций содержит скобки с выражением-аргументом после имени.