Як додати VBA в MS Office?


21

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

Отже, моє питання:

У мене є код VBA. Як додати VBA до проекту MS Excel або Word або Outlook?


1
Я намагаюся створити канонічне питання. Не соромтеся додавати будь-які інші запитання, на які я можу посилатися / ми можемо закрити, додати теги або відредагувати або питання, або відповіді, щоб покращити його, або опублікувати відповіді.
Дейв

Пов’язано: superuser.com/q/794590/346288 - простий "удар" для налагодження коду VBA.
Hannu

Відповіді:


19

Щоб відкрити редактор VBA в будь-якому продукті Microsoft Office 1 , натисніть Alt+ F11.

Далі вам потрібно визначити, як ви хочете реалізувати свою VBA. Ви хочете, щоб його викликало якась подія в програмному забезпеченні, наприклад, файл, який зберігається, або вибір на електронній таблиці? Або ви хочете мати можливість виконувати код самостійно, коли завгодно?

Якщо перший, перегляньте Провідник проектів і знайдіть проект, пов’язаний з файлом, над яким ви зараз працюєте.

Якщо ви хочете, щоб ваш код ініціював подію, пов’язану з певним аркушем (наприклад, код повинен запускатися кожного разу, коли значення змінюється на Sheet1), слід двічі клацнути на цьому конкретному об'єкті аркуша, вказаному в Провіднику проектів. Це відкриє текстове поле, куди ви можете вставити код. Якщо подія пов’язана з усією робочою книжкою замість конкретного аркуша (наприклад, код повинен запускатися під час збереження робочої книги), двічі клацніть ThisWorkbookоб’єкт у Провіднику проектів.

Якщо ви не хочете, щоб ваш код був ініційований подією, ви хочете розмістити його в модулі. Якщо в документі чи робочій книжці є інший код, скажімо, із записаного макросу, він з’явиться в модулі. Якщо є вже наявний модуль, у більшості випадків ви захочете вставити свій код у той самий модуль під будь-яким наявним кодом. Існуючі модулі будуть перелічені в Провіднику проектів.

Якщо модуля не існує, вам потрібно буде вставити новий. Для цього виберіть 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, але відмінності повинні бути тонкими.

Перший крок - додати в стрічку вкладку Developer.

В Office 2007,

  1. Натисніть кнопку «Меню» Офіс -> « (Програма) Параметри». ("Меню Office" відноситься до Кнопка Officeкнопки у верхньому лівому куті.) Тут з'являється меню, у якому внизу кнопка "Параметри Excel", "Параметри слова" тощо.

  2. У діалоговому вікні параметрів встановіть прапорець "Показати вкладку розробника на стрічці": Офісне меню і натисніть "ОК".

  3. Ваша нова вкладка "Розробник" має відображатися.

В Office 2010 та 2013 роках

  1. Клацніть Файл -> Параметри .

  2. Виберіть Налаштувати стрічку .

  3. У правій частині знайдіть Developer і поставте прапорець. Натисніть кнопку ОК .

  4. Ваша нова вкладка повинна відображатися, клацніть на ній і натисніть на Visual Basic .

Відображається загрозливий екран, який є вікном редагування коду VBA.

Бічна примітка : Ви також можете відкрити вікно редагування коду VBA, скориставшись комбінацією клавіш Alt+ F11(навіть якщо вкладка Developer не відображається).

Всередині вікна редагування коду зліва ви повинні мати область під назвою Project-VBAProject. У цьому розділі "Об'єкти Microsoft Excel" (це ім'я відрізняється залежно від того, яку програму (Word, Outlook тощо) ви використовуєте) "це", що називається ThisWorkbook. Двічі клацніть на ThisWorkbook

У цьому прикладі ми використаємо наступний код.

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

Все вищезгадане - це відкрити діалогове вікно для відображення повідомлення на екрані.

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

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

Отже, кожен раз, коли ви хочете запустити код, повертайтеся на цей екран і натискайте кнопку відтворення!

Однак ви можете віддати перевагу додати власну кнопку. Якщо ви хочете додати кнопку, то спочатку зверніть увагу на перший рядок коду WarnMeOfDanger(). Це власне назва нашої « підпрограми ». Ми згадаємо про це пізніше. Тепер просто закрийте Вікно, яке ви використовували (код автоматично зберігається).

Ще на стрічці розробника натисніть на Вставити та виберіть перший елемент, який є кнопкою. Ваш курсор миші стає трохи хрестиком (не сердиться, я маю на увазі його зовнішній вигляд). Намалюйте розмір кнопки. З'явиться нове вікно, і воно повинно показати нам можливість призначити кнопку функції. У цьому випадку ми повинні побачити щось подібне ThisWorkbook.WarnMeOfDanger. Клацніть на цьому і натисніть кнопку ОК .

Тепер, якщо ви натиснете свою нову кнопку, відобразиться повідомлення. Клацніть правою кнопкою миші кнопку, щоб отримати варіанти її переміщення, зміни тексту, зміни розміру тощо.


Запитання та відповідь тієї ж людини? Дивно .......
Прасанна

2
@Prasanna, коли ви ставите запитання, у вас є можливість відповісти на нього відразу. Пам'ятайте, що це веб-сайт із питань питань і відповідей, тому, якщо він є релевантним і корисним, я думаю, що це прийнято. Є декілька таких навколо.
Дейв

Я до цього не знав. Дякую за інформацію
Прасанна

2
Перші кілька кроків для доступу до вікна коду можна замінити простим "Alt + F11". :)
Ƭᴇcʜιᴇ007

@ Ƭᴇcʜιᴇ007, не соромтесь редагувати далеко :) +1
Дейв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.