Запуск программ на выполнение

      Комментарии к записи Запуск программ на выполнение отключены

В главном меню команд имеется вкладка Run, в которой находятся команды управления запуском программ на выполнение.

Запуск программы на выполнение осуществляется командой

Run ? RunSub,

клавишейили инструментальной кнопкой . В результате, будет выполняться макрос, в тексте которого находится текстовый указатель.

Выполнение программы можно прервать, не ожидая ее окончания, командой

Run ? Break,

клавишей клавиатуры + или инструментальной кнопкой . Это, например, может понадобиться, если Вы считаете, что программа выполняется слишком долго, или Вы видите, что полученные промежуточные результаты не верны.

Если во время выполнения программы интерпретатор обнаружил ошибку, он приостанавливает процесс и выводит сообщение об ошибке. Например,

Нажатие кнопки End приведет к прекращению выполнения программы, а если нажать кнопку Debug, интерпретатор возвращает пользователя в текстовый редактор и ожидает исправления этой ошибки. После этого команда RunSubприведет кпродолжению выполнения программы, а не к запуску ее с самого начала. Чтобы заново перезапустить макрос с самого начала, следует перед командой RunSub выполнить команду

Run ? Reset

или щелкнуть по инструментальной кнопке .

Динамические массивы

Если заранее не известно, сколько элементов потребуется в массиве, можно объявить его динамическим. Для этого достаточно при объявлении (с помощью Dim) в скобках не указывать размерность, а указать ее позже (перед использованием массива) с помощью оператораReDim.

Например,

Dim Прибыль () As Single, Затраты() As Single

……….

n = 5

m = 20

……….

ReDim Прибыль (16), Затраты(n, m)

……….

Здесь оператором Dim объявлены два массива данных вещественного типа Прибыль и Затраты, а затем с помощью оператора ReDim указано, что массив Прибыль – одномерный, а массив Затраты – двухмерный, причем размер массива Прибыль задан константой 16, а размер массива Затраты задан переменными n и m.

Диалоговый ввод и вывод данныхс помощью

Стандартных функций

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

Ввод данных

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

InputBox ( [, ] [, ])

Здесь

– обязательный аргумент с текстом комментария в окне;

– текст заголовка окна (по умолчанию – MS Excel);

– значение константы, которое выводится в окне в поле ввода (для “умолчания”).

Например, оператор

Затраты = InputBox(Введите размер затрат, Ввод данных, 30000)

приведет к выводу на экран диалогового окна

Пользователь может изменить значение, указанное в поле ввода. После щелчка по кнопке OK переменной Затраты автоматически будет присвоено введенное пользователем число.

Значениеимогут быть заданы текстовыми константами, переменными или выражениями с оператором “конкатенация” (обозначается знаком ). Этот оператор можно применять для объединения значений как текстовых, так и числовых переменных или констант. Например,

number = 5

Q = InputBox(Введите количество number-го товара, Ввод данных, 0)

приведет к выводу на экран диалогового окна

Текст комментария () может быть многострочным. Для этого используется функция Chr с аргументом 13. Например, оператор

Затраты = InputBox(Введите размер затратChr(13)в июне, Ввод данных, 0)

приведет к выводу на экран диалогового окна

Если объединяются только текстовые данные, можно вместо знакауказывать знак +. Например, в последнем примере можно было написать

Затраты = InputBox(Введите размер затрат + Chr(13) + в июне, Ввод данных, 0)

Однако следует иметь в виду, что в этом случае попытка указать числовое данное приведет к ошибке. Этого можно избежать, прообразовывая числовые данные в строковые с помощью функции CStr. Например, если тип переменной number – integer (целый), то оператор

Q = InputBox(Введите количество+ number + -го товара, Ввод данных, 0)

будет восприниматься интерпретатором как ошибочный. Чтобы этого не произошло, следует преобразовать тип переменной number в строковый (string):

Q = InputBox(Введите количество+ CStr(number) + -го товара, Ввод данных, 0)

Вывод данных

Функция MsgBox выводит на экран диалоговое окно с текстовым сообщением и набором командных кнопок (Ok, Отмена, Да, Нет и т.д.). После выбора пользователем одной из этих кнопок MsgBox возвращает результат этого выбора.

Общий формат этой функции имеет следующий вид:

MsgBox ( [, ] [, ])

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

vbOkOnly – кнопка “Ok”;

vbOkCancel – кнопки “Ok” и “Отмена”;

vbYesNo – “Да” и “Нет”;

vbYesNoCancel – “Да”, “Нет” и “Отмена”;

vbAbortRetryIgnore – “Прервать”, “Повтор” и “Пропустить”;

vbRetryCancel – “Повтор” и “Отмена”.

По умолчанию – vbOkOnly.

Данная функция возвращает результат “нажатия” кнопки пользователем:

vbYes – “Да”;vbNo – “Нет”;vbCancel – “Отмена” и т.д.

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

vbInformation – информация, не требующая ответа ;

vbQuestion – вопрос ;

vbExclamation – важная информация ;

vbCritical – предупреждение .

Например,

v = 10

f = MsgBox(“Использовать ” + CStr (v) + “?”; vbYesNo+vbQuestion; “Подтверждение”)

Здесь оформлен вывод диалогового окна с названием “Подтверждение”, комментарием с текстом и числовым значением переменной v, командными кнопками (Да и Нет) и сопроводительным знаком Question (вопросительный знак).

Статьи к прочтению:

Холодный запуск Дизельного Двигателя | Дизельмотор | Танки Холодный старт


Похожие статьи: