Как добавить VBA в MS Office?

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

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

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

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

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

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

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

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

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

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

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

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

Диалоговое окно выглядит следующим образом:

Введите описание изображения здесь

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

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

Эти шаги выполняются с использованием 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. Дважды щелкните по этой книге

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

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

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

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

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

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

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

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

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

  • Различие между использованием .text и .value в VBA Access
  • В чем разница между dim и set в vba
  • Каков наиболее эффективный / быстрый способ циклического преобразования строк в VBA (excel)?
  • Функция IsDate возвращает неожиданные результаты
  • Экспорт форм доступа MS и classов / модhive Рекурсивно в текстовые файлы?
  • Как я могу убить процессы диспетчера задач с помощью кода VBA?
  • Транспонирование диапазона в VBA
  • Рабочие книги VBA. Не запрашивать, если пользователь хочет сохранить?
  • Могу ли я сделать этот макрос более эффективным или быстрым?
  • Сортировка словаря по ключу в VBA
  • запуск макроса excel из другой книги
  • Давайте будем гением компьютера.