Ввод первой программы
Напоминаем, что редактор программ на Visual Basic for Application является отдельным приложением, выполненным в стиле других приложений Microsoft Office, а, следовательно, он имеет такие компоненты, как меню, контекстные меню и панели инструментов. Основное меню редактора, представляющее собой строку команд в верхней части окна, обеспечивает доступ к основным функциям для редактирования, отладки и исполнения программ. Команды этого меню позволяют вводить новые программы, редактировать программы, отлаживать модули, а также обеспечивают дополнительный сервис, например, позволяя получать справочные сведения об инструкциях языка, отслеживать значения переменных и многое другое.
(c) Компьютерная газета
Правила ввода программы
Редактор модулей является обычным текстовым редактором и предоставляет определенный набор операций для копирования, вставки текста, поиска образцов и т.д. Но поскольку в редакторе вводятся тексты программ, следует помнить следующие правила:
- Инструкция занимает ровно одну строку - после ввода очередной инструкции надо нажимать клавишу Enter.
- Редактор программ на Visual Basic for Application выделяет синтаксические конструкции языка цветом. Это позволяет отличить правильно введенную инструкцию от неправильной. Так, если вы завершили ввод новой строки и перешли к следующей, убедитесь, что редактор программ Visual Basic for Application не зафиксировал ошибку и не выделил строку красным цветом.
- Для выделения блоков программы, например, ветвлений, циклов, условий и др., используйте клавишу Tab или соответствующую команду меню, например, в английской версии Microsoft Office нужно вызвать команду Edit-Indent. Ниже приводится пример программы, в которой блоки программы выделяются табулятором - согласитесь, что такую программу проще анализировать.
For I=1 To 10
If I>5 Then
S = S + I*I
Else
S = S + I
End If
Next
- Длинные инструкции можно разделить на группу строк с помощью символа подчеркивания "_". Эта форма записи применяется в тех случаях, когда, например, надо вызвать какую-то процедуру и передать ей множество параметров. Так, в следующей программе вызывается метод ConvertToTable, а аргументы метода записываются в разных строках:
Selection.ConvertToTable _
Separator:=wdSeparateByParagraphs, _
NumColumns:=2, _
NumRows:=6, _
Format:=wdTableFormatClassic1, _
ApplyBorders:=True, ApplyShading:=True, _
ApplyFont:=True, _
ApplyColor:=True, _
ApplyHeadingRows:=False, _
ApplyLastRow:=False, _
ApplyFirstColumn:=False, _
ApplyLastColumn:=False, _
AutoFit:=True
- Необязательно вводить целиком все конструкции. С помощью средства для автоматического завершения слова можно ввести лишь первые несколько символов, а затем нажать клавиши Ctrl-пробел.
Управление редактором с помощью команд меню File
Редактируя приложение, вы будете постоянно обращаться к командам меню File (Файл), Edit (Правка), Insert (Вставка). Другие команды используются реже и о них будет рассказано позднее. Обращаем ваше внимание, что в тексте используются английские обозначения команд, однако не трудно догадаться об их русских эквивалентах, если вы используете локализованную версию Microsoft Office, например, команда Import File переведена как Импорт файла. Рисунки, приведенные в этой статье, помогут вам сопоставить команды меню в русской и английской версиях Microsoft Office.
Меню File обеспечивает управление редактором модулей, например, сохранение, импорт-экспорт и печать. Команда Save или комбинация клавиш Ctrl-S записывает в файле документа все измененные модули, модули класса и формы. Если новый документ еще не был сохранен, на экране появляется диалоговое окно, в котором следует ввести название документа. При последующем сохранении имя файла не запрашивается. В зависимости от типа редактируемого документа название этого пункта меню может изменяться, например, при редактировании шаблона normal.dot в меню появляется команда Save Normal.
Команды для экспорта и импорта объектов приложения для Microsoft Office используются гораздо реже. Команда Import File или комбинация клавиш Ctrl-M импортирует внешний текстовый модуль, содержащий описания процедур на Visual Basic for Application внутрь документа. При импорте запрашивается название текстового файла, из которого внутрь текущего документа переносятся описания процедур. А команда Export File или комбинация клавиш Ctrl-E экспортирует модуль в указанный текстовый файл. Таким образом, текст программы копировать отдельно от документа. Чтобы в дальнейшем добавить такой модуль к документу, следует воспользоваться операцией импорта.
Для удаления модуля или формы используется команда Remove. Также можно установить курсор в окне проекта на нужный объект и нажать клавишу Del. Перед удалением предоставляется возможность сохранить программу во внешнем текстовом файле, для чего, как и при экспорте, надо указать его имя. Как и в случае с командой Save, название пункта меню в зависимости от типа объекта может изменяться. Например, если вы создадите форму newform1, а затем выделите ее в окне проекта, то в меню появится команда Remove newform1.
Команда Print или комбинация клавиш Ctrl-P выводит текущий модуль или форму на принтер. В появляющемся при выборе этой команды диалоговом окне надо указать диапазон печати и тип распечатываемого объекта. Таким образом, можно вывести на принтер выделенный фрагмент, программу, текущий модуль и сразу все модули проекта.
Команда Close and Return или комбинация клавиш Alt-Q позволяет завершить работу редактора модулей и закрывать окно Microsoft Visual Basic.
Редактирование программы с помощью команд меню Edit
Меню Edit содержит команды для редактирования модуля и предоставляет дополнительный сервис, в частности, контекстный поиск, настройку отступа от левого края окна и др. Пара команд - Undo, Redo - используются соответственно для отмены и отказа от отмены предыдущей команды. Эти команды имеют такие же функции, что аналогичные команды текстового процессора Word.
Группа следующих команд служит для перемещения, копирования и удаления выделенного текста. Команда Cut или клавиши Ctrl-X переносят выделенный текст в буфер обмена, стирая его в исходном модуле. Скопированный фрагмент программы представляет собой обычный текст, поэтому его можно использовать в любой программе, способной работать с текстом. Заметим, что с помощью этой команды можно вырезать не только фрагмент программы, но и выделенные элементы управления. При этом они также сохраняются в буфере обмена и могут быть использованы в другой форме Microsoft Office. Команда Copy или клавиши Ctrl-C копируют выделенный текст или выделенные элементы управления формы в буфер обмена. Команда Paste или клавиши Ctrl-V помещают текст из буфера обмена обратно в модуль в позицию, где находится курсор. Если по команде Cut или Copy в буфере обмена были сохранены элементы управления, то применять команду Paste можно лишь в том случае, если выделена какая-нибудь форма. Команда Clear и клавиша Del удаляюет выделенный фрагмент текста без копирования в буфер обмена. Команда Select All и клавиши Ctrl-A выделяют все строки текущего модуля или, если выделена форма, то все элементы управления. В последнем случае они заключаются в рамки.
Команда Find и клавиши Ctrl-F открывают диалоговое окно, в котором можно задать строку для поиска в тексте программы. С помощью этого окна можно указать образец поиска, область поиска, а также ряд вспомогательных параметров, таких как использование шаблона при поиске, учитывание регистра текста и т.д. Команда Find Next или клавиша F3 продолжает поиск в тексте программы указанной строки. Прежде чем использовать эту команду, нужно указать образец поиска в диалоговом окне Find.
Команда Replace или клавиши Ctrl-H открывают диалоговое окно, в котором можно задать строку для поиска с заменой и выполнить ее поиск и замену.
Команды indent или клавиша tab и outdent или клавиши shift-tab соответственно сдвигают конструкцию, вводимую в текущей строке, на несколько символов вправо или влево. Пример использования этой команды уже приводился выше.
Приведенных в этой статье сведений достаточно, чтобы разобраться с основными возможностями среды программирования Visual Basic for Application, которые, впрочем, не ограничиваются редактированием текста макросов и модулей. В следующих частях вы познакомитесь с синтаксисом Visual Basic for Application, а затем снова вернетесь к изучению среды программирования. Будет рассказываться о том, как создавать формы и отлаживать приложения.
Сергей Лосев
(c) Компьютерная газета
Правила ввода программы
Редактор модулей является обычным текстовым редактором и предоставляет определенный набор операций для копирования, вставки текста, поиска образцов и т.д. Но поскольку в редакторе вводятся тексты программ, следует помнить следующие правила:
- Инструкция занимает ровно одну строку - после ввода очередной инструкции надо нажимать клавишу Enter.
- Редактор программ на Visual Basic for Application выделяет синтаксические конструкции языка цветом. Это позволяет отличить правильно введенную инструкцию от неправильной. Так, если вы завершили ввод новой строки и перешли к следующей, убедитесь, что редактор программ Visual Basic for Application не зафиксировал ошибку и не выделил строку красным цветом.
- Для выделения блоков программы, например, ветвлений, циклов, условий и др., используйте клавишу Tab или соответствующую команду меню, например, в английской версии Microsoft Office нужно вызвать команду Edit-Indent. Ниже приводится пример программы, в которой блоки программы выделяются табулятором - согласитесь, что такую программу проще анализировать.
For I=1 To 10
If I>5 Then
S = S + I*I
Else
S = S + I
End If
Next
- Длинные инструкции можно разделить на группу строк с помощью символа подчеркивания "_". Эта форма записи применяется в тех случаях, когда, например, надо вызвать какую-то процедуру и передать ей множество параметров. Так, в следующей программе вызывается метод ConvertToTable, а аргументы метода записываются в разных строках:
Selection.ConvertToTable _
Separator:=wdSeparateByParagraphs, _
NumColumns:=2, _
NumRows:=6, _
Format:=wdTableFormatClassic1, _
ApplyBorders:=True, ApplyShading:=True, _
ApplyFont:=True, _
ApplyColor:=True, _
ApplyHeadingRows:=False, _
ApplyLastRow:=False, _
ApplyFirstColumn:=False, _
ApplyLastColumn:=False, _
AutoFit:=True
- Необязательно вводить целиком все конструкции. С помощью средства для автоматического завершения слова можно ввести лишь первые несколько символов, а затем нажать клавиши Ctrl-пробел.
Управление редактором с помощью команд меню File
Редактируя приложение, вы будете постоянно обращаться к командам меню File (Файл), Edit (Правка), Insert (Вставка). Другие команды используются реже и о них будет рассказано позднее. Обращаем ваше внимание, что в тексте используются английские обозначения команд, однако не трудно догадаться об их русских эквивалентах, если вы используете локализованную версию Microsoft Office, например, команда Import File переведена как Импорт файла. Рисунки, приведенные в этой статье, помогут вам сопоставить команды меню в русской и английской версиях Microsoft Office.
Меню File обеспечивает управление редактором модулей, например, сохранение, импорт-экспорт и печать. Команда Save или комбинация клавиш Ctrl-S записывает в файле документа все измененные модули, модули класса и формы. Если новый документ еще не был сохранен, на экране появляется диалоговое окно, в котором следует ввести название документа. При последующем сохранении имя файла не запрашивается. В зависимости от типа редактируемого документа название этого пункта меню может изменяться, например, при редактировании шаблона normal.dot в меню появляется команда Save Normal.
Команды для экспорта и импорта объектов приложения для Microsoft Office используются гораздо реже. Команда Import File или комбинация клавиш Ctrl-M импортирует внешний текстовый модуль, содержащий описания процедур на Visual Basic for Application внутрь документа. При импорте запрашивается название текстового файла, из которого внутрь текущего документа переносятся описания процедур. А команда Export File или комбинация клавиш Ctrl-E экспортирует модуль в указанный текстовый файл. Таким образом, текст программы копировать отдельно от документа. Чтобы в дальнейшем добавить такой модуль к документу, следует воспользоваться операцией импорта.
Для удаления модуля или формы используется команда Remove. Также можно установить курсор в окне проекта на нужный объект и нажать клавишу Del. Перед удалением предоставляется возможность сохранить программу во внешнем текстовом файле, для чего, как и при экспорте, надо указать его имя. Как и в случае с командой Save, название пункта меню в зависимости от типа объекта может изменяться. Например, если вы создадите форму newform1, а затем выделите ее в окне проекта, то в меню появится команда Remove newform1.
Команда Print или комбинация клавиш Ctrl-P выводит текущий модуль или форму на принтер. В появляющемся при выборе этой команды диалоговом окне надо указать диапазон печати и тип распечатываемого объекта. Таким образом, можно вывести на принтер выделенный фрагмент, программу, текущий модуль и сразу все модули проекта.
Команда Close and Return или комбинация клавиш Alt-Q позволяет завершить работу редактора модулей и закрывать окно Microsoft Visual Basic.
Редактирование программы с помощью команд меню Edit
Меню Edit содержит команды для редактирования модуля и предоставляет дополнительный сервис, в частности, контекстный поиск, настройку отступа от левого края окна и др. Пара команд - Undo, Redo - используются соответственно для отмены и отказа от отмены предыдущей команды. Эти команды имеют такие же функции, что аналогичные команды текстового процессора Word.
Группа следующих команд служит для перемещения, копирования и удаления выделенного текста. Команда Cut или клавиши Ctrl-X переносят выделенный текст в буфер обмена, стирая его в исходном модуле. Скопированный фрагмент программы представляет собой обычный текст, поэтому его можно использовать в любой программе, способной работать с текстом. Заметим, что с помощью этой команды можно вырезать не только фрагмент программы, но и выделенные элементы управления. При этом они также сохраняются в буфере обмена и могут быть использованы в другой форме Microsoft Office. Команда Copy или клавиши Ctrl-C копируют выделенный текст или выделенные элементы управления формы в буфер обмена. Команда Paste или клавиши Ctrl-V помещают текст из буфера обмена обратно в модуль в позицию, где находится курсор. Если по команде Cut или Copy в буфере обмена были сохранены элементы управления, то применять команду Paste можно лишь в том случае, если выделена какая-нибудь форма. Команда Clear и клавиша Del удаляюет выделенный фрагмент текста без копирования в буфер обмена. Команда Select All и клавиши Ctrl-A выделяют все строки текущего модуля или, если выделена форма, то все элементы управления. В последнем случае они заключаются в рамки.
Команда Find и клавиши Ctrl-F открывают диалоговое окно, в котором можно задать строку для поиска в тексте программы. С помощью этого окна можно указать образец поиска, область поиска, а также ряд вспомогательных параметров, таких как использование шаблона при поиске, учитывание регистра текста и т.д. Команда Find Next или клавиша F3 продолжает поиск в тексте программы указанной строки. Прежде чем использовать эту команду, нужно указать образец поиска в диалоговом окне Find.
Команда Replace или клавиши Ctrl-H открывают диалоговое окно, в котором можно задать строку для поиска с заменой и выполнить ее поиск и замену.
Команды indent или клавиша tab и outdent или клавиши shift-tab соответственно сдвигают конструкцию, вводимую в текущей строке, на несколько символов вправо или влево. Пример использования этой команды уже приводился выше.
Приведенных в этой статье сведений достаточно, чтобы разобраться с основными возможностями среды программирования Visual Basic for Application, которые, впрочем, не ограничиваются редактированием текста макросов и модулей. В следующих частях вы познакомитесь с синтаксисом Visual Basic for Application, а затем снова вернетесь к изучению среды программирования. Будет рассказываться о том, как создавать формы и отлаживать приложения.
Сергей Лосев
Компьютерная газета. Статья была опубликована в номере 48 за 1999 год в рубрике программирование :: разное