Сделай Сам Свою Работу на 5

Операторы конкатенации строк





Конкатенация – объединение двух или более строк. Конкатенация строк осуществляется с помощью оператора «&» - амперсенд или «+». Синтаксис:

Строка1 & Строка2

Результат: Строка1Строка2.

Операндами могут быть любые выражения строкового или числового типа. Результат всегда string.

Операнд со значением Null и Empty считается пустой строкой.

Для оператора «+» синтаксис такой же, но если операндами являются числа или строки, одну из которых можно преобразовать в число, то сложение будет арифметическим и результат будет иметь численный тип данных.

Примеры:

«А» + «В» = «АВ»

«1» + «2» = «12»

«1» + 2 = 3

Старшинство операторов при вычислении сложных выражений

Сложным называется выражение, состоящее из нескольких выражений.

· Первыми вычисляются части выражения, взятые в скобки.

· Вычисления выполняются в порядке старшинства операций (далее).

· Операции с одинаковым приоритетом выполняются слева направо.

Общий порядок операторов:

· Арифметические операции.

· Конкатенация строк.

· Операторы сравнения.

· Логические операторы.

 

Таблица приоритетов операций

Таблица 10

Операция Пояснения
^ Возведение в степень
- Унарный минус
*, /  
\  
Mod  
+, -  
&  
<, >, <=, >=, <>, =, Is, Like Для группирования операций сравнения применяются скобки
Not  
And  
Or  
Xor  
Eqv  
Imp  

 



Инструкции ввода и вывода данных

MsgBox и InputBox

Инструкции ввода и вывода используются для ввода данных в программу из внешних источников и вывода данных на экран или в табличную часть файла MS Excel.

Инструкция MsgBox – встроенная процедура VBA, которая служит для вывода текста на экран. Эта инструкция имеет пять аргументов, но только один из них обязательный. Синтаксис:

MsgBox (Prompt [, Buttons, Title, HelpFile, Context])

Prompt - “текст”

Buttons – числовое выражение, определяющее сколько и каких кнопок будет содержаться в окне. По умолчанию окно содержит только одну кнопку «Ок» или «Да». Аргумент Buttons также определяет кнопку, активную по умолчанию, и наличие в окне стандартных значков вроде знака информации, восклицательного или вопросительного знаков (Critical, Information, Exclamation, Question). Более подробно о кнопках – позже.



Title - Заголовок окнапоименованная или непоименованная константа или переменная, содержащая текст, по умолчанию “Microsoft Excel”.

HelpFileимя файла помощи, создаваемый пользователем, строка (создается в специальной программе).

Contextчисловое выражение, определяющее тематический раздел файла помощи.

Пример:

MsgBox ”Hello World!”, , “Окно приветствия”

Инструкция MsgBox может работать как процедура и как функция. Процедура – последовательность заданных действий, результатом работы которой является преобразование данных. Функция – то же что и процедура, но она всегда имеет возвращаемое значение. В том случае, когда MsgBox используется только для вывода информации на экран, нужно использовать процедуру, т.к. ни какого значения после вывода информации в программу возвращать не нужно. Синтаксис функции и процедуры отличается наличием круглых скобок, в которые заключаются аргументы. Аргументы процедуры не заключаются в скобки, а записываются через пробел после имени процедуры, как в примере. Аргументы функции записываются в круглых скобках и тогда синтаксис использования MsgBox выглядит по другому:

Переменная = MsgBox(“Вы прилежный студент?”, vbYesNo, “Самоанализ”)

В данном примере на экране появится окно с вопросом, окно будет иметь имя “Самоанализ” и после строки вопроса в окне будут находиться кнопки Yes и No. Возвращаемым значением функции MsgBox является код нажатой пользователем кнопки, оно присваивается переменной. Подробно использование инструкции MsgBox в качестве функции будет рассмотрено позже.



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

Функция InputBox выводит на экран окно с текстом, предлагающим ввести некоторое значение, и полем ввода для этого значения. В окне присутствуют кнопки ОК и Cancel. Задается текст приглашения и заголовок окна, синтаксис:

Строка = InputBox (Prompt [,Title, Default, XPos, YPos, HelpFile, Context])

Строкалюбая переменная, в которой может храниться строковое выражение (String или Variant),

Prompt - Приглашение (обязательный аргумент)поименованная или непоименованная константа или переменная, содержащая текст.

Title - Заголовок окна (необязательный аргумент) -поименованная или непоименованная константа или переменная, содержащая текст, по умолчанию “Microsoft Excel”.

Default – значение по умолчанию (необязательный аргумент) - строка, которое размещается в поле ввода.

XPos, YPos – координаты положения (необязательный аргумент)любые числовые выражения, позиция окна функции InputBox, задаются координаты левого верхнего угла окна.

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

Context – числовое выражение, оперделяющее тематический раздел файла помощи (необязательный аргумент).

При написании программы на любом языке программирования, в том числе и на VBА, неизбежно возникают ошибки. Ошибки бывают разного рода.

Синтаксические ошибки

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

При написании или изменении строки программного кода, VBA делает синтаксический анализ строки в тот момент, когда курсор покидает эту строку. После этого происходит интерпретация этой строки, и при успешном ее завершении разные части строки раскрашиваются в специальные цвета: ключевые (служебные) слова выделяются голубым, комментарии - зеленым, остальное – черным цветом (такие цвета используются по умолчанию, их можно изменить в настройках).

Если VBA находит в строке ошибку, то вся строка окрашивается красным цветом и выводится сообщение об ошибке.

Рассмотрим пример возникновения синтаксической ошибки на примере процедуры MsgBox.

MsgBox ”Hello World!”, , Окно приветствия

Пропущены кавычки. VBA считает слово ОКНО переменной (с переменными мы познакомимся позже) и ждет конца строки после него, однако далее он встречает еще одну «переменую» в его понимании, что противоречит синтаксису операции MsgBox. Поэтому в данном случае будет выделено красным слово ПРИВЕТСТВИЯ, т.к. оно считается ошибочным.

Ошибки синтаксиса обозначается предложением Compile error. Окно сообщения об ошибке содержит две кнопки: «Ок» и «Справка» или «Help».

«Ок» - сообщение об ошибке исчезает, можно исправлять ошибки в редакторе VBA.

«Справка» - получение справки по этой ошибке, после чего так же можно исправлять ошибку.

После редактирования строки, содержащей ошибку и удаления с нее курсора, VBA вновь производит синтаксический анализ и интерпретацию строки.

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

Если ошибка возникла при использовании какого-либо служебного слова языка VBA, и вы не знаете, как ее исправить, следует установить курсор в начале этого слова и нажать клавишу <F1>. VBA откроет окно справки, в котором будет описано использование данного оператора и процедуры.

Ошибки при выполнении

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

Ошибки, выявляемые при выполнении программы, называются ошибками времени выполнения (run time error).

Пример:

MsgBox ”Hello World!”, ”Окно приветствия”

VBA не видит ошибки, но при выполнении, обнаруживается несовпадение типа второго аргумента. Ошибка – несовпадение типов (type mismatch).

Окно сообщений об ошибке времени выполнения содержит четыре кнопки:

Continue – позволяет продолжить выполнение макроса не смотря на ошибку. Не все ошибки позволяют продолжить выполнение макроса, в этом случае кнопка заблокирована.

End – завершение выполнение макроса.

Debug – перевод VBA в режим останова и позволяет воспользоваться средствами отладки, чтобы отследить и устранить ошибку. При этом автоматически производится переключение в редактор VBA.

Help – вызов справки по возникшей ошибке.

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.