Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разбиение строки программы, несколько операторов в одной строке,

Поиск

задание комментариев в тексте программы

Если строчная запись некоторого оператора в тексте программы слишком длинная, то ее можно разбить и записать на нескольких строках. Для этого в конце строки, где должен быть сделан перенос, следует последовательно записать символы «пробел»+«подчеркивание». При этом нужно помнить, о следующих правилах: 1. Нельзя разбивать переносом строковые константы. 2. Допустимо не более семи продолжений одной и той же строки. 3. Сама строка программы не может состоять более чем из 1024 символов.

Пример: If X>5 Or Y<0 Then Z = (X + Y) ^ 2 _

Else Z = (X – Y) ^ 2

Использование знака «двоеточие» позволяет наоборот размещать в одной строке программы сразу несколько операторов.

Пример: X = X + 1: Y = X + 2: Z = X + Y

Работая с программой, удобно использовать комментарии, т.е. фрагменты программы, не являющиеся программными кодами и игнорируемые компилятором. Комментарии выполняют две важные функции: 1) делают программу легко читаемой, поясняя ее смысл, 2) позволяют временно отключать отдельные фрагменты программы при ее отладке.

В языке VBA можно использовать два способа задания комментариев по тексту программы: 1) с помощью апострофа ’, который может быть поставлен в любом месте строки и тогда все последующие символы этой строки будут восприниматься как комментарий; 2) вместо апострофа может использоваться слово Rem (данный способ унаследован из классического Бейсика).

Примеры: 1) Dim I As Integer ’ I – переменная целого типа

2) Dim B As String

Rem B – строка символов

 

Типы процедур

 

Процедура – наименьшая единица программного кода, на которую можно ссылаться по имени и которая может выполняться независимо. В VBA можно использовать процедуры двух типов: подпрограммы и функции.

Подпрограмма является самостоятельной частью программы, у нее есть имя и могут быть аргументы. Подпрограмма может задавать выполнение некоторой последовательности действий, изменяя при этом значения своих аргументов. Кроме того, одна подпрограмма может ссылаться на другую подпрограмму. Для обращения к подпрограмме в программе следует указать ее имя, затем пробел, а далее через запятую перечислить значения аргументов подпрограммы.

Синтаксис (упрощенный):

Sub <идентификатор> ([<список аргументов>])

<оператор 1>

End Sub

Пример описания подпрограммы:

Sub Ras (X As Integer, Y As Double)

Z1 = X ^ 5 + Cos (X)

Z2 = X + Y + Sin (X)

End Sub

Данная подпрограмма по заданным значениям X и Y (аргументы) вычисляет значения переменных Z1 и Z2.

 

Примеры обращения к подпрограмме:

1) RAS 10, 12.45

2) A = 5: B = – 678.32: RAS A, B

В примере 1 подпрограмма RAS будет вычислять результат при значениях аргументов Х=10, Y=12,45. В примере 2 подпрограмма RAS в качестве исходных данных будет использовать Х=5 и Y= – 678.32.

 

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

Синтаксис (упрощенный):

Function <идентификатор> ([<список аргументов>])

<оператор 1>

End Function

Пример описания функции:

Function Y (X As Integer) As Double

Y = (X – 1) / (X + 2)

End Function

Данная функция вычисляет значение Y (имя функции) по заданному значению X (аргумент).

Примеры обращения к функции:

1) Z = Y (25)

2) X = 12: Z = 5 * Y(X) ^ 3

В примере 1 функция Y будет вычислена при исходном значении аргумента Х=25, а ее результат будет присвоен переменной Z. В примере 2 функция Y будет вычисляться для Х=12, а ее результат будет использован для вычисления Z (по формуле Z=5*Y(X)^3).

 



Поделиться:


Последнее изменение этой страницы: 2017-02-17; просмотров: 218; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.234.146 (0.007 с.)