Введение в программирование на VBA - eDrive
Введение в программирование на VBA - eDrive Введение в программирование на VBA - eDrive
32 Примеры Sub ПростаяПроцедура () ' Вызываются один за другим два ранее описанных макроса Макрос1 Макрос2 End Sub Sub ВыделитьУдалитьТекст () Call ВыделитьТекст ‘ Вызов ранее описанных подпрограмм Call УдалитьТекст End Sub Sub ВставитьПереместитьУдалитьЛист () ВставитьЛист 1, 2 ‘ Вызовы подпрограмм с аргументами Call ПереместитьЛист (1, 2) УдалитьЛист книга := 2, лист := 1 End Sub Переменные и константы Первые шаги в программировании полезно сопровождать выводом на экран сообщений. Синтаксис сообщения имеет вид: MsgBox [( ]Текст[,Кнопки [,Заголовок]] [ )] Сообщение представляет собой текст в стандартном окне. Лексема MsgBox является именем функции Visual Basic, которая выводит на экран текст и может возвращать одну из констант, присвоенных нажатой в окне диалога кнопке. Примеры Sub ПростоеСообщение () MsgBox "Сообщаю, что все в порядке" MsgBox ("Сообщаю, что все в порядке") MsgBox "Сообщаю," & Chr (13) & "что все в порядке" End Sub Sub ВремяДатаИПробелы () MsgBox "Сейчас " & Now MsgBox "Сегодняшняя дата: " & Day (Date) & Space (2) _ & Month (Date) & Space (2) & Year (Date) End Sub Sub КонстантаЯзыка () MsgBox "Задание выполнено!", vbExclamation, "Операции с текстом" End Sub
33 Переменные и авторские константы перед использованием полезно объявлять: операторХранения Имя, а по ходу программы инициализировать: Имя = Значение. При этом значения авторских констант и начальные значения переменных задаются оператором присваивания (=). Этот и другие операторы связывают переменные и константы друг с другом и с вызовами процедур в операциях и выражениях. Значения, соответствующие дате и времени, ограничиваются с двух сторон символами #. Авторские константы, не изменяющиеся в ходе выполнения программы, обязательно объявляют с оператором хранения Const. Прочие переменные можно объявлять с оператором Dim или без объявления использовать в операциях. Объявленные внутри подпрограммы локальные, или личные, переменные «видимы» только внутри своей подпрограммы, недоступны из других подпрограмм, и их значения другим подпрограммам неизвестны. Поэтому в других процедурах можно создавать переменные с такими же именами. По завершении подпрограммы компьютер «забывает» их, освобождая память другим данным. Чтобы при повторном вызове подпрограммы личная переменная не забывала и восстанавливала свое значение, следует объявлять ее в подпрограмме с оператором Static. Чтобы переменная стала «видимой» изо всех процедур и функций модуля, ее объявляют в начальном разделе описаний модуля с оператором хранения Dim или Private, и переменная в этом случае называется переменной уровня модуля. Она «помнит» свое значение в пределах модуля в течение всего сеанса работы приложения. Переменная, «известная» всей программе, независимо от того, в начале какого модуля она объявлена, объявляется с оператором хранения Public и называется общей переменной. Наиболее простым способом ввода данных в программу служит функция языка Visual Basic InputBox (Текст [,Заголовок [,Умолчание [, X, Y]]] ) Она позиционирует в точке X, Y экрана окно диалога с приглашением Текст и возвращает введенный в это окно ответ пользователя. Примеры Sub ТеоремаПифагора () катет1 = 2: катет2 = 3 сообщение = "Гипотенуза имеет длину " MsgBox сообщение & Sqr (катет1 ^ 2 + катет2 ^ 2) End Sub Sub Дата () деньРождения = #2/12/69# ' месяц, день, год
- Page 1 and 2: В. М. Водовозов Введ
- Page 3 and 4: Оглавление ИНФОРМА
- Page 5 and 6: 5 Единение знака и з
- Page 7 and 8: 7 клавиатурой и пр.,
- Page 9 and 10: 9 необходимый миним
- Page 11 and 12: 11 регламентируя пр
- Page 13 and 14: 13 правым щелчком по
- Page 15 and 16: 15 Удалить окна диал
- Page 17 and 18: 17 Для документиров
- Page 19 and 20: 19 Макрокоманда Имя
- Page 21 and 22: 21 языка Basic, утвержд
- Page 23 and 24: 23 • модули классов,
- Page 25 and 26: 25 конфигурацию кот
- Page 27 and 28: 27 Оператор Определ
- Page 29 and 30: 29 Функция Определе
- Page 31: 31 вызова ей передаю
- Page 35 and 36: 35 Call Вызов Call Вызов
- Page 37 and 38: 37 Для ввода информа
- Page 39 and 40: 39 • условные опера
- Page 41 and 42: 41 после Then лексемы,
- Page 43 and 44: 43 Традиционный опе
- Page 45 and 46: 45 Выражение […] Loop Un
- Page 47 and 48: 47 Тип данных, обозн
- Page 49 and 50: 49 MsgBox "НОД= " & a End Sub С
- Page 51 and 52: 51 Next MsgBox массив End Sub
- Page 53 and 54: 53 .процессор = "Pentium"
- Page 55 and 56: 55 Sub СвойстваФормы (
- Page 57 and 58: 57 объектов. Перетас
- Page 59 and 60: 59 .Enabled = False End With UserFo
- Page 61 and 62: 61 MsgBox "Введите четы
- Page 63 and 64: 63 Sub CommandButton1_Click () Comb
33<br />
Переменные и а<strong>в</strong>торские константы перед использо<strong>в</strong>анием полезно<br />
объя<strong>в</strong>лять: операторХранения Имя, а по ходу программы инициализиро<strong>в</strong>ать:<br />
Имя = З<strong>на</strong>чение. При этом з<strong>на</strong>чения а<strong>в</strong>торских констант и <strong>на</strong>чальные<br />
з<strong>на</strong>чения переменных задаются оператором прис<strong>в</strong>аи<strong>в</strong>ания (=). Этот и другие<br />
операторы с<strong>в</strong>язы<strong>в</strong>ают переменные и константы друг с другом и с <strong>в</strong>ызо<strong>в</strong>ами<br />
процедур <strong>в</strong> операциях и <strong>в</strong>ыражениях. З<strong>на</strong>чения, соот<strong>в</strong>етст<strong>в</strong>ующие дате и<br />
<strong>в</strong>ремени, ограничи<strong>в</strong>аются с д<strong>в</strong>ух сторон сим<strong>в</strong>олами #.<br />
А<strong>в</strong>торские константы, не изменяющиеся <strong>в</strong> ходе <strong>в</strong>ыполнения<br />
программы, обязательно объя<strong>в</strong>ляют с оператором хранения Const. Прочие<br />
переменные можно объя<strong>в</strong>лять с оператором Dim или без объя<strong>в</strong>ления<br />
использо<strong>в</strong>ать <strong>в</strong> операциях.<br />
Объя<strong>в</strong>ленные <strong>в</strong>нутри подпрограммы локальные, или личные,<br />
переменные «<strong>в</strong>идимы» только <strong>в</strong>нутри с<strong>в</strong>оей подпрограммы, недоступны из<br />
других подпрограмм, и их з<strong>на</strong>чения другим подпрограммам неиз<strong>в</strong>естны.<br />
Поэтому <strong>в</strong> других процедурах можно созда<strong>в</strong>ать переменные с такими же<br />
име<strong>на</strong>ми. По за<strong>в</strong>ершении подпрограммы компьютер «забы<strong>в</strong>ает» их,<br />
ос<strong>в</strong>обождая память другим данным.<br />
Чтобы при по<strong>в</strong>торном <strong>в</strong>ызо<strong>в</strong>е подпрограммы лич<strong>на</strong>я перемен<strong>на</strong>я не<br />
забы<strong>в</strong>ала и <strong>в</strong>осста<strong>на</strong><strong>в</strong>ли<strong>в</strong>ала с<strong>в</strong>ое з<strong>на</strong>чение, следует объя<strong>в</strong>лять ее <strong>в</strong><br />
подпрограмме с оператором Static.<br />
Чтобы перемен<strong>на</strong>я стала «<strong>в</strong>идимой» изо <strong>в</strong>сех процедур и функций<br />
модуля, ее объя<strong>в</strong>ляют <strong>в</strong> <strong>на</strong>чальном разделе описаний модуля с оператором<br />
хранения Dim или Private, и перемен<strong>на</strong>я <strong>в</strong> этом случае <strong>на</strong>зы<strong>в</strong>ается<br />
переменной уро<strong>в</strong>ня модуля. О<strong>на</strong> «помнит» с<strong>в</strong>ое з<strong>на</strong>чение <strong>в</strong> пределах модуля <strong>в</strong><br />
течение <strong>в</strong>сего сеанса работы приложения. Перемен<strong>на</strong>я, «из<strong>в</strong>ест<strong>на</strong>я» <strong>в</strong>сей<br />
программе, неза<strong>в</strong>исимо от того, <strong>в</strong> <strong>на</strong>чале какого модуля о<strong>на</strong> объя<strong>в</strong>ле<strong>на</strong>,<br />
объя<strong>в</strong>ляется с оператором хранения Public и <strong>на</strong>зы<strong>в</strong>ается общей переменной.<br />
Наиболее простым способом <strong>в</strong><strong>в</strong>ода данных <strong>в</strong> программу служит<br />
функция языка Visual Basic<br />
InputBox (Текст [,Заголо<strong>в</strong>ок [,Умолчание [, X, Y]]] )<br />
О<strong>на</strong> позиционирует <strong>в</strong> точке X, Y экра<strong>на</strong> окно диалога с приглашением Текст<br />
и <strong>в</strong>оз<strong>в</strong>ращает <strong>в</strong><strong>в</strong>еденный <strong>в</strong> это окно от<strong>в</strong>ет пользо<strong>в</strong>ателя.<br />
Примеры<br />
Sub ТеоремаПифагора ()<br />
катет1 = 2: катет2 = 3<br />
сообщение = "Гипотенуза имеет длину "<br />
MsgBox сообщение & Sqr (катет1 ^ 2 + катет2 ^ 2)<br />
End Sub<br />
Sub Дата ()<br />
деньРождения = #2/12/69#<br />
' месяц, день, год