20

Я видел посты с ответами, в которых используется код / макросы VBA (Visual Basic для приложений), однако впоследствии я также отметил дополнительные комментарии о том, как использовать VBA (как его реализовать и выполнить). Я надеюсь, что это поможет просто выполнить код.

Итак, мой вопрос:

У меня есть некоторый код VBA. Как добавить VBA в проект MS Excel, Word или Outlook?

2 ответа2

19

Чтобы открыть редактор VBA в любом продукте Microsoft Office 1, нажмите Alt+F11.

Затем вам нужно определить, как вы хотите, чтобы ваш VBA был реализован. Вы хотите, чтобы это было вызвано некоторым событием в программном обеспечении, таким как сохраняемый файл или изменяемый выбор в электронной таблице? Или вы хотите иметь возможность выполнять код самостоятельно в любое время?

Если первое, взгляните на Project Explorer и найдите проект, связанный с файлом, над которым вы сейчас работаете.

Если вы хотите, чтобы ваш код запускался событием, связанным с конкретным листом (например, код должен запускаться каждый раз, когда значение изменяется на Sheet1), вам нужно дважды щелкнуть этот конкретный объект листа, указанный в Project Explorer. Откроется текстовое поле, в которое вы можете вставить код. Если событие связано со всей книгой, а не с конкретным листом (например, код должен выполняться при сохранении книги), дважды щелкните объект ThisWorkbook в Project Explorer.

Однако, если вы не хотите, чтобы ваш код вызывался событием, вам нужно поместить код в модуль. Если в документе или рабочей книге есть другой код, например, из записанного макроса, он появится в модуле. Если существует существующий модуль, в большинстве случаев вы захотите вставить свой код в тот же модуль под любым существующим кодом. Существующие модули будут перечислены в Project Explorer.

Если модуль не существует, вам нужно будет вставить новый. Для этого выберите « Module в раскрывающемся меню « Insert в окне редактора VBA. Это вставит новый модуль и отобразит текстовое окно внутри окна редактора. Вставьте туда свой код.

Если вы хотите выполнить код в модуле, у вас есть несколько вариантов. Одним из них является запуск кода из окна редактора VBA. Вы можете просто поместить курсор где-нибудь в коде, который вы хотите запустить, и нажать F5, или нажать Значок «играть» - зеленый треугольник, направленный вправо Кнопка (Выполнить) на панели инструментов под строкой меню, чтобы выполнить код.

Другой вариант - использовать диалоговое окно « Macros ».  Чтобы открыть его, выполните одно из следующих действий:

  • на вкладке « View » ленты на панели « Macros (крайний справа) нажмите кнопку « Macros
  • на вкладке « Developer » на панели « Code (слева) нажмите кнопку « Macros
  • нажмите Alt+F8

Диалоговое окно выглядит так:

В приведенном выше примере вы можете запустить YourCode

  • выбрав его из списка и нажав кнопку « Run , или
  • выбрав его из списка и дважды щелкнув по нему.

______
1 Как я могу использовать VBA в Excel 2010 Starter Edition?, вы не можете использовать VBA в Excel 2010 Starter Edition.

4

Эти шаги выполняются с использованием Office 2010 (если не указано иное), но они должны быть достаточно похожими для 2007 и 2013 годов. Я делаю это с Excel, но различия должны быть тонкими.

Первый шаг - добавить вкладку «Разработчик» на ленту.

В Office 2007

  1. Нажмите кнопку «Офис Меню» -> «(Программа) Параметры».  («Офисное меню» относится к Офисная кнопка Кнопка в левом верхнем углу.) Это вызывает меню, в нижней части которого находятся кнопки «Параметры Excel», «Параметры Word» и т.д.

  2. В диалоговом окне параметров установите флажок «Показать вкладку разработчика на ленте»:Офисное меню и нажмите «ОК».

  3. Ваша новая вкладка «Разработчик» должна отображаться.

В Office 2010 и 2013

  1. Нажмите Файл -> Параметры.

  2. Выберите « Настроить ленту».

  3. С правой стороны найдите Developer и установите флажок. Нажмите ОК.

  4. Ваша новая вкладка должна отображаться, нажмите на нее, а затем нажмите на Visual Basic.

Отображается сложный экран, который является окном редактирования кода VBA.

Примечание: Вы также можете открыть окно редактирования кода VBA с помощью сочетания клавиш Alt+F11 (даже если вкладка «Разработчик» не отображается).

Внутри окна редактирования кода, слева вы должны иметь панель с именем Project-VBAProject. При этом под объектами Microsoft Excel (это имя различается в зависимости от того, какую программу (Word, Outlook и т.д.) Вы используете) является «вещь», называемая ThisWorkbook. Дважды щелкните на ThisWorkbook

В этом примере мы будем использовать следующий код.

sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 

Все вышеперечисленное - это открыть диалоговое окно, чтобы показать сообщение на экране.

Скопируйте код и вставьте его в белый лист в окне редактирования кода VBA.

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

Таким образом, каждый раз, когда вы хотите запустить код, вернитесь к этому экрану и нажмите кнопку воспроизведения!

Тем не менее, вы можете добавить свою кнопку. Если вы хотите добавить кнопку, то, во-первых, обратите внимание, что в первой строке кода есть WarnMeOfDanger() . На самом деле это название нашей « подпрограммы ». Мы запомним это на потом. Теперь просто закройте окно, которое вы использовали (код автоматически сохраняется).

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

Теперь, если вы нажмете новую кнопку, появится сообщение. Щелкните правой кнопкой мыши по кнопке, чтобы получить параметры для ее перемещения, изменения текста, изменения размера и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .