Автозагрузка макроса для excel

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

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

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

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

    Группа "Код" на вкладке "Разработчик"

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

    Модуль ThisWorkbook в редакторе Visual Basic (VBE)

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

    Private Sub Workbook_Open()
    
    ' Put your code here
    
    End Sub

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

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

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

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

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

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

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

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

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

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

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

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

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

    Private Sub Workbook_Open()
    
    ' Put your code here
    
    End Sub

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

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

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

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

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    To run a macro automatically when the workbook opens one must enable the developer’s tools in Microsoft excel.

    Steps to enable the developer’s tool:

    Step 1: Go to File > Options > Customize Ribbon

    Step 2: Then checkmark the Developer’s tool option in the customize ribbon option.

    Now you can record Macro, run Macro and do everything that a developer can do.

    Steps to run macro automatically when the workbook opens:

    Step 1: Go to the developer’s menu and then go to the visual basic.

    Step 2: Go to ThisWorkbook Tab.

    Step 3: Write down Private Sub Workbook_open() and hit enter. You will then see the below screen.

    You can write your code or basically whatever you want between this and it will automatically run every time the workbook is opened.

    Let us make a Welcome Message Box:

    Step 4: Save the workbook as Excel Macro-Enabled Workbook.

    Note: If you don’t save it as an Excel macro-enabled workbook then it will not save the macros and it will simply save as a normal excel file.

    Output:

    Now, whenever you open this workbook you will see this message box pops up automatically.

    Like Article

    Save Article

    Если вы часто пользуетесь макросами в MS Excel, то уверен, у вас не раз возникал вопрос: «Как быстро запустить написанный макрос?». Можно привязать горячую клавишу, например. Так же мы расскажем, как сделать так, чтобы макрос был доступен из любого файла Excel и можно было сделать быстрый запуск макроса в Excel.

    Если вы не знаете о чем идет речь, то советую прочитать специальную статью. Если коротко, макрос — это список действий, записанных при помощи «языка» VBA. Очень удобно записать такую последовательность, если вы часто выполняете одни и те же операции (их можно записать специальным инструментом — макрорекордером). Макрос будет выполнять их при нажатии одной кнопки.

    Содержание

    • Где посмотреть полившийся макрос и запустить его?
    • Запуск макроса в Excel. Горячие клавиши
    • Автозапуск макроса при открытии книги
    • Дополнительные возможности запуска макроса при действии с книгой
    • Дополнительные возможности запуска макроса при действии с листом
    • Похожие статьи

    Где посмотреть полившийся макрос и запустить его?

    Самый удобный способ работы с макросами и связанными инструментами — вывести вкладку Разработчик на панель инструментов

    Запуск макроса в Excel

    Включается он несложно — заходим в левую, верхнюю кнопку Параметры Excel — раздел Основные — в правом окне ставим галочку Показывать вкладку Разработчик на ленте

    Как мы видим, здесь большой выбор инструментов, от возможности зайти в Visual Basic до вставки объекта, например, кнопки.

    Запуск макроса можно осуществить нажатием второй кнопки слева Макросы.

    Появится окно для выбора макроса

    Запуск макроса

    Выбираем нужный — жмем выполнить.

    Запуск макроса в Excel. Горячие клавиши

    Открытие окна выбора макроса можно осуществить через горячую клавишу Alt + F8. А зайти в окно редактирования макроса сочетанием Alt + F11.

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

    Запуск макроса 2

    В данным случае ctrl + Ё.

    Автозапуск макроса при открытии книги

    Зайдите в окно редактирования макроса Alt + F11 или нажмите кнопку Просмотр кода на панели Разработчик.

    У вас откроется VBA. Ваш макрос (особенно записанный макрорекордером) будет храниться в отдельном отделе модулей в левой панели.

    Запуск макроса 3

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

    Копируйте тело макроса из правого окна (между Sub и End Sub)

    Автозапуск макросов

    Выберите в левой панели ЭтаКнига (двойным левым кликом).

    Как запустить макрос Эксель при открытии файла

    В верхних панелях выбираем Workbook и признак включения макроса Open (открытие книги получается).

    Копированный текст макроса из модуля вставляем между Private Sub и End Sub. Сохраняем. Закрываем VBA.

    Готово! Запуск макроса будет происходить при открытии книги.

    Не забудьте сохранить книгу с поддержкой макросов (xlsm или xlsb).

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

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

    • Activate — при активации книги (при переходе из другого окна в эту книгу);
    • Deactivate — при переходе в другую книгу;
    • BeforeClose — перед закрытием книги;
    • BeforePrint — перед печатью книги;
    • BeforeSave —  при сохранении книги;
    • NewSheet — при создании нового листа книги.

    Дополнительные возможности запуска макроса при действии с листом

    По аналогии с предыдущим пунктом, такие же действия можно привязать к определенному листу. Ниже команды, которые запускают макрос при действии с листом:

    • SheetActivate — при активации листа книги;
    • SheetDeactivate — при переходе на другой лист книги;
    • SheetCalculate — при пересчете формул на листе;
    • SheetBeforeDoubleClick — перед двойным кликом мыши;
    • SheetBeforeRightClick — перед кликом правой кнопкой мыши;
    • SheetChange — при изменение на листе

    Если необходимо запустить макрос при изменении в ячейке — подробная инструкция есть в этой статье.

    Готов ответить на вопросы в комментариях!

    Содержание

    1. Excel works!
    2. Excel works!
    3. Запуск макроса в Excel. Как запустить макрос при открытии файла?
    4. Где посмотреть полившийся макрос и запустить его?
    5. Запуск макроса в Excel. Горячие клавиши
    6. Автозапуск макроса при открытии книги
    7. Дополнительные возможности запуска макроса при действии с книгой
    8. Дополнительные возможности запуска макроса при действии с листом
    9. Автоматический запуск макроса при открытии книги
    10. Дополнительные сведения
    11. Как автоматически при открытии книги запустить макрос в excel?
    12. 2 ответа 2
    13. Автозапуск файла при открытии Excel
    14. Запуск макроса по времени
    15. Запуск макроса с заданной частотой
    16. Запуск макроса по расписанию
    17. Запускаем Планировщик
    18. Создаем задачу
    19. Добавляем макрос на открытие файла

    Excel works!

    Excel работает за вас

    Excel works!

    Thanks for Visiting

    Запуск макроса в Excel. Как запустить макрос при открытии файла?

    Если вы часто пользуетесь макросами в MS Excel, то уверен, у вас не раз возникал вопрос: «Как быстро запустить написанный макрос?». Можно привязать горячую клавишу, например. Так же мы расскажем, как сделать так, чтобы макрос был доступен из любого файла Excel и можно было сделать быстрый запуск макроса в Excel.

    Если вы не знаете о чем идет речь, то советую прочитать специальную статью . Если коротко, макрос — это список действий, записанных при помощи «языка» VBA. Очень удобно записать такую последовательность, если вы часто выполняете одни и те же операции (их можно записать специальным инструментом — макрорекордером ). Макрос будет выполнять их при нажатии одной кнопки .

    Где посмотреть полившийся макрос и запустить его?

    Самый удобный способ работы с макросами и связанными инструментами — вывести вкладку Разработчик на панель инструментов

    Включается он несложно — заходим в левую, верхнюю кнопку Параметры Excel — раздел Основные — в правом окне ставим галочку Показывать вкладку Разработчик на ленте

    Как мы видим, здесь большой выбор инструментов, от возможности зайти в Visual Basic до вставки объекта, например, кнопки.

    Запуск макроса можно осуществить нажатием второй кнопки слева Макросы.

    Появится окно для выбора макроса

    Выбираем нужный — жмем выполнить.

    Запуск макроса в Excel. Горячие клавиши

    Открытие окна выбора макроса можно осуществить через горячую клавишу Alt + F8 . А зайти в окно редактирования макроса сочетанием Alt + F11.

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

    В данным случае ctrl + Ё.

    Автозапуск макроса при открытии книги

    Зайдите в окно редактирования макроса Alt + F11 или нажмите кнопку Просмотр кода на панели Разработчик.

    У вас откроется VBA. Ваш макрос (особенно записанный макрорекордером) будет храниться в отдельном отделе модулей в левой панели.

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

    Копируйте тело макроса из правого окна (между Sub и End Sub)

    Выберите в левой панели ЭтаКнига (двойным левым кликом).

    В верхних панелях выбираем Workbook и признак включения макроса Open (открытие книги получается).

    Копированный текст макроса из модуля вставляем между Private Sub и End Sub. Сохраняем. Закрываем VBA.

    Готово! Запуск макроса будет происходить при открытии книги.

    Не забудьте сохранить книгу с поддержкой макросов ( xlsm или xlsb ).

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

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

    • Activate — при активации книги (при переходе из другого окна в эту книгу);
    • Deactivate — при переходе в другую книгу;
    • BeforeClose — перед закрытием книги;
    • BeforePrint — перед печатью книги;
    • BeforeSave — при сохранении книги;
    • NewSheet — при создании нового листа книги.

    Дополнительные возможности запуска макроса при действии с листом

    По аналогии с предыдущим пунктом, такие же действия можно привязать к определенному листу. Ниже команды, которые запускают макрос при действии с листом:

    • SheetActivate — при активации листа книги;
    • SheetDeactivate — при переходе на другой лист книги;
    • SheetCalculate — при пересчете формул на листе;
    • SheetBeforeDoubleClick — перед двойным кликом мыши;
    • SheetBeforeRightClick — перед кликом правой кнопкой мыши;
    • SheetChange — при изменение на листе

    Если необходимо запустить макрос при изменении в ячейке — подробная инструкция есть в этой статье .

    Источник

    Автоматический запуск макроса при открытии книги

    Может потребоваться, чтобы макрос, записанный вами, запускался автоматически при запуске определенной книги. В следующей процедуре используется пример, чтобы показать, как это работает. Кроме того, может потребоваться автоматически запускатьмакрос при 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 или попросить помощи в сообществе Answers community.

    Источник

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

    2 ответа 2

    Вставляете это в код:

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

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

    Добавлю к ответу 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 (книги или надстройки) при запуске приложения Microsoft Excel

    Способов добавить файл в автозагрузку Excel достаточно много, поэтому мы рассмотрим только самые основные:

    • открытие файлов из папки автозапуска
    • подключение файла как надстройки

    Начнём с папки автозагрузки (точнее, с папок, поскольку их может быть несколько)

    При установке Excel создаётся специальный каталог XLSTART, все файлы из которого автоматически открываются в Excel при его запуске

    Путь к этой папке можно получить макросом из свойства Application.StartupPath:

    На моём компьютере (под управлением Windows XP), эта папка расположена по пути
    C:Documents and Settings Application DataMicrosoftExcelXLSTART,
    для других версий OC путь может отличаться

    Достаточно в эту папку перетащить ваш файл (или файлы, причем неважно какие — книги Excel, текстовые файлы, CSV и т.п.) — и при запуске приложения все эти файлы будут открыты в Excel

    Кстати, сами файлы перемещать в эту папку необязательно — достаточно поместить в папку автозапуска ЯРЛЫКИ на эти файлы
    (например, ярлык можно создать путем перетаскавания мышом файла в папку, удерживая клавишу Alt)

    Хочу обратить ваше внимание, что вы можете в настройках Excel указать ещё одну папку автозапуска, файлы из которой также будут открываться автоматическе при запуске Excel

    Сделать это можно, если указать путь к вашей папке в параметре «Каталог автозагрузки«:
    (в Excel 2003 меню Сервис — Параметры, вкладка Общие)

    Итак, у нас есть как минимум 2 папки, все файлы из которых будут открываться вместе с Excel.

    Какие же ещё способы предоставляет нам программа?

    Подключение надстройки Excel

    Эта возможность предоставляется только для книг Excel, сохранённых как надстройка (с расширением XLA)

    Если у нас есть такая надстройка, и мы хотим, чтобы она запускалась каждый раз при открытии Excel, мы можем её подключить через меню Сервис — Надстройки (в Excel 2003):
    (чтобы этот пункт меню был доступен, в Excel должна быть открыта хоть одна книга (любая))

    Здесь мы нажимаем кнопку «Обзор. », выбираем наш файл (после выбора он появится в списке доступных надстроек), ставим напротив него галочку, — и надстройка автоматически загружается в Excel

    После этих действий, при каждом запуске приложения Excel ваша надстройка будет доступна (открыта)

    Как видно из вышеприведённого скриншота, у меня вместе с Excel постоянно загружаются 4 надстройки (пятую я временно отключил)

    А что же делать, спросите вы, если требуется макросом включать и отключать автозапуск той или иной надстройки?

    В этом вам поможет мой макрос AddinAutoRun, который добавляет (создаёт) или удаляет ЯРЛЫК на текущий файл в папку автозапуска Excel

    Код макроса достаточно прокомментирован, так что понимание его алгоритма не должно вызвать затруднений:

    Пример использования макроса: (код из модуля книги)

    Источник

    Запуск макроса по времени

    Весьма частый случай на практике: вам нужно запускать один или несколько ваших макросов в заданное время или с определенной периодичностью. Например, у вас есть большой и тяжелый отчет, который обновляется полчаса и вы хотели бы запускать обновление за полчаса до вашего прихода на работу утром. Или у вас есть макрос, который должен делать автоматическую рассылку сотрудникам с заданной периодичностью. Или, работая со сводной таблицей, вы хотите, чтобы она обновлялась «на лету» каждые 10 секунд и т.д.

    Давайте разберемся с тем, какие в Excel и Windows есть возможности для реализации подобного.

    Запуск макроса с заданной частотой

    Для этого проще всего использовать встроенный в VBA метод Application.OnTime, который запускает заданный макрос в указанный момент времени. Давайте разберемся с этим на практическом примере.

    Откройте редактор Visual Basic одноименной кнопкой на вкладке Разработчик (Developer) или сочетанием клавиш Alt + F11 , вставьте новый модуль через меню Insert — Module и скопируйте туда следующий код:

    Давайте разберемся что здесь что.

    Для начала, нам нужна переменная, где будет храниться время следующего запуска нашего макроса — я назвал её TimeToRun. Обратите внимание, что содержимое этой переменной должно быть доступно всем нашим последующим макросам, поэтому её надо сделать глобальной, т.е. объявить в самом начале модуля до первого Sub.

    Дальше идет наш главный макрос MyMacro, который будет выполнять основную задачу — пересчитывать книгу с помощью метода Application.Calculate. Чтобы было нагляднее, я добавил на лист в ячейку А1 формулу =ТДАТА(), которая выводит дату и время — при пересчете её содержимое будет обновляться прямо у нас на глазах (только включите отображение секунд в формате ячейки). Для дополнительного веселья я добавил в макрос еще и команду заливки ячейки А1 случайно выбранным цветом (код цвета — это целое числов в диапазоне 0..56, которое генерит функция Rnd и округляет до целого числа функция Int).

    Макрос NextRun добавляет к предыдущему значению TimeToRun еще 3 секунды и затем назначает следующий запуск главного макроса MyMacro на это новое время. Само-собой, на практике можно использовать любые другие нужные вам временные интервалы, задавая аргументы функции TimeValue в формате «чч:мм:сс».

    Ну и, наконец, просто для удобства добавлены еще макросы запуска последовательности Start и её завершения Finish. В последнем из них для прерывания последовательности используется четвёртый аргумент метода OnTime равный False.

    Итого, если запустить макрос Start, то вся эта карусель завертится, и мы увидим на листе вот такую картину:

    Остановить последовательность можно, запустив, соответственно макрос Finish. Для удобства можно обоим макросам назначить сочетания клавиш, используя команду Макросы — Параметры на вкладке Разработчик (Developer — Macros — Options) .

    Запуск макроса по расписанию

    Само-собой, всё описанное выше возможно только в том случае, если у вас запущен Microsoft Excel и в нём открыт наш файл. Теперь давайте рассмотрим более сложный случай: нужно по заданному расписанию, например, каждый день в 5:00 запускать Excel, открывать в нем большой и сложный отчет и обновлять в нем все связи и запросы, чтобы к нашему приходу на работу он был уже готов 🙂

    В такой ситуации лучше воспользоваться Планировщиком Windows — специально встроенной в любую версию Windows программой, которая умеет по расписанию выполнять заданные действия. По факту, вы уже используете его, сами того не зная, ведь ваш ПК регулярно проверяет обновления, качает новые антивирусные базы, синхронизирует облачные папки и т.д. — это всё работа Планировщика. Так что наша задача сводится к тому, чтобы добавить к уже имеющимся задачам ещё одну, которая будет запускать Excel и открывать в нём заданный файл. А мы с вами повесим наш макрос на событие Workbook_Open этого файла — и задача решена.

    Хочу сразу предупредить, что для работы с Планировщиком, возможно, потребуются расширенные пользовательские права, поэтому, если вы не можете найти описанных ниже команд и функций у себя на рабочем компьютере в офисе — обратитесь за помощью к вашим IT-специалистам.

    Запускаем Планировщик

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

    • Щелкнуть правой кнопкой мыши по кнопке Пуск и выбрать Управление компьютером (Computer management)
    • Выбрать в Панели управления: Администрирование — Планировщик заданий (Control Panel — Administrative Tools — Task Scheduler )
    • Выбрать в главном меню Пуск — Стандартные — Служебные — Планировщик заданий
    • Нажать сочетание клавиш Win + R , ввести taskschd.msc и нажать Enter

    На экране должно появиться примерно такое окно (у меня англоязычная версия, но у вас может быть и русскоязычная):

    Создаем задачу

    Чтобы создать новую задачу с помощью простого пошагового мастера нажмем на ссылку Создать простую задачу (Create Basic Task) в правой панели.

    На первом шаге мастера нужно ввести название и описание создаваемой задачи:

    Жмем на кнопку Далее (Next) и на следующем шаге выбираем триггер — частоту запуска или событие, которое будет запускать нашу задачу (например, включение компьютера):

    Если вы выбрали Ежедневно (Daily) , то на следующем шаге нужно будет выбрать конкретное время, дату начала последовательности и шаг (каждый 2-й день, 5-й день и т.д.):

    Следующий шаг — выбираем действие — Запуск программы (Start a program) :

    И, наконец, самое интересное — что именно нужно открывать:

    В поле Программа или сценарий (Program/script) нужно ввести путь к Microsoft Excel как к программе, т.е. непосредственно к исполняемому файлу Excel. На разных компьютерах с разными версиями Windows и Office этот файл может лежать в разных папках, поэтому вот вам несколько способов, как можно узнать его местоположение:

      Щелкнуть правой кнопкой мыши по иконке (ярлычку) запуска Excel на рабочем столе или в панели задач и выбрать команду Свойства (Properties) , а затем в открывшемся окне скопировать путь из строки Target:

    Открыть любую книгу Excel, затем открыть Диспетчер задач (Task Manager) нажатием Ctrl + Alt + Del и, щелкнув правой кнопкой мыши по строке Microsoft Excel, выбрать команду Свойства (Properties) . В открывшемся окне можно скопировать путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце:

    Открыть Excel, открыть редактор Visual Basic сочетанием клавиш Alt + F11 , открыть панель Immediate сочетанием Ctrl + G , ввести в неё команду:
    ? Application.Path
    . и нажать на Enter


    Cкопировать получившийся путь, не забыв потом дописать к нему обратный слэш и EXCEL.EXE в конце.

    В поле Добавить аргументы (необязательно) (Add arguments (optional)) нужно вставить полный путь к книге с макросом, которую мы хотим открыть.

    Когда всё ввели, то жмем Далее и затем Готово (Finish) . Задача должна добавиться в общий список:

    Управление созданной задачей удобно осуществлять с помощью кнопок справа. Здесь можно протестировать задачу, запустив её немедленно (Run), не дожидаясь наступления заданного срока. Можно временно деактивировать задачу (Disable), чтобы она перестала выполняться на время, например, вашего отпуска. Ну, и изменить параметры (даты, время, имя файла) тоже всегда можно через кнопку Свойства (Properties) .

    Добавляем макрос на открытие файла

    Теперь осталось повесить в нашей книге запуск нужного нам макроса на событие открытия файла. Для этого откроем книгу и перейдем в редактор Visual Basic с помощью сочетания клавиш Alt + F11 или кнопки Visual Basic на вкладке Разработчик (Developer) . В открывшемся окне в левом верхнем углу нужно найти наш файл на дереве и двойным щелчком мыши открыть модуль ЭтаКнига (ThisWorkbook) .

    Если у вас в редакторе Visual Basic не видно этого окна, то его можно открыть через меню View — Project Explorer.

    В открывшемся окне модуля добавим обработчик события открытия книги, выбрав его из выпадающих списков в верхней части Workbook и Open, соответственно:

    На экране должна появиться заготовка процедуры Workbook_Open, куда между строчками Private Sub и End Sub и нужно вставить те команды на VBA, которые должны автоматически выполняться при открытии этой книги Excel, когда её по расписанию откроет Планировщик. Вот несколько полезных вариантов для разгона:

      ThisWorkbook.RefreshAll — обновление всех внешних запросов к данным, запросов Power Query и сводных таблиц. Самый универсальный вариант. Только не забудьте разрешить по умолчанию подключения к внешним данным и обновление связей через Файл — Параметры — Центр управления безопасностью — Параметры центра управления безопасностью — Внешнее содержимое, иначе при открытии книги появится стандартное предупреждение и Excel, ничего не обновляя, будет ждать от вас благословления в виде нажатия на кнопку Включить содержимое (Enable content) :

  • ActiveWorkbook.Connections(«Имя_Соединения»).Refresh — обновление данных по соединению Имя_Соединения.
  • Sheets(«Лист5«).PivotTables(«СводнаяТаблица1«).PivotCache.Refresh — обновление отдельно взятой сводной таблицы с именем СводнаяТаблица1 на листе Лист5.
  • Application.Calculate — пересчет всех открытых книг Excel.
  • Application.CalculateFullRebuild — принудительный пересчет всех формул и перестроение всех зависимостей между ячейками во всех открытых книгах (равносильно повторному вводу всех формул).
  • Worksheets(«Отчет»).PrintOut — распечатать лист Отчет.
  • Call MyMacro — запустить макрос с именем MyMacro.
  • ThisWorkbook.Save — сохранить текущую книгу
  • ThisWorkbooks.SaveAs «D:АрхивОтчет » & Replace(Now, «:», «-«) & «.xlsx» — сохранить книгу в папку D:Архив под именем Отчет с добавлением к имени даты и времени.
  • Если вы хотите, чтобы макрос выполнялся только при открытии файла Планировщиком в 5:00, а не каждый раз при открытии книги пользователем в течение рабочего дня, то имеет смысл добавить проверку на время, например:

    Вот и всё. Не забудьте сохранить книгу в формате с поддержкой макросов (xlsm или xlsb) и можно смело закрывать Excel и отправляться домой, оставив компьютер включенным. В заданный момент (даже если ПК заблокирован) Планировщик запустит Excel и откроет в нём заданный файл, а наш макрос выполнит запрограммированные действия. А вы будете нежиться в постели, пока ваш тяжелый отчёт автоматически пересчитывается — красота! 🙂

    Источник

    • Книги Excel
    • Средства Windows

    Сегодня мы поговорим о том, как добиться автоматического открытия вашего файла Excel (книги или надстройки) при запуске приложения Microsoft Excel

    Способов добавить файл в автозагрузку Excel достаточно много, поэтому мы рассмотрим только самые основные:

    • открытие файлов из папки автозапуска
    • подключение файла как надстройки

    Начнём с папки автозагрузки (точнее, с папок, поскольку их может быть несколько)

    При установке Excel создаётся специальный каталог XLSTART, все файлы из которого автоматически открываются в Excel при его запуске

    Путь к этой папке можно получить макросом из свойства Application.StartupPath: 

    Sub ПапкаАвтозапускаExcel()
        ' читаем путь к папке из настроек Excel
        Folder$ = Application.StartupPath
        MsgBox Folder$, vbInformation, "Папка автозапуска Excel"
        ' открываем эту папку в Проводнике Windows
        CreateObject("wscript.Shell").Run """" & Folder$ & """"
    End Sub

    На моём компьютере (под управлением Windows XP), эта папка расположена по пути
    C:Documents and Settings<имя пользователя>Application DataMicrosoftExcelXLSTART,
    для других версий OC путь может отличаться

    Достаточно в эту папку перетащить ваш файл (или файлы, причем неважно какие — книги Excel, текстовые файлы, CSV и т.п.) — и при запуске приложения все эти файлы будут открыты в Excel

    Кстати, сами файлы перемещать в эту папку необязательно — достаточно поместить в папку автозапуска ЯРЛЫКИ на эти файлы
    (например, ярлык можно создать путем перетаскавания мышом файла в папку, удерживая клавишу Alt)

    Хочу обратить ваше внимание, что вы можете в настройках Excel указать ещё одну папку автозапуска, файлы из которой также будут открываться автоматическе при запуске Excel

    Сделать это можно, если указать путь к вашей папке в параметре «Каталог автозагрузки«:
    (в Excel 2003 меню Сервис — Параметры, вкладка Общие)

    Итак, у нас есть как минимум 2 папки, все файлы из которых будут открываться вместе с Excel.

    Какие же ещё способы предоставляет нам программа?

    Подключение надстройки Excel

    Эта возможность предоставляется только для книг Excel, сохранённых как надстройка (с расширением XLA)

    Если у нас есть такая надстройка, и мы хотим, чтобы она запускалась каждый раз при открытии Excel, мы можем её подключить через меню Сервис — Надстройки (в Excel 2003):
    (чтобы этот пункт меню был доступен, в Excel должна быть открыта хоть одна книга (любая))

    Здесь мы нажимаем кнопку «Обзор…», выбираем наш файл (после выбора он появится в списке доступных надстроек), ставим напротив него галочку, — и надстройка автоматически загружается в Excel

    После этих действий, при каждом запуске приложения Excel ваша надстройка будет доступна (открыта)

    Как видно из вышеприведённого скриншота, у меня вместе с Excel постоянно загружаются 4 надстройки (пятую я временно отключил)


    А что же делать, спросите вы, если требуется макросом включать и отключать автозапуск той или иной надстройки?

    В этом вам поможет мой макрос AddinAutoRun, который добавляет (создаёт) или удаляет ЯРЛЫК на текущий файл в папку автозапуска Excel

    Код макроса достаточно прокомментирован, так что понимание его алгоритма не должно вызвать затруднений:

    Sub AddinAutoRun(Optional ByVal Disable As Boolean)
        ' макрос добавляет ярлык в папку автозагрузки Excel,
        ' файлы из которой автоматически запускаются вместе с приложением
        ' После этого действия надстройка будет запускаться автоматически
    
        ' Если макрос запущен с параметром Disable=TRUE,
        ' то данный файл удаляется из автозапуска
        On Error Resume Next
        If ThisWorkbook.Path Like Environ("temp") & "*" Then
            ' если файл запущен из архива (без предварительного извлечения), или из папки TEMP
    
            AddinsFolder$ = Replace(Application.UserLibraryPath & "", "\", "")
            ' если папка AddIns недоступна, будем сохранять файл в папке C:WINDOWSTemp
            If Dir(AddinsFolder$, vbDirectory) = "" Then AddinsFolder$ = Environ("temp") & ""
            Application.DisplayAlerts = False
            ThisWorkbook.SaveAs AddinsFolder$ & ThisWorkbook.Name    ' сохраняем файл по постоянному пути
            Application.DisplayAlerts = True
        End If
     
        ' PROJECT_NAME$ = "MyAddin"    ' если в вашем файле нет константы PROJECT_NAME$
        ShortcutName$ = PROJECT_NAME$ & ".lnk"    ' формируем имя файла ярлыка, например, "MyAddin.lnk"
        ShortcutFullName$ = Replace(Application.StartupPath & "" & ShortcutName$, "\", "")
     
        On Error Resume Next
        If Disable Then    ' Если макрос запущен с параметром Disable=TRUE, удаляем ярлык из автозагрузки
            Kill ShortcutFullName$
        Else    ' иначе добавляем ярлык в автозагрузку Excel
            Set AddinShortcut = CreateObject("WScript.Shell").CreateShortcut(ShortcutFullName$)
            AddinShortcut.TargetPath = ThisWorkbook.FullName
            AddinShortcut.Save
        End If
     
        ' на всякий случай (чтобы исключить двойной запуск файла),
        ' проверяем наличие файла в списке подключенных надстроек,
        ' и, если находим его в этом списке, - отключаем надстройку
        Dim AI As AddIn
        For Each AI In Application.AddIns    ' перебираем все надстройки
            If AI.Name = ThisWorkbook.Name Then AI.Installed = False
        Next AI
    End Sub

    Пример использования макроса: (код из модуля книги)

    Private Sub Workbook_Open()
        ' при запуске файла добавляем ярлык на него в папку автозагрузки Excel
        AddinAutoRun
    End Sub
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        ' при закрытии файла интересуемся, нужен ли автозапуск программы,
        ' и если не нужен, то отключаем автозапуск, удаляя ярлык
        
        msg = "При следующем запуске Excel эта программа будет запущена автоматически." & _
              vbNewLine & "Оставить программу в автозапуске?"
        ' если пользователь выберет ответ НЕТ, ярлык из папки автозапуска будет удалён
        If MsgBox(msg, vbQuestion + vbYesNo) = vbNo Then AddinAutoRun False
    End Sub
    • 56430 просмотров

    Не получается применить макрос? Не удаётся изменить код под свои нужды?

    Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Автозавершение формулы в excel
  • Автозавершение текста в word
  • Автозавершение текста в excel
  • Автозавершение слов для word
  • Автозавершение слов в word 2010

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии