Идентификаторы, инструкции и переменные VisualBasic for Application
Язык программирования базируется на строгих правилах, при которых указывается, как записываются идентификаторы, переменные и управляющие структуры. В этом смысле язык программирования и иностранный язык очень схожи. При несоблюдении этих правил Visual Basic for Application попросту не сможет исполнить введенную вами программу, также как и человек-носитель языка не поймет вас, если вы неправильно составите предложение. В очередной статье вы узнаете, что такое идентификаторы, зарезервированные слова, познакомитесь с различными типами данных, константами и переменными. Заметим, что Visual Basic for Application, несмотря на то, что встроен в приложения Microsoft Office, предоставляет полный набор инструментов для кодирования задач любой сложности (ограниченных, естественно, рамками офисных приложений).
Идентификаторы Visual Basic for Application
Идентификаторы — основа любого языка. Под идентификаторами понимаются имена констант, переменных, элементов управления, процедур и методов объектов. В Visual Basic for Application существует пять правил составления идентификаторов:— Первый символ идентификатора обязательно является буквой или символом подчеркивания. Например, идентификаторы First, _Var являются правильными, а 1st, 100 — неправильными. В середине или на конце идентификатора допускается использовать цифры, например: A1, A1B2 и др. — В идентификаторах не допускается использовать пробелы, а также специальные символы: знаки препинания, а также @, #, $, &. Идентификаторы My Var, New& являются неправильными. — Максимальная длина идентификатора не может превышать 255 символов. — Идентификатор не может совпадать с зарезервированными словами языка программирования Visual Basic for Application. — В пределах одного модуля или проекта недопустимо объявлять один и тот же идентификатор дважды. Зарезервированные слова Зарезервированные слова — это стандартные для языка программирования инструкции, позволяющие решать какие-то определенные действия: описывать процедуры, открывать циклы, объявлять переменные и др. В следующей таблице перечислены зарезервированные слова Visual Basic for Application. Ни одно из этих слов недопустимо использовать в качестве идентификатора.
Что такое переменные С помощью переменных можно временно сохранять значения выражений, чтобы использовать их в дальнейшем. В Visual Basic for Application используется большое количество типов данных, обеспечивающих обработку различных типов числовых, текстовых, календарных (дата, время), логических данных. Их перечень приводится в следующей таблице:
Для объявления новой переменной используется инструкция Dim, синтаксис которой таков:
Dim <идентификатор> [As <тип>], <идентификатор1> [As <тип>]...
<идентификатор> — имя переменной.
<тип> — допустимый тип данных.
Например, следующая конструкция объявляет переменную V1: Dim V1 As Integer Тип переменной и соответственно конструкцию As можно опускать. В этом случае переменная является не типизированной. При одновременном объявлении нескольких переменных очень часто используется такая конструкция Dim A, B, C As Integer. Причем подразумевается, что все три переменные являются целыми. На самом деле это не так. Целой является лишь переменная C, а переменные B и C нетипизированы. Более правильный способ записи таков: Dim A As Integer, B As Integer, C As Integer
Присваивание значения переменной
Начальное значение переменной равно 0 для числовых типов данных и пустой строке "" для строковых значений. В большинстве случаев это значение вполне подходит условиям задачи. Так, можно составить программу суммирования строк массива A, не обнуляя значение переменной S: Dim S
For I = 1 To 5
S = S + A[I]
Next
Такая программа при исполнении не выдаст ошибки и правильно суммирует пять элементов массива. Но правила хорошего тона в программирования все-таки вынуждают перед использованием новой переменной присвоить ей начальное значение. К программе для суммирования элементов массива следует добавить еще одну строку:
Dim S
S = 0
For I = 1 To 5
S = S + A[I]
Next
Присвоить значение переменной можно двумя способами: в явной форме с помощью соответствующих инструкций языка Visual Basic for Application или в неявной форме, как, например, переменные цикла. В следующих примерах показаны различные способы присвоения значений переменным: ' числовая переменная
Dim Year As Integer
Year = 1999 ' логическая переменная
Dim IsTrue As Boolean
IsTrue = True ' переменная типа дата
Dim BD As Date
BD = #10/4/99# ' расчет значения выражения
B = (3*(3+4))/4 ' использование функций Visual Basic for Application
S = InputBox("Представьтесь, пожалуйста") ' начальное значение переменной равно 1, конечное — 5.
For I = 1 to 5
Debug.Print I
Next I
' переменная I может использоваться и по завершении цикла Совершенно иначе — при помощи инструкции Set — инициализируются объекты Microsoft Office. В следующей программе с помощью этой инструкции создается объектная переменная R типа Range, а затем свойствам Bold и Underline присваиваются значения.
Dim R As Range
Set R = Application.Selection.Range
With R
.Bold = True
.Characters(1).Underline = wdUnderlineSingle
End
Время жизни и область действия переменной
Каждая переменная характеризуется не только типом и значением, но и такими атрибутами, как время жизни и область действия. Время жизни — это тот период времени, в течение которого переменная возвращает значение. Интерпретатор программ на Visual Basic for Application при объявлении переменной выделяет зависящее от типа переменной количество байт памяти, и переменная начинает свою жизнь. Область действия переменной зависит от места своего объявления.
Различают локальные и глобальные переменные. Локальные переменные обычно привязаны к тем модулям или процедурам, в которых объявлены, и как только процедура завершает свою работу, все локальные переменные перестают существовать. Определить время жизни переменной и область ее действия можно с помощью специальных описателей.
Объявление статических переменных
Инструкция Static делает переменную статической. Такие переменные обычно используются в процедурах и при их завершении не удаляются из памяти. При следующем вызове процедуры, можно воспользоваться ранее вычисленным значением. Процедура CntCall демонстрирует, как можно использовать статические переменные — при каждом ее вызове на экране появляется диалоговое окно с информацией о количестве ее вызовов:
Sub CntCalls()
Static Cnt
Cnt = Cnt + 1
MsgBox "Количество вызовов процедуры " & Cnt
End Sub
Внутри процедуры допускается использовать несколько статических переменных — в этом случае каждая переменная должна быть объявлена с помощью инструкции Static. Объявляя переменные, можно сделать все локальные переменные статическими:
Static Sub CntCalls()
Dim Cnt
Cnt = Cnt + 1
MsgBox "Количество вызовов процедуры " & Cnt
End Sub
Объявление общедоступных переменных
Инструкция Public делает переменную общедоступной для всех процедур и модулей проекта. Объявленная ниже переменная globalvar доступна из любой процедуры и время ее жизни соответствует времени исполнения программы. Public globalvar As Integer Противоположная Public по принципу действия инструкция Private объявляет локальную переменную, то есть, переменную, доступную только в одном модуле. Переменную localvar, описанную далее, можно использовать во всех процедурах, определенных внутри текущего модуля. Попытка обратиться к ней из других модулей приводит к синтаксической ошибке. Private localvar As Integer
Создание и использование констант
Переменная на протяжении всего времени своего существования принимает разные значения, но в некоторых случаях в выражениях используются постоянные величины. В таких случаях правильнее применять константы, позволяющие заменять трудно запоминаемые значения специальными идентификаторами. В Visual Basic for Application используются три типа констант: — Системные константы
— Внутренние константы языка программирования Visual Basic for Application
— Объявляемые вами константы. Системные константы определены в библиотеках Microsoft Office, подключаемых с помощью диалогового окна
Ссылки .
Такие константы обычно зависят от приложения, в котором работает тот или иной модуль. Их довольно много, но совсем не обязательно помнить их все, поскольку можно обратиться к справочной системе Visual Basic for Application и получить сведения о предназначении системной константы. Идентификаторы системных констант состоят из двух частей — приставки и основного имени. Причем приставка определяет назначение константы и обычно представляет собой двух- или трехсимвольное обозначение, например, vb — встроенная константа Visual Basic, ac — константа, используемая в Access, wd — константа, используемая в Word, mso — константа Microsoft Office общего назначения. Visual Basic for Application не предъявляет каких-либо особых требований по именованию константы, следует лишь учитывать общие правила составления идентификаторов Visual Basic for Application. В общем виде синтаксис инструкции Const таков: Const <имя> [As <тип>] = <значение>, <имя1> [As <тип>] = <значение1>... Например, число 3,1415926 можно заменить коротким идентификатором Pi или Пи, объявив новую константу: Const Pi = 3,1415926 В математических выражениях, где необходимо использовать число p, следует использовать объявленную выше константу Pi.
Объявление и использование массивов
Массивы — это переменные особого типа, имеющие еще одну характеристику: размерность. С их помощью можно манипулировать сразу несколькими значениями. Для объявления массива, как и переменной, используются стандартные конструкции Dim или Static: Dim <массив> (<размерность1, размерность2...>) [As тип] При описании массива используются следующие обозначения:
<массив> — имя массива, образующееся как и другие идентификаторы.
<размерность, размерность2...> — длина каждой размерности массива.
<тип> — необязательный при описании массива тип данных.
В программах обычно используются одномерные, двухмерные и трехмерные массивы. Причем, одномерные массивы иногда называются векторами, а двухмерные — таблицами. Следующий пример объявляет одномерный массив A: Dim A(6). Элементы массива обычно нумеруются с 0. Так, для массива A, объявленного выше, выделяется память для семи элементов: A(0), A(1), A(2), A(3), A(4), A(5) и A(6). Впрочем, совершенно не обязательно использовать элемент массива с нулевым индексом — можно ограничиваться значениями, хранящимися в оставшихся шести элементах с первого по шестой. Размерности массива, указываемые в круглых скобках после идентификатора, обычно представляют собой числовые константы. Однако можно изменить диапазон значений. При этом используется следующий синтаксис:
Dim <идентификатор> (<от> To <до>) [As тип] В описании указывается диапазон значений, описываемый числовыми выражениями <от> и <до>:
<от> — начальное значение диапазона
<до> — конечное значение диапазона Как и в случае с переменными, первое действие, которое следует выполнить в программе после объявления массива, — это присвоение значений элементам массива, например: Dim FirstArray(4) As Integer
FirstArray(0) = 20
FirstArray(1) = 16
FirstArray(2) = 15
FirstArray(3) = 23
FirstArray(4) = 11 Для манипуляции элементами массива наиболее подходящим является цикл For, в котором, к примеру, можно просуммировать элементы массива FirstArray: For I = 0 To 4
S = S + FirstArray(I)
Next I
Динамические массивы Если заранее затруднительно определить, сколько элементов должно находиться в массиве, то используются динамические массивы. При их объявлении используются инструкции Dim, но в скобках после имени массива не указывается его размерность. Например, в следующем описании создается строковый динамический массив DArray:
Dim DArray() As String
Перед использованием динамического массива инструкцией ReDim необходимо определить первоначальную размерность массива: ReDim. Синтаксис инструкции ReDim совпадает с Dim:
ReDim [Preserve] массив(индексы)
После ReDim можно использовать описатель Preserve, который сохраняет содержимое массива. Обычно к этому описателю прибегают при повторных изменениях размера массива, когда в нем уже содержатся какие-то значения. Так, следующий пример демонстрирует, как увеличить размер массива на один элемент и не потерять при этом значения уже существующих элементов:
arraysize = Ubound(DynArray) + 1
ReDim Preserve DynArray[arraysize]
Чтобы быстрее изучить особенности использования переменных, констант и массивов, надо воспользоваться любой книгой по Бейсику, где приведены примеры различных программ, а затем попытаться реализовать их в среде Visual Basic for Application. Правда, для этого, помимо переменных и констант, вам потребуется и знание об управляющих структурах, таких как циклы, условия, ветвления, а также о встроенных математических, финансовых, строковых, служебных функциях языка программирования.
Этим темам посвящены следующие статьи цикла, где, помимо теоритических сведений о синтаксисе и тонкостях использования конструкций языка, будут приведены и практические примеры использования.
Сергей Лосев
Идентификаторы Visual Basic for Application
Идентификаторы — основа любого языка. Под идентификаторами понимаются имена констант, переменных, элементов управления, процедур и методов объектов. В Visual Basic for Application существует пять правил составления идентификаторов:— Первый символ идентификатора обязательно является буквой или символом подчеркивания. Например, идентификаторы First, _Var являются правильными, а 1st, 100 — неправильными. В середине или на конце идентификатора допускается использовать цифры, например: A1, A1B2 и др. — В идентификаторах не допускается использовать пробелы, а также специальные символы: знаки препинания, а также @, #, $, &. Идентификаторы My Var, New& являются неправильными. — Максимальная длина идентификатора не может превышать 255 символов. — Идентификатор не может совпадать с зарезервированными словами языка программирования Visual Basic for Application. — В пределах одного модуля или проекта недопустимо объявлять один и тот же идентификатор дважды. Зарезервированные слова Зарезервированные слова — это стандартные для языка программирования инструкции, позволяющие решать какие-то определенные действия: описывать процедуры, открывать циклы, объявлять переменные и др. В следующей таблице перечислены зарезервированные слова Visual Basic for Application. Ни одно из этих слов недопустимо использовать в качестве идентификатора.
Access | Alias | Any | Append | As | Base | Binary | ByRef |
ByVal | Case | Cdecl | Compare | Date | Each | Else | ElseIf |
Empty | End If | Error | Explicit | False | For | Get | Global |
In | Input | Is | Len | Let | Lib | Local | Lock |
Loop | Me | Mid | Module | New | Next | Nothing | Null |
On | Option | Optional | Output | ParamArray | Preserve | Private | |
Property | Public | Random | Read | Resume | Seek | Set | Shared |
Static | Step | String | Text | Then | Time | To | True |
TypeOf | Until | Wend | WithEvents |
Что такое переменные С помощью переменных можно временно сохранять значения выражений, чтобы использовать их в дальнейшем. В Visual Basic for Application используется большое количество типов данных, обеспечивающих обработку различных типов числовых, текстовых, календарных (дата, время), логических данных. Их перечень приводится в следующей таблице:
Тип данных | Описание |
Byte | 8-разрядные (1 байт) числа без знака в диапазоне от 0 до 255. Тип данных можно использовать при анализе ASCII-кодов символов или простейших вычислениях, в том случае, если заранее известно, что результат не превысит значения 255. Например, с помощью переменной типа Byte можно хранить количество дней в месяце, поскольку максимальное значение не превышает числа 31. |
Integer | 16-разрядные целые числа в интервале от -32768 до 32767. Числовой тип данных Integer часто используется для доступа к элементам массива или коллекции. |
Long | 32-разрядные целые числа (4 байта) в интервале от -2147483648 до 2147483647. Переменные этого типа позволяют сохранять результаты арифметических выражений, в которых используются достаточно большие целые числа. Например, тип данных Long может потребоваться при расчете больших простых чисел, чисел Фибоначчи, факториала числа и т.д. |
Decimal | 96-разрядные (12 байт) числа без знака. В дробной части записывает степень числа. При этом количество знаков после запятой может изменяться в интервале от 0 до 28. В переменных типа Decimal можно хранить сверхбольшие целые числа в интервале от -79*10 28 до 79*10 28 . |
Double | 64-разрядные числа (8 байт) с плавающей точкой двойной точности для работы с числами в интервалах от -1,798E+308 до -4,941E-324 для отрицательных значений и от 4,941E-324 до 1,798E+308 для положительных значений. Этот тип данных используется в тех случаях, когда необходима повышенная точность вычислений. |
Singe | 32-разрядные (4 байта) числа с плавающей точкой в диапазоне от -3,403E38 до -1,401E-45 для отрицательных чисел и от 1,401E-45 до 3,403E38 для положительных чисел. |
String | Тип данных служит для хранения строковых значения переменной (до 2 миллиарда символов) или постоянной (64К символов) длины. |
Date | Тип данных, позволяющий работать с календарными датами и временем. В памяти компьютера тип Date представляет собой 64-разрядное число с плавающей точкой, позволяющее хранить даты в диапазоне от 1 января 100 года до 32 декабря 9999 года и время в интервале от 0:00:00 до 23:59:59. |
Boolean | 16-разрядные числа, принимающие два значения True (все биты числа установлены в единицу, что соответствует -1) и False (все биты числа сброшены в ноль, что соответствует числу 0). Логические переменные используются при сравнении выражений, в условиях и некоторых видах циклов. |
Variant | Позволяет хранить данные любых типов — числа, строки, даты и пустые значения. |
Для объявления новой переменной используется инструкция Dim, синтаксис которой таков:
Dim <идентификатор> [As <тип>], <идентификатор1> [As <тип>]...
<идентификатор> — имя переменной.
<тип> — допустимый тип данных.
Например, следующая конструкция объявляет переменную V1: Dim V1 As Integer Тип переменной и соответственно конструкцию As можно опускать. В этом случае переменная является не типизированной. При одновременном объявлении нескольких переменных очень часто используется такая конструкция Dim A, B, C As Integer. Причем подразумевается, что все три переменные являются целыми. На самом деле это не так. Целой является лишь переменная C, а переменные B и C нетипизированы. Более правильный способ записи таков: Dim A As Integer, B As Integer, C As Integer
Присваивание значения переменной
Начальное значение переменной равно 0 для числовых типов данных и пустой строке "" для строковых значений. В большинстве случаев это значение вполне подходит условиям задачи. Так, можно составить программу суммирования строк массива A, не обнуляя значение переменной S: Dim S
For I = 1 To 5
S = S + A[I]
Next
Такая программа при исполнении не выдаст ошибки и правильно суммирует пять элементов массива. Но правила хорошего тона в программирования все-таки вынуждают перед использованием новой переменной присвоить ей начальное значение. К программе для суммирования элементов массива следует добавить еще одну строку:
Dim S
S = 0
For I = 1 To 5
S = S + A[I]
Next
Присвоить значение переменной можно двумя способами: в явной форме с помощью соответствующих инструкций языка Visual Basic for Application или в неявной форме, как, например, переменные цикла. В следующих примерах показаны различные способы присвоения значений переменным: ' числовая переменная
Dim Year As Integer
Year = 1999 ' логическая переменная
Dim IsTrue As Boolean
IsTrue = True ' переменная типа дата
Dim BD As Date
BD = #10/4/99# ' расчет значения выражения
B = (3*(3+4))/4 ' использование функций Visual Basic for Application
S = InputBox("Представьтесь, пожалуйста") ' начальное значение переменной равно 1, конечное — 5.
For I = 1 to 5
Debug.Print I
Next I
' переменная I может использоваться и по завершении цикла Совершенно иначе — при помощи инструкции Set — инициализируются объекты Microsoft Office. В следующей программе с помощью этой инструкции создается объектная переменная R типа Range, а затем свойствам Bold и Underline присваиваются значения.
Dim R As Range
Set R = Application.Selection.Range
With R
.Bold = True
.Characters(1).Underline = wdUnderlineSingle
End
Время жизни и область действия переменной
Каждая переменная характеризуется не только типом и значением, но и такими атрибутами, как время жизни и область действия. Время жизни — это тот период времени, в течение которого переменная возвращает значение. Интерпретатор программ на Visual Basic for Application при объявлении переменной выделяет зависящее от типа переменной количество байт памяти, и переменная начинает свою жизнь. Область действия переменной зависит от места своего объявления.
Различают локальные и глобальные переменные. Локальные переменные обычно привязаны к тем модулям или процедурам, в которых объявлены, и как только процедура завершает свою работу, все локальные переменные перестают существовать. Определить время жизни переменной и область ее действия можно с помощью специальных описателей.
Объявление статических переменных
Инструкция Static делает переменную статической. Такие переменные обычно используются в процедурах и при их завершении не удаляются из памяти. При следующем вызове процедуры, можно воспользоваться ранее вычисленным значением. Процедура CntCall демонстрирует, как можно использовать статические переменные — при каждом ее вызове на экране появляется диалоговое окно с информацией о количестве ее вызовов:
Sub CntCalls()
Static Cnt
Cnt = Cnt + 1
MsgBox "Количество вызовов процедуры " & Cnt
End Sub
Внутри процедуры допускается использовать несколько статических переменных — в этом случае каждая переменная должна быть объявлена с помощью инструкции Static. Объявляя переменные, можно сделать все локальные переменные статическими:
Static Sub CntCalls()
Dim Cnt
Cnt = Cnt + 1
MsgBox "Количество вызовов процедуры " & Cnt
End Sub
Объявление общедоступных переменных
Инструкция Public делает переменную общедоступной для всех процедур и модулей проекта. Объявленная ниже переменная globalvar доступна из любой процедуры и время ее жизни соответствует времени исполнения программы. Public globalvar As Integer Противоположная Public по принципу действия инструкция Private объявляет локальную переменную, то есть, переменную, доступную только в одном модуле. Переменную localvar, описанную далее, можно использовать во всех процедурах, определенных внутри текущего модуля. Попытка обратиться к ней из других модулей приводит к синтаксической ошибке. Private localvar As Integer
Создание и использование констант
Переменная на протяжении всего времени своего существования принимает разные значения, но в некоторых случаях в выражениях используются постоянные величины. В таких случаях правильнее применять константы, позволяющие заменять трудно запоминаемые значения специальными идентификаторами. В Visual Basic for Application используются три типа констант: — Системные константы
— Внутренние константы языка программирования Visual Basic for Application
— Объявляемые вами константы. Системные константы определены в библиотеках Microsoft Office, подключаемых с помощью диалогового окна
Ссылки .
Такие константы обычно зависят от приложения, в котором работает тот или иной модуль. Их довольно много, но совсем не обязательно помнить их все, поскольку можно обратиться к справочной системе Visual Basic for Application и получить сведения о предназначении системной константы. Идентификаторы системных констант состоят из двух частей — приставки и основного имени. Причем приставка определяет назначение константы и обычно представляет собой двух- или трехсимвольное обозначение, например, vb — встроенная константа Visual Basic, ac — константа, используемая в Access, wd — константа, используемая в Word, mso — константа Microsoft Office общего назначения. Visual Basic for Application не предъявляет каких-либо особых требований по именованию константы, следует лишь учитывать общие правила составления идентификаторов Visual Basic for Application. В общем виде синтаксис инструкции Const таков: Const <имя> [As <тип>] = <значение>, <имя1> [As <тип>] = <значение1>... Например, число 3,1415926 можно заменить коротким идентификатором Pi или Пи, объявив новую константу: Const Pi = 3,1415926 В математических выражениях, где необходимо использовать число p, следует использовать объявленную выше константу Pi.
Объявление и использование массивов
Массивы — это переменные особого типа, имеющие еще одну характеристику: размерность. С их помощью можно манипулировать сразу несколькими значениями. Для объявления массива, как и переменной, используются стандартные конструкции Dim или Static: Dim <массив> (<размерность1, размерность2...>) [As тип] При описании массива используются следующие обозначения:
<массив> — имя массива, образующееся как и другие идентификаторы.
<размерность, размерность2...> — длина каждой размерности массива.
<тип> — необязательный при описании массива тип данных.
В программах обычно используются одномерные, двухмерные и трехмерные массивы. Причем, одномерные массивы иногда называются векторами, а двухмерные — таблицами. Следующий пример объявляет одномерный массив A: Dim A(6). Элементы массива обычно нумеруются с 0. Так, для массива A, объявленного выше, выделяется память для семи элементов: A(0), A(1), A(2), A(3), A(4), A(5) и A(6). Впрочем, совершенно не обязательно использовать элемент массива с нулевым индексом — можно ограничиваться значениями, хранящимися в оставшихся шести элементах с первого по шестой. Размерности массива, указываемые в круглых скобках после идентификатора, обычно представляют собой числовые константы. Однако можно изменить диапазон значений. При этом используется следующий синтаксис:
Dim <идентификатор> (<от> To <до>) [As тип] В описании указывается диапазон значений, описываемый числовыми выражениями <от> и <до>:
<от> — начальное значение диапазона
<до> — конечное значение диапазона Как и в случае с переменными, первое действие, которое следует выполнить в программе после объявления массива, — это присвоение значений элементам массива, например: Dim FirstArray(4) As Integer
FirstArray(0) = 20
FirstArray(1) = 16
FirstArray(2) = 15
FirstArray(3) = 23
FirstArray(4) = 11 Для манипуляции элементами массива наиболее подходящим является цикл For, в котором, к примеру, можно просуммировать элементы массива FirstArray: For I = 0 To 4
S = S + FirstArray(I)
Next I
Динамические массивы Если заранее затруднительно определить, сколько элементов должно находиться в массиве, то используются динамические массивы. При их объявлении используются инструкции Dim, но в скобках после имени массива не указывается его размерность. Например, в следующем описании создается строковый динамический массив DArray:
Dim DArray() As String
Перед использованием динамического массива инструкцией ReDim необходимо определить первоначальную размерность массива: ReDim. Синтаксис инструкции ReDim совпадает с Dim:
ReDim [Preserve] массив(индексы)
После ReDim можно использовать описатель Preserve, который сохраняет содержимое массива. Обычно к этому описателю прибегают при повторных изменениях размера массива, когда в нем уже содержатся какие-то значения. Так, следующий пример демонстрирует, как увеличить размер массива на один элемент и не потерять при этом значения уже существующих элементов:
arraysize = Ubound(DynArray) + 1
ReDim Preserve DynArray[arraysize]
Чтобы быстрее изучить особенности использования переменных, констант и массивов, надо воспользоваться любой книгой по Бейсику, где приведены примеры различных программ, а затем попытаться реализовать их в среде Visual Basic for Application. Правда, для этого, помимо переменных и констант, вам потребуется и знание об управляющих структурах, таких как циклы, условия, ветвления, а также о встроенных математических, финансовых, строковых, служебных функциях языка программирования.
Этим темам посвящены следующие статьи цикла, где, помимо теоритических сведений о синтаксисе и тонкостях использования конструкций языка, будут приведены и практические примеры использования.
Сергей Лосев
Компьютерная газета. Статья была опубликована в номере 02 за 2000 год в рубрике программирование :: разное