Как запустить макрос в excel при открытии книги
Перейти к содержимому

Как запустить макрос в excel при открытии книги

  • автор:

Как автоматически при открытии книги запустить макрос в excel?

Правда это не сработает в том случае, если у пользователя в настройках включена блокировка макросов (это включено по умолчанию). Нужно еще помочь ему отключить эту опцию. На самом деле более интересный вопроса как это сделать простым программным методом. Ума не приложу. Наверное через реестр или может есть какая-то встроенная VBA функция для этого.

Код для автозагрузки при открытии Word:

igumnov's user avatar

Добавлю к ответу igumnov.

Код необходимо вставить в модуль ЭтаКнига (Для Word — ThisDocument)

Alt+F11 — открываем проект VBA. Слева — окно проекта, модуль находится там, в папке Microsoft Excel Objects

Исполняемый макрос записывается в общий модуль (в папке Modules).

Если модуля нет, его нужно создать: в редакторе VBA вкладка Insert-Module

Если окна проекта нет, открыть — меню Viev-Project Explorer (Ctrl+R)

Если макросы запрещены, никакими внутренними встроенными средствами поменять уровень безопасности нельзя. В VBA тоже нет такой команды. Это противоречило бы логике защиты: запрещаем макросы, но тем же макросом их разрешаем.

Поменять уровень безопасности вручную:

Для Excel-2003: меню Сервис-Макрос-Безопасность

Для Excel-2010 глубже: закладка ленты Файл-Параметры-Центр_управления_безопасностью-Параметры_центра_управления_безопасностью-Параметры_макросов

Программно менять уровень безопасности можно, но перед этим нужно установить на компьютер скрипт, который «умеет» менять уровень безопасности. Такие программы есть в свободном доступе.

Как запустить макрос в excel при открытии книги

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

Прежде чем начать, убедитесь, что на ленте доступна вкладка Разработчик. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».

Чтобы использовать пример ниже, откройте новую книгу.

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

Откройте вкладку Разработчик и щелкните элемент Visual Basic.

В обозревателе VBA Project слева разверните папку VBA Project книги, а затем дважды щелкните модуль ThisWorkbook. Если вы не видите обозреватель Project, перейдите в > Project проводникаили нажмите CTRL+R.

В окне модуля, которое открывается справа, вставьте следующий код:

В конце и подмножите записи в процедуру Sub.

Закройте редактор Visual Basic (вам не нужно ничего сохранять).

Сохраните книгу как книгу Excel Macro-Enabled (XLSM)и закроем ее.

При следующем запуске книги код, добавленный в Workbook_Open, будет работать автоматически.

Прежде чем начать, убедитесь, что на ленте доступна вкладка Разработчик. Для этого:

В меню выберите пункт Параметры Excel >. >ленты & панели инструментов.

В категории Настройка ленты в списке Основные вкладки выберите вариант Разработчик.

Нажмите кнопку Сохранить.

Чтобы использовать пример ниже, откройте новую книгу.

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

Откройте вкладку Разработчик и щелкните элемент Visual Basic.

В обозревателе VBA Project слева разверните папку VBA Project книги, а затем дважды щелкните модуль ThisWorkbook.

В окне модуля, которое открывается справа, вставьте следующий код:

В конце и подмножите записи в процедуру Sub.

Закройте редактор Visual Basic (вам не нужно ничего сохранять).

Сохраните книгу как книгу Excel Macro-Enabled (XLSM)и закроем ее.

При следующем запуске книги код, добавленный в Workbook_Open, будет работать автоматически.

Дополнительные сведения

Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

Как запустить макрос в excel при открытии книги

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

Запускать код VBA при закрытии или открытии книги

1. Включите книгу, нажмите Alt + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Двойной клик ThisWorkbook в проекте — VBAProject панель, чтобы открыть ThisWorkbook (Код) окно.
код запуска документа при открытии или закрытии 1

2. В окне кода выберите Workbook из раскрывающегося списка слева. Обратите внимание, что по умолчанию Открытые будет отображаться в правом раскрывающемся списке, если нет, измените его на Открытые.
код запуска документа при открытии или закрытии 2

3. Затем скопируйте свой собственный код без первой и последней строки и вставьте между Private Sub Workbook_Open() и End Sub как показано ниже.
код запуска документа при открытии или закрытии 3

4. Затем нажмите Save. кнопку, чтобы сохранить код, в появившемся диалоговом окне напоминания нажмите Нет.
код запуска документа при открытии или закрытии 4

5 Тогда Сохранить как появится диалоговое окно, сохраните файл как Excel Macro-Enabled Workbook и выберите папку для размещения файла.
код запуска документа при открытии или закрытии 5

6. Нажмите Save. кнопка. Теперь код будет работать, пока рабочая книга открыта.

Если вы хотите запускать код при закрытии книги каждый раз, выберите Деактивировать из правого раскрывающегося списка в Code окно и скопируйте код, который вы будете запускать, и вставьте между Private Sub Workbook_Deactivate() и End Sub .

Лучшие инструменты для офисной работы

Превратите часы в минуты с Kutools for Excel!

Готовы ускорить свои задачи в Excel? Используйте силу Kutools for Excel — ваш лучший инструмент для экономии времени. Оптимизируйте сложные задачи и скользите по своим данным, как профессионал. Испытайте Excel с молниеносной скоростью!

Зачем тебе Kutools for Excel

���� Более 300 мощных функций: Kutools содержит более 300 расширенных функций, упрощающих вашу работу в более чем 1500 сценариях.

�� Превосходная обработка данных: объединяйте ячейки, удаляйте дубликаты и выполняйте расширенные преобразования данных — и все это без особых усилий!

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

�� Настраиваемые диаграммы и отчеты: доступ к множеству дополнительных диаграмм и создание информативных отчетов, рассказывающих историю.

���� Мощная панель навигации: Получите преимущество благодаря надежному диспетчеру столбцов, диспетчеру рабочих листов и пользовательскому избранному.

. Семь типов раскрывающихся списков: Упростите ввод данных с помощью раскрывающихся списков различных функций и типов.

�� Удобный: простой инструмент для начинающих и мощный инструмент для экспертов.

Заставка при открытии книги Excel

Этот прием позволит Вам выводить на экран окно-заставку при открытии любой заданной книги в Excel.

splash.png

Заставка появляется сразу после открытия файла и автоматически исчезает через несколько секунд.

Шаг 1. Создаем экранную форму

Откройте редактор Visual Basic — в старых версиях Excel это можно сделать через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor) , а в новых кнопкой Visual Basic на вкладке Разработчик (Developer) и создайте новую форму, используя команду меню Insert — UserForm. Появится пустая серая оконная форма будущей заставки. Добавим на нее изображение при помощи панели инструментов Toolbox (если у вас ее не видно, то зайдите в меню View — Toolbox):

splash2.jpg

Нажмите кнопку Image и растяните на форме прямоугольник — в него будет помещено фоновое изображение. Затем на панели инструментов Properties (если у вас ее не видно, то выберите в меню View — Properties) задайте выберите файл картинки в поле Picture:

Возможно, придется немного изменить размер формы, чтобы изображение уместилось полностью. Чтобы написать на форме текст, можно использовать элемент управления Label с панели Toolbox.

Ну, и наконец, выделив предварительно всю форму, можно задать текст в строке заголовка, используя свойство Caption в панели Properties:

В итоге у вас должно получиться нечто подобное:

splash5.jpg

Шаг 2. Добавляем управляющий код

Щелкните правой кнопкой мыши по форме и выберите View Code. В открывшийся модуль формы добавьте такой код:

Откройте модуль ЭтаКнига в левом верхнем углу (если ее не видно — отобразите соответствующее окно через меню View — Project Explorer) и добавьте в него следующий код:

И, наконец, вставьте обычный модуль (Insert — Module) и скопируйте туда это:

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

Как это работает?

При открытии книги Excel выполняет процедуру Workbook_Open из модуля ЭтаКнига. Эта процедура отображает на экране нашу форму-заставку. При отображении формы запускается процедура UserForm_Activate, которая с задержкой в 5 секунд запускает макрос KillTheForm, который убирает форму с экрана.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *