29 Сен 2009

В разделе Excel

Как сделать так, чтобы при открытии Excel автоматически запускался макрос.

Если макрос записан и сохранен с именем «Auto_open», он будет запускаться при каждом открытии книги, содержащей этот макрос. Другим способом автоматического запуска макроса при открытии книги является написание процедуры на языке VBA (Visual Basic для приложений) в событии Open книги с помощью редактора Visual Basic (Редактор Visual Basic. Среда разработки новых и редактирования существующих программ и процедур Visual Basic для приложений. Редактор Visual Basic включает полный набор средств отладки, обеспечивающих обнаружение ошибок синтаксиса, ошибок выполнения и логических ошибок в программах.). Событие Open представляет собой встроенное событие книги, запускающее код макроса при каждом открытии книги.
Создание макроса «Авто_открыть»

  1. Если вкладка Разработчик недоступна, выполните следующие действия для ее отображения.
  2. Щелкните значок Кнопка Microsoft Office Значок кнопки, а затем щелкните Параметры Excel.
  3. В категории Основные в группе Основные параметры работы с Excel установите флажок Показывать вкладку «Разработчик» на ленте, а затем нажмите кнопку ОК.
  4. Для установки уровня безопасности, временно разрешающего выполнение всех макросов, выполните следующие действия:
  5. На вкладке Разработчик в группе Код нажмите кнопку Безопасность макросов
  6. В категории Параметры макросов в группе Параметры макросов нажмите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем нажмите кнопку ОК.

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

  1. Для сохранения макроса с конкретной книгой сначала откройте эту книгу.
  2. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
  3. В поле Имя макроса введите Авто_открыть.
  4. В списке Сохранить в выберите книгу, в которой нужно сохранить макрос.
Совет.   Если необходимо, чтобы данный макрос был всегда доступен при работе в приложении Excel, выберите вариант Личная книга макросов. При выборе варианта Личная книга макросов создается скрытая личная книга макросов (Personal.xlsb)(если она еще не существует), в которой будет сохранен макрос. В Microsoft Windows Vista эта книга сохраняется в папке C:\Users\имя_пользователя\Application Data\Microsoft\Excel\XLStart. В Microsoft Windows XP эта книга сохраняется в папке C:\Documents and Settings\имя_пользователя\Application Data\Microsoft\Excel\XLStart. Книги из этой папки автоматически загружаются при каждом запуске приложения Excel. Если требуется автоматически запускать макрос из личной книги в другой книге, необходимо также сохранить эту книгу в папке XLStart, чтобы при запуске приложения Excel открывались обе книги.
  1. Нажмите кнопку ОК, а затем выполните действия, которые нужно записать.
  2. На вкладке Разработчик в группе Код нажмите кнопку Остановить запись Изображение кнопки.

Совет.   Можно также нажать кнопку Остановить запись Изображение кнопки слева от строки состояния.

Примечания

* Если на шаге 6 было выбрано сохранение макроса в Эта книга или Новая книга, сохраните или переместите книгу в одну из папок XLStart.
* Запись макроса «Авто_открыть» имеет следующие ограничения:
o Если книга, в которой сохраняется макрос «Auto_Open», уже содержит процедуру на языке VBA в событии Open, эта процедура для события Open заменит все действия макроса «Auto_Open».
o При открытии книги с помощью метода Open макрос «Авто_Открыть» игнорируется.
o Макрос «Auto_Open» запускается перед открытием других книг. Поэтому при записи действий, которые нужно выполнить в книге по умолчанию «Книга1» или в книге, загруженной из папки XLStart, такие действия макроса «Auto_Open» при запуске приложения Excel выполнены не будут, поскольку запуск этого макроса происходит перед открытием книги по умолчанию и новой книги.

При обнаружении этих ограничений вместо записи макроса «Авто_открыть» необходимо создать процедуру на языке VBA для события Open, как описано в следующем разделе этой статьи.
* Чтобы предотвратить автоматическое выполнение макроса «Auto_Open» при запуске Microsoft Excel, во время запуска удерживайте нажатой клавишу SHIFT.

Метки: