02-01-Ввод текста.docm - пример к п.2.1.
Записать в Microsoft Word макрос, который автоматически вводит в позицию курсора слово "Привет". Отредактировать макрос вручную таким образом, чтобы он выводил "До свидания".
Начнем запись макроса (Назовем его "Privet"), введем с клавиатуры слово "Привет", после чего остановим запись.
Откроем окно Макросы нажатием соответствующей кнопки на панели Вид, выберем наш макрос и нажмем на кнопку Изменить. Перед нами откроется окно редактора Visual Basic с открытым в нем макросом (рис. 2.1.)
(рис 2.1) Окно редактора Visual BasicОкно редактора включает в себя несколько рабочих областей - окон, служащих для выполнения различных действий. На рис. 2.1. в окне редактора присутствуют три рабочих области:
Code (Код) - это окно, в котором пишут тексты VBA-программ и редактируют макросы. Эта область расположена справа и занимает большую часть окна редактора.
Project Explorer (Проводник Проекта) - это окно обычно открыто в левой верхней части окна редактора. Оно отображает информацию о компонентах проекта, позволяет быстро перемещаться между компонентами.
Properties (Свойства) - отображает
Ниже перечислены другие рабочие области, которых мы коснемся в дальнейшем изложении.
UserForm (Форма) - служит для редактирования пользовательской формы в визуальном режиме.
Toolbox (Панель элементов управления) - содержит набор элементов управления (например - это кнопки, поля ввода и т.д.), которые можно добавлять на формы или в документы.
Object Browser (Обозреватель объектов) - служит для просмотра информации об объектах, доступных в данном приложении.
Watch, Locals, Immediate - окна, средства которых используются при отладке приложений.
Давайте изучим содержимое окна Code. Посмотрите на первую и последнюю строчку текста. Первая строчка выглядит так:
Sub Privet ()
Это - начало процедуры макроса. Процедура - это самостоятельный участок кода. Если хотите, можете считать процедуру отдельной программой. Думаю, вам знакомо название процедуры макроса - ведь мы сами дали ему это имя при записи.
Последняя строчка нашего макроса выглядит так:
End Sub
Получается, что все наши действия в ходе записи макроса описаны командами, находящимися между Sub и End Sub. А что же там находится?
Сразу после первой строки макроса можно увидеть несколько строчек, начинающихся со значка ' (апостроф). Он указывает на то, что текст данной строки - это комментарий. Комментарии в текстах VBA-программ автоматически выделяются зеленым цветом. В нашем случае комментарии содержат информацию об имени макроса и тот текст, который мы вводили в качестве комментария к макросу.
Дальше начинается самое интересное - код, который автоматизирует ввод текста. В нашем случае полезная часть макроса состоит всего из одной строчки. Вот она:
Selection.TypeText Text:="Привет"
Давайте попытаемся "перевести" текст этой программной строки на русский язык, учитывая, что Selection переводится как "выделение", Type - "печатать", Text - текст. Получается, что этой строкой мы даем компьютеру такую команду: "Напечатать в выделенной позиции текст "Привет"".
Как вы думаете, что нужно сделать с этой строчкой, чтобы программа вместо "Привет" вывела бы "До свидания"? Наверняка вы уже догадались, что для этого нужно лишь заменить текст, который расположен в кавычках.
В результате у нас получилась такая строка:
Selection.TypeText Text:="До свидания"
Отредактируйте текст программы, закройте окно редактора (или, не закрывая его, перейдите в окно документа), и, установив курсор в желаемое место вставки текста, выполните макрос.
Примите мои поздравления. Первое знакомство с редактором Visual Basic и с языком VBA состоялось. Ваш первый вручную отредактированный макрос работает. Но сейчас у вас гораздо больше вопросов, чем ответов.
В приложениях Microsoft Office предусмотрена специальная вкладка - Разработчик. Она служит для работы с VBA-программами, элементами управления, которые можно добавлять в документ и т.д. По умолчанию эта вкладка скрыта. Чтобы отобразить ее, например, в Microsoft Word, нажмите кнопку Microsoft Office (в левом верхнем углу окна программы), в появившемся окне нажмите на кнопку Параметры Word, после чего в окне Параметры Word установите галочку в поле Показывать вкладку Разработчик на ленте. Вот как выглядит эта вкладка (рис. 2.2.).
(рис 2.2) Вкладка Разработчик на ленте Microsoft WordОбратите внимание на кнопку Visual Basic - она расположена в области Код. Нажав на эту кнопку, вы запустите редактор VBA. В области Элементы управления расположены миниатюры элементов управления, которые можно располагать в документах.
Если вы включите отображение вкладки Разработчик - в строке состояния редактора появится кнопка, с помощью которой можно быстро начать или остановить запись макроса.
В дальнейшем мы постоянно будем пользоваться элементом управления Кнопка для демонстрации различных возможностей VBA.
В последние годы огромную популярность приобрело так называемое
У
Напомним: наш
Детали работы
Обращение к
Объект.Метод
Возможны и другие варианты использования
Объект.Метод (Параметры)
Обратите внимание на то, что
С помощью Application.Quit, приводит к закрытию приложения. Очевидно, что Application - это Quit - это
Со
Объект.Свойство=Значение
Такой командой мы присваиваем некое значение
А так: Переменная=Объект.Свойство можно присвоить некой
Свойства - это, как мы уже говорили, признаки txt_User_Name.Text="Александр", выведет в текстовом поле ( txt_User_Name ) слово "Александр". Очевидно, что эта команда модифицирует Text, которое отвечает за выводимый на
Объекты могут объединяться в
В следующей главе мы вплотную займемся работой с
Word. Она включает в себя множество Application, который символизирует приложение Microsoft Word. Application, в свою очередь, включает в себя другие
Word.Application.Quit
Обычно при работе в MS Word опускают вызов Word, то есть вышеприведенную команду вполне может заменить такая:
Application.Quit
Вызов Application тоже можно опускать, но делать это допустимо не всегда. Например, команду Application.Quit сократить уже не получится
Как мы уже говорили, в редакторе VBA есть средство для просмотра информации об
(рис 2.3) Окно Object BrowserВ левой части окна (она называется Classes ) находится список
Значок с изображением руки в этом окне означает
Здесь нет информации о том, что делает тот или иной
Далее, можно поискать информацию по интересующим вас
Если вы не знаете, какой именно
Объектные модели приложений огромны. С одной стороны, для эффективного использования всех
Помимо обычных объектных моделей приложений Office, вы можете использовать в своих программах другие объектные модели. Например, программируя для Word, можете воспользоваться объектной моделью Excel а так же - любыми другими моделями, установленными в системе. Для этого нужно подключить нужные модели из редактора VBA с помощью команды меню Tools -> References (Инструменты o Ссылки) (рис. 2.4.).
В данном случае мы подключаем библиотеку Microsoft Excel (она ценна встроенными функциями) к Microsoft Word, то есть сможем пользоваться некоторыми функциями Excel в Word. Подключенные модели можно просматривать в окне Project Explorer.
(рис 2.4) Подключение библиотеки объектов Microsoft ExcelПодключив объектную модель Microsoft Excel в Microsoft Word, вы сможете программно работать с документами MS Excel из программ, написанных в MS Word (и наоборот). Если вы собираетесь работать с базами данных - вам понадобится особая объектная модель ADO и т.д.
Сегодня нередко встречается ситуация, когда пользователям приходится одновременно работать со старыми версиями MS Office (например, Office XP, 2003) и новыми (Office 2007). Как вы знаете, эти версии имеют различные форматы файлов. Например, в предыдущих версиях MS Word используется универсальный формат .doc для хранения файлов документов, .dot - для шаблонов, а в новой - .docx и .docm для документов (второй формат поддерживает макросы, а первый - нет), и . dotm - для шаблонов.
Новый Office нормально работает со старыми версиями файлов, в том числе и с файлами, содержащими макросы. Однако, если вы хотите, чтобы, скажем, ваши *.doc - файлы, содержащие макросы, гарантированно работали в Office 2007 - обязательно тестируйте их в среде Office 2007.
Старые версии в исходном виде не умеют работать с новыми файлами. Чтобы они смогли читать новые файлы, нужно установить специальный конвертер, который можно скачать с сайта Microsoft, однако это не гарантирует полную совместимость программного кода. Так, объектные модели приложений Office 2007 дополнены новыми OMath для работы с формулами в MS Word).
Если вам приходится работать в среде, которая предусматривает параллельное использование двух разных версий Office, лучше всего создавать и отлаживать программы именно в той версии, в которой вы планируете их использовать.
Большая часть материала данной книги справедлива для всех современных версий Office, однако, как уже было сказано, объектные модели приложений различаются, поэтому, используя тот или иной
В этой лекции вы узнали самое главное о программировании на VBA. Теперь вы знаете, как найти редактор Visual Basic и где хранится код макроса. Теперь вам нужно научиться пользоваться редактором, ориентироваться в его инструментах. Всему этому посвящена следующая лекция.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.