Главная страница > Вопрос
Вопрос
Как реализовать, чтобы при открытии Excel запускалась процедура в VBA?
программирование | компьютеры 05.05.10 Автор: shururik
Ответы
1 из 1
Результат встроенной справки VBA 2007 открывающейся по F1.

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

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

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

           Изображение ленты Excel
        2. В категории Параметры макросов в группе Параметры макросов нажмите переключатель Включить все макросы (не рекомендуется, возможен запуск опасной программы), а затем нажмите кнопку ОК.

      Примечание.   Для предотвращения запуска потенциально опасного кода по завершении работы с макросами рекомендуется вернуть параметры, отключающие все макросы.
  3. Для сохранения макроса с конкретной книгой сначала откройте эту книгу.
  4. На вкладке Разработчик в группе Код нажмите кнопку Запись макроса.
  5. В поле Имя макроса введите Авто_открыть.
  6. В списке Сохранить в выберите книгу, в которой нужно сохранить макрос.

      Совет.   Если необходимо, чтобы данный макрос был всегда доступен при работе в приложении 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 открывались обе книги.
  7. Нажмите кнопку ОК, а затем выполните действия, которые нужно записать.
  8. На вкладке Разработчик в группе Код нажмите кнопку Остановить запись Изображение кнопки.

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

 Примечания  

   * Если на шаге 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.

З.Ы. F1 забыт не оправданно.
05.05.10 Автор: ruslan.uralsk
Это может быть интересно
Как в форму VBA добавить данные из файла Excel?
VBA excel 2010
Как будет выглядеть данная формула в VBA(встроенный в Excel)?
можно ли вставить фрагмент excel таблицы в форму
реализовать на Листе кнопку Назад в Excel
Войти
Просмотреть Вопросы и ответы в версии: для мобильных устройств | для ПК
©2014 Google - Политика конфиденциальности - Справка