Изучите VBA Macro Coding Word 2007

Цель этого курса - помочь людям, которые никогда не писали программу, прежде чем научиться ее писать. Нет причин, по которым офисные работники, домохозяйки, профессиональные инженеры и лица, занимающиеся доставкой пиццы не должны иметь возможности использовать собственные компьютерные программы, созданные вручную, чтобы работать быстрее и умнее. Для этого не нужно брать «профессионального программиста» (что бы это ни было). Вы знаете, что нужно сделать лучше, чем кто-либо другой. Вы можете сделать это самостоятельно!

(И я говорю это как человек, который много лет писал программы для других людей... 'профессионально'.)

С учетом сказанного, это не курс в том, как использовать компьютер.

Этот курс предполагает, что вы знаете, как использовать популярное программное обеспечение и, в частности, что на вашем компьютере установлен Microsoft Word 2007. Вы должны знать основные навыки работы с компьютером, например, как создавать папки с файлами (то есть каталоги) и как перемещать и копировать файлы. Но если вы всегда задавались вопросом, что же такое компьютерная программа, это нормально. Мы покажем вам.

instagram viewer

Microsoft Office не дешево. Но вы можете получить больше пользы от этого дорогого программного обеспечения, которое вы уже установили. Это большая причина, по которой мы используем Visual Basic для приложений или VBA вместе с Microsoft Office. Есть миллионы, у кого есть это и горстка (возможно никто), кто использует все, что он может сделать.

Однако прежде чем мы пойдем дальше, мне нужно объяснить еще одну вещь о VBA. В феврале 2002 года Microsoft сделала ставку в 300 миллиардов долларов на абсолютно новую технологическую базу для всей своей компании. Они назвали это .NET. С тех пор Microsoft перемещает всю свою технологическую базу в VB.NET. VBA - самый последний инструмент программирования, который до сих пор использует VB6, проверенную и проверенную технологию, которая использовалась до VB.NET. (Вы увидите фразу «на основе COM» для описания технологии уровня VB6.)

ВСТО и ВБА

Microsoft создала способ написания программ на VB.NET для Office 2007. Это называется Visual Studio Tools for Office (VSTO). Проблема с VSTO заключается в том, что вы должны купить и научиться использовать Visual Studio Professional. Само Excel по-прежнему также основано на COM, и программы .NET должны работать с Excel через интерфейс (называемый PIA, Primary Interop Assembly).

Так... пока Microsoft не соберет свои силы и не даст вам возможность писать программы, которые будут работать с Word, и не заставит вас присоединиться к ИТ-отделу, макросы VBA все еще будут подходить.

Другая причина, по которой мы используем VBA, заключается в том, что он действительно «полностью выпеченный» (а не наполовину выпеченный) разработка программного обеспечения среда, которая годами использовалась программистами для создания самых сложных систем из существующих. Неважно, насколько высоко установлены ваши программные прицелы. Visual Basic имеет возможность доставить вас туда.

Что такое макрос?

Возможно, вы уже использовали настольные приложения, которые поддерживают так называемый макроязык. Макросы - это просто сценарии действий на клавиатуре, сгруппированные под одним именем, чтобы вы могли выполнять их все одновременно. Если вы всегда начинаете день, открывая документ «MyDiary», вводя сегодняшнюю дату и вводя слова «Дорогой дневник», - почему бы не позволить компьютеру сделать это за вас? Чтобы соответствовать другим программам, Microsoft также называет VBA макроязыком. Но это не так. Это намного больше.

Многие настольные приложения включают программный инструмент, который позволит вам записывать макрос нажатия клавиш. В приложениях Microsoft этот инструмент называется Macro Recorder, но в результате получается не традиционный макрос нажатия клавиш. Это программа VBA, и отличие состоит в том, что она не просто воспроизводит нажатия клавиш. Программа VBA дает вам тот же конечный результат, если это возможно, но вы также можете писать сложные системы на VBA, которые оставляют простые макросы клавиатуры в пыли. Например, вы можете использовать функции Excel в Word, используя VBA. И вы можете интегрировать VBA с другими системами, такими как базы данных, Интернет или другие программные приложения.

Хотя VBA Macro Recorder очень полезен для простого создания простых клавиатурных макросов, программисты обнаружили, что еще более полезно дать им старт в более сложных программах. Это то, что мы собираемся сделать.

Начало Microsoft Word 2007 с пустым документом и будьте готовы написать программу.

Вкладка «Разработчик» в Word

Первое, что вы должны сделать, чтобы написать программу на Visual Basic в Word 2007, это найти Visual Basic! По умолчанию в Word 2007 не отображается используемая лента. Чтобы добавить разработчик сначала нажмите вкладку офис кнопку (логотип в верхнем левом углу), а затем нажмите Варианты слов. щелчок Показать вкладку «Разработчик» на ленте а затем нажмите Ok.

Когда вы нажимаете разработчик Вкладка, у вас есть целый новый набор инструментов, используемых для написания программ VBA. Мы собираемся использовать VBA Macro Recorder для создания вашей первой программы. (Если лента со всеми вашими инструментами продолжает исчезать, вы можете щелкнуть правой кнопкой мыши на ленте и убедиться, что Сверните ленту не проверяется.)

щелчок Запись макроса. Назовите свой макрос: AboutVB1 введя это имя в Имя макроса текстовое окно. Выберите текущий документ в качестве места для хранения макроса и нажмите кнопку «ОК». Смотрите пример ниже.

(Примечание: если вы выберете Все документы (Normal.dotm) из выпадающего меню эта тестовая программа VBA, по сути, станет частью самого Word, потому что она станет доступной для каждого документа, который вы создаете в Word. Если вы хотите использовать макрос VBA только в определенном документе или хотите отправить его кому-то еще, лучше сохранить этот макрос как часть документа. Normal.dotm по умолчанию, поэтому вы должны изменить его.)

Когда Macro Recorder включен, введите текст «Hello World». в ваш документ Word. (Указатель мыши изменится на миниатюрное изображение кассеты с лентой, чтобы показать, что нажатия клавиш записываются.)

(Примечание: Hello World почти необходим для «Первой программы», потому что самое первое руководство по программированию для компьютерный язык "C" использовал это. С тех пор это стало традицией.)

щелчок Остановить запись. Закройте Word и сохраните документ под именем: AboutVB1.docm. Вы должны выбрать Документ Word с поддержкой макросов от Сохранить как тип падать.

Это оно! Вы уже написали программу Word VBA. Посмотрим, как это выглядит!

Понимание, что такое программа VBA

Если вы закрыли Word, откройте его снова и выберите AboutVB1.docm файл, который вы сохранили в предыдущем уроке. Если все было сделано правильно, вы должны увидеть баннер в верхней части окна вашего документа с предупреждением безопасности.

VBA и безопасность

VBA настоящий язык программирования. Это означает, что VBA может делать практически все, что вам нужно. А это, в свою очередь, означает, что если вы получаете документ Word со встроенным макросом от какого-то «плохого парня», этот макрос тоже может делать что угодно. Таким образом, предупреждение Microsoft следует воспринимать всерьез. С другой стороны, вы написал этот макрос и все, что он делает, это типа «Hello World», так что здесь нет никакого риска. Нажмите кнопку, чтобы включить макросы.

Чтобы увидеть, что создал Macro Recorder (а также сделать большинство других вещей, связанных с VBA), вам нужно запустить редактор Visual Basic. Для этого на левой стороне ленты разработчика есть значок.

Во-первых, обратите внимание на левое окно. Это называется Project Explorer и он группирует объекты высокого уровня (о них мы поговорим подробнее), которые являются частью вашего проекта Visual Basic.

Когда Macro Recorder был запущен, у вас был выбор Обычный шаблон или текущий документ в качестве места для вашего макроса. Если вы выбрали Normal, то NewMacros модуль будет частью Обычный ветка отображения Project Explorer. (Вы должны были выбрать текущий документ. Если вы выбрали Обычный, удалите документ и повторите предыдущие инструкции.) Выберите NewMacros под Модули в вашем текущем проекте. Если окно кода по-прежнему не отображается, нажмите Код под Посмотреть меню.

Документ Word как контейнер VBA

Каждая программа на Visual Basic должна находиться в каком-то файле «контейнера». В случае макросов Word 2007 VBA этот контейнер представляет собой документ Word ('.docm'). Программы Word VBA не могут работать без Word, и вы не можете создавать автономные («.exe») программы Visual Basic, как вы можете это делать с Visual Basic 6 или Visual Basic .NET. Но это все еще оставляет целый мир вещей, которые вы можете сделать.

Ваша первая программа, конечно, короткая и приятная, но она поможет вам познакомиться с основными функциями VBA и редактора Visual Basic.

Исходный код программы обычно состоит из ряда подпрограмм. Когда вы перейдете к более сложному программированию, вы обнаружите, что в программу могут входить и другие вещи, помимо подпрограмм.

Эта конкретная подпрограмма называется AboutVB1. Заголовок подпрограммы должен быть связан с End Sub внизу. Круглая скобка может содержать список параметров, состоящий из значений, передаваемых в подпрограмму. Здесь ничего не передается, но они должны быть там в Sub заявление в любом случае. Позже, когда мы запустим макрос, мы будем искать имя AboutVB1.

В подпрограмме есть только один фактический программный оператор:

Выбор. TypeText Text: = "Hello World!"

Объекты, методы и свойства

Это утверждение содержит большую тройку:

  • объект
  • метод
  • недвижимость

В заявлении фактически добавляется текст «Hello World». к содержанию текущего документа.

Следующая задача - запустить нашу программу несколько раз. Точно так же, как покупка машины, неплохо бы покататься на ней, пока она не почувствует себя немного комфортно. Мы сделаем это дальше.

Программы и документы

У нас великолепная и сложная система... состоящий из одного оператора программы... но теперь мы хотим запустить его. Вот что это такое.

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

Программы VBA должны содержаться в файле хоста. В Word хост - это документ. В нашем примере это AboutVB1.docm. Программа фактически сохраняется внутри документа.

Например, если бы это был Excel, мы бы говорили о программа и таблица. В доступе программа и база данных. Даже в автономном приложении Visual Basic для Windows у нас будет программа и форма.

(Примечание: в программировании существует тенденция называть все контейнеры высокого уровня «документом»). Это особенно тот случай, когда XML... еще одна перспективная технология... используется. Не позволяйте этому сбить вас с толку. Хотя это и небольшая неточность, вы можете думать о «документах» как о «файлах».)

Есть... Ummmmm... о трех основных способах запуска макроса VBA.

  1. Вы можете запустить его из Word Document.
    (Примечание: две подкатегории должны выбрать Макросы из меню Инструменты или просто нажать Alt-F8. Если вы назначили макрос для панели инструментов или сочетания клавиш, это еще один способ.))
  2. Вы можете запустить его из редактора, используя значок «Выполнить» или меню «Выполнить».
  3. Вы можете пошагово пройти программу в режиме отладки.

Вы должны попробовать каждый из этих методов, чтобы освоиться с интерфейсом Word / VBA. Когда вы закончите, у вас будет целый документ, заполненный повторениями «Hello World!»

Запуск программы из Word довольно прост. Просто выберите макрос после нажатия макрос значок под Посмотреть Вкладка.

Чтобы запустить его из редактора, сначала откройте редактор Visual Basic, а затем либо щелкните значок «Выполнить», либо выберите «Выполнить» в меню. Вот где разница между Документом и Программой может запутать некоторых. Если документ свернут или, возможно, окна расположены так, что его закрывает редактор, вы можете нажимать значок «Выполнить» снова и снова, и, похоже, ничего не происходит. Но программа работает! Снова переключитесь на документ и посмотрите.

Пошаговое выполнение программы, вероятно, является наиболее полезным методом решения проблем. Это также делается из редактора Visual Basic. Чтобы попробовать это, нажмите F8 или выберите Шаг в от отлаживать меню. Первое утверждение в программе, Sub Заявление, выделено. Нажатие F8 выполняет операторы программы по одному, пока программа не завершится. Вы можете точно видеть, когда текст добавляется в документ таким образом.

Существует множество более совершенных методов отладки, таких как «Точки останова», проверка программных объектов в «Немедленном окне» и использование «Окна наблюдения». Но пока просто знайте, что это основная техника отладки, которую вы будете использовать как программист.

Объектно-ориентированного программирования

Следующий урок - все о Объектно-ориентированного программирования.

"Whaaaattttt!" (Я слышу, как ты стонешь) "Я просто хочу писать программы. Я не зарегистрировался, чтобы быть ученым-информатиком! "

Не бойся! Есть две причины, почему это отличный ход.

Во-первых, в современной среде программирования вы просто не можете быть эффективным программистом, не понимая концепций объектно-ориентированного программирования. Даже наша очень простая однострочная программа «Hello World» состояла из объекта, метода и свойства. На мой взгляд, непонимание объектов - самая большая проблема начинающих программистов. Итак, мы собираемся противостоять зверю прямо перед собой!

Во-вторых, мы собираемся сделать это как можно безболезненнее. Мы не будем путать вас с жаргоном информатики.

Но сразу после этого мы вернемся к написанию программного кода с уроком, в котором мы разработаем макрос VBA, который вы, вероятно, сможете использовать! Мы немного усовершенствуем эту программу в следующем уроке и в завершение покажем, как начать использовать VBA с несколькими приложениями одновременно.

instagram story viewer