Макрос word при открытии файла

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

Как мы знаем, для таких случаев разработчик снабдил все приложения из пакета Microsoft Office встроенным языком программирования Visual Basic for Applications (VBA).

Весь программный код оформляется в виде процедур (макросов) или функций. И сейчас мы разберем, как автоматически запускать макросы при открытии текстового документа Word или рабочей книги Excel.

Видеоурок по данной теме «Автозапуск макросов в Word и Excel» вы можете найти на нашем Youtube-канале «Учите компьютер вместе с нами!»

Прежде всего, следует помнить, что обычные документы хранятся в файлах типа *.docx или *.xlsx и не предусматривают наличие макросов. Поэтому, первое, что нужно сделать, это включить такую поддержку. Для этого, во вкладке «Файл» выбираем пункт «Сохранить как» и в открывшемся окне «Сохранение документа«, в списке «Тип файла» выбираем «Документ Word с поддержкой макросов» или «Книга Excel с поддержкой макросов«, указываем требуемое имя файла и нажимаем кнопку «Сохранить«.

*Каждый рисунок можно увеличить щелчком левой кнопки мыши по нему

После указанных манипуляций, наши сохраненные файлы будут иметь расширения *.docm или *.xlsm. Вход в редактор VBA выполняется нажатием сочетания клавиш <ALT>+<F11>.

Дальнейшие действия, в зависимости от того, с каким файлом мы работаем, Word или Excel, будут отличаться. Поэтому, рассмотрим автозапуск макросов для каждого из этих приложений в отдельности.

1. Автозапуск макросов в Word. Здесь все предельно просто. Если вы хотите, чтобы макрос автоматически выполнялся при открытии документа, тогда вам нужно присвоить ему специальное имя «Autoopen«.

Находясь в редакторе VBA, выбираем пункт меню «Insert/Вставка«, «Module/Модуль«. Далее, в открывшемся окне модуля набираем программный код:

Public Sub Autoopen()

    …

End Sub

Начало макроса записывается командой Public Sub, конец — End Sub. Все что находится между ними — это команды VBA, которые будут автоматом выполняться при открытии данного документа, например:

Команда MsgBox («Hello, World!») выводит на экран текстовое сообщение «Hello, World!».

2. Автозапуск макросов в Excel. Как ни странно, но в Excel такой подход не срабатывает. Здесь «Autoopen» не является зарезервированным именем и такой макрос не будет выполняться автоматически при открытии книги.

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

Для этого, в редакторе VBA, в окне «Project» выполняем двойной щелчок левой кнопкой мыши на объекте «ЭтаКнига«. В открывшемся окне модуля, из верхнего левого списка выбираем объект «Workbook«, а из правого списка — событие «Open«, как показано на рисунке ниже.

В результате, текст макроса автоматически приобретает вид:

Private Sub Workbook_Open()

    …

End Sub

То есть, название макроса записывается в формате: Объект_Событие. Теперь, вместо многоточия прописываем требуемый программный код. В нашем случае, это команда MsgBox («Hello, World!»).

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

Как сообщалось на нашем сайте ранее, файлы Excel можно открыть в разных окнах.

0 / 0 / 0

Регистрация: 28.08.2007

Сообщений: 171

1

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

26.11.2007, 15:08. Показов 14650. Ответов 3


Студворк — интернет-сервис помощи студентам

Народ помогите плиз, надо что бы при открытии заданного документа Word например 1.doc поверх текста появлялась UserForm, вставить то я ее вставил, а вот как сделать чтоб она автоматом при открытии именно этого документа появлялась ни как не допру. Заранее спасибо.



0



2 / 2 / 0

Регистрация: 22.11.2007

Сообщений: 70

26.11.2007, 17:20

2

Надо вставить МАКРО не в NORMAL.DOT, а в нужный документ (1.doc), и запускать его автоматически при открытии документа (используя события OPEN).

Другой путь — для открытия нужного документа запускать WORD с ключом ‘/m’ (например, для МАКРОС MAIN из NORMAL.DOT использовать командную строку ‘Full WORD name/word.exe’ /mMAIN)



0



0 / 0 / 0

Регистрация: 28.08.2007

Сообщений: 171

27.11.2007, 19:34

 [ТС]

3

Спасибо конечно, но что то не работает… Если могешь примерчик и по подробнее, а то я ужо себя недогоном осущаю… Спасибо.



0



SIG

2 / 2 / 0

Регистрация: 22.11.2007

Сообщений: 70

28.11.2007, 10:14

4

Выполни следующее:

1. Создай нужный документ (например, DOC1.DOC);
2. Открой его и войди в редактор VBA;
3. Открой проект Project(DOC1) (но НЕ NORMAL.DOT!);
4. Открой в этом проеткте модуль ThisDocument (папка MicrosoftWord объекты);
5. Вставь в этот модуль следующий простой код:

Visual Basic
1
2
3
4
5
Option Explicit
 
Private Sub Document_Open()
  MsgBox 'HELLO! Document DOC1 is open!'
End Sub

6. Сохрани документ (вместе с документом автоматически сохранится приписанный ему код).

Теперь, всякий раз при открытии документа DOC1.DOC (точнее, сразу же после его открытия) будет появляться Message Box: ‘HELLO! Document DOC1 is open!’ (естественно, на вопрос ‘Включать ли МАКРО’ при открытии документа следует отвечать ДА).

Вместо указанного выше простого кода можно вставить любой другой (Load UserForm, UserForm.Show etc.), который будет выполняться при открытии документа.

Удачи!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

28.11.2007, 10:14

Помогаю со студенческими работами здесь

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

Автоматический запуск макроса при открытии любой книги, которая соответствует конкретным условиям
Добрый день, уважаемые форумчане! Нужна ваша помощь:)
Ситуация следующая.
Мне на почту каждый…

Запуск пользовательской формы при открытии файла
Пока нашел только такой способ

Private Sub Workbook_Open()
Application.Visible = False

Запуск определенной формы при открытии определенного листа
Здравствуйте помогите мне с такой задачей, Есть у меня &quot;Лист1&quot;, &quot;Лист2&quot;, &quot;Лист3&quot;, &quot;Лист4&quot;, нужно,…

Автоматический запуск формы
Как сделать чтобы форма автоматически открывалась. Чтобы в ней можно было вводить поля и после…

Автоматический запуск музыки при открытии проекта.
подскажите как сделать…..
нужно нажать на форме кнопки и должна заиграть музыка…..
или при…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

4

Most Microsoft Word users have probably heard the word macro before but never figured out what one was, much less how to create one and automate it. Fortunately, you have us to teach you how to create, run, and set your macros to run automatically when you start Microsoft Word. 

What Is a Macro?

When you boil it down to the basics, a macro is just a series of commands and processes that you have recorded. After recording a macro, you can run it at any time to carry out the exact same process at a later date. 

If you think about it, pretty much every shortcut that you use in an app is basically a macro because you press a few buttons to carry out a specific set of instructions rather than having to navigate through the ribbon options to run the commands.

Why Use AutoExec Macros?

Now that you know what macros are, you may want to consider using AutoExec macros. AutoExec macros are those macros that will run as soon as you open Microsoft Word. You can use these macros to change file paths, save locations, default printers, and more. You can also use AutoExec macros to replace templates when you need to create specific types of documents such as memos, letters, financial documents, or any other type of document with predefined information and formatting. 

You can quickly learn the basics of how to work with macros in Microsoft Word 2003, 2007, 2010 or 2013.

Create AutoExec Macros

First, you must open the Normal.dot template file from the default template file location:

C:Documents and Settingsuser nameApplication DataMicrosoftTemplates

Next, you need to create your macro using the methods explained in the articles listed above. When prompted to save your macro and give it a name, name it AutoExec

It is important to remember that any macro that has AutoExec as the title will run automatically when Word opens. This works for all versions of Word. 

Each macro must have a unique name, including all the commands you want to execute in the macro. After naming completing the macro and naming it, save your template.

Now that you have completed this process, the next time you start MS Word, the macro you just created will be run automatically. 

Prevent Your AutoExec Macro From Running 

If you don’t want the macro to run when Word opens, there are two ways to stop it. The first option is to double-click on the Microsoft Word icon and hold the Shift key.

The second option you can use to prevent the macro from being run is to use the Run dialog box by following the steps listed below.

  • Press the Windows button + R
  • Type the following command: winword.exe /m

Wrapping Up

Now that you know how to create and use macros for the different versions of Word and how to automatically run it when you open a new document, you will be ready to impress all your friends and colleagues with your efficiency and word processing prowess.

Thanks for letting us know!

Get the Latest Tech News Delivered Every Day

Subscribe

На чтение 3 мин. Просмотров 966 Опубликовано 20.09.2019

Большинство пользователей Microsoft Word, наверное, слышали слово macro раньше, но никогда не понимали, что это такое, тем более, как его создать и автоматизировать. К счастью, мы научили вас создавать, запускать и настраивать макросы для автоматического запуска при запуске Microsoft Word.

Содержание

  1. Что такое макрос?
  2. Зачем использовать макросы AutoExec?
  3. Создание макросов AutoExec
  4. Предотвратить запуск макроса AutoExec
  5. Завершение

Что такое макрос?

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

Если задуматься, почти каждый ярлык, который вы используете в Microsoft Office, в основном является макросом, потому что вы нажимаете несколько кнопок для выполнения определенного набора инструкций, а не для перемещения по опциям ленты для запуска команд.

Зачем использовать макросы AutoExec?

Теперь, когда вы знаете, что такое макросы, вы можете рассмотреть возможность использования макросов AutoExec. Макросы AutoExec – это те макросы, которые будут запускаться, как только вы откроете Microsoft Word. Вы можете использовать эти макросы для изменения путей к файлам, сохранения местоположений, принтеров по умолчанию и многого другого. Вы также можете использовать макросы AutoExec для замены шаблонов, когда вам нужно создать определенные типы документов, такие как заметки, письма, финансовые документы или документы любого другого типа с предварительно определенной информацией и форматированием.

Вы можете быстро освоить основы работы с макросами в Microsoft Office Word 2003, 2007, 2010 или 2013.

Создание макросов AutoExec

Сначала вы должны открыть файл шаблона Normal.dot из расположения файла шаблона по умолчанию:

C: Документы и настройки имя пользователя Данные приложения Microsoft Шаблоны

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

Важно помнить, что любой макрос, в заголовке которого есть AutoExec , будет запускаться автоматически при открытии Word. Это работает для всех версий Word.

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

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

Предотвратить запуск макроса AutoExec

Если вы не хотите, чтобы макрос запускался при открытии Word, его можно остановить двумя способами. Первый вариант – дважды щелкнуть значок Microsoft Word и удерживать клавишу Shift .

Второй вариант, который можно использовать для предотвращения запуска макроса, – это использовать диалоговое окно Выполнить , выполнив шаги, перечисленные ниже.

  • Нажмите кнопку Windows + R .
  • Введите следующую команду: winword.exe/m

Завершение

Теперь, когда вы знаете, как создавать и использовать макросы для различных версий Word и как автоматически запускать его при открытии нового документа, вы будете готовы удивить всех своих друзей и коллег своей эффективностью и мастерством обработки текстов.

Под редакцией: Мартин Хендрикс

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 11 ]

1 13.05.2010 14:30:21

  • mikkelle
  • полковник
  • Неактивен
  • Зарегистрирован: 21.01.2010
  • Сообщений: 227
  • Поблагодарили: 12

Тема: Выполнение требуемого макроса при запуске Word

Требуется при создании документа из шаблона Word, запустить на выполнение один из макросов.
Можно ли передать «условие» для запуска макроса через ярлык шаблона?
Условие — перед выполнением приложение Word закрыто.

2 Ответ от andrkar 13.05.2010 18:05:08

  • andrkar
  • Модератор
  • Неактивен
  • Откуда: Томск
  • Зарегистрирован: 10.03.2010
  • Сообщений: 431
  • Поблагодарили: 26

Re: Выполнение требуемого макроса при запуске Word

внешняя ссылка
внешняя ссылка
внешняя ссылка
Вроде бы достаточно много информации по ключам запуска

3 Ответ от viter.alex 13.05.2010 18:43:58

  • Выполнение требуемого макроса при запуске Word
  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140

Re: Выполнение требуемого макроса при запуске Word

Если макрос всегда один и тот же, то можно прописать его в стандартную процедуру, выполняющуюся при открытии документа. При редактировании шаблона откройте модуль ThisDocument и пропишите внутри неё такую процедуру:

Private Sub Document_New()
  Call ИмяВашегоМакроса
End Sub

Тогда ярлык менять не придётся.

Лучше день потерять — потом за пять минут долететь!

4 Ответ от mikkelle 14.05.2010 12:24:48

  • mikkelle
  • полковник
  • Неактивен
  • Зарегистрирован: 21.01.2010
  • Сообщений: 227
  • Поблагодарили: 12

Re: Выполнение требуемого макроса при запуске Word

andrkar спасибо информация помогла.
Путаница возникла с ключами «/ttemplatename» и «/t filename». При указании в качестве templatename или filename имени шаблона, Ворд создавал документ с именем templatename.dotm или filename.dotm соответственно. Требуемым оказался ключ «/f filename»

Не нашел ответа на вопрос, как правильно записывать полное имя файла если в названии существуют пробелы, например «Мои документы». Квадратные скобки не помогают.

5 Ответ от viter.alex 14.05.2010 12:41:03

  • Выполнение требуемого макроса при запуске Word
  • viter.alex
  • Модератор
  • Неактивен
  • Откуда: Харьков, Украина
  • Зарегистрирован: 21.12.2009
  • Сообщений: 884
  • Поблагодарили: 140

Re: Выполнение требуемого макроса при запуске Word

Если в имени файла присутствуют пробелы, то его нужно брать в кавычки

Лучше день потерять — потом за пять минут долететь!

6 Ответ от mikkelle 14.05.2010 12:52:24

  • mikkelle
  • полковник
  • Неактивен
  • Зарегистрирован: 21.01.2010
  • Сообщений: 227
  • Поблагодарили: 12

Re: Выполнение требуемого макроса при запуске Word

viter.alex Спасибо.

7 Ответ от mikkelle 24.05.2010 10:10:55

  • mikkelle
  • полковник
  • Неактивен
  • Зарегистрирован: 21.01.2010
  • Сообщений: 227
  • Поблагодарили: 12

Re: Выполнение требуемого макроса при запуске Word

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

Sub Start()
    Dim OldWordDoc As Word.Document
    Dim NewWordDoc As Word.Document
    Dim NewDocName As String
 
    Set OldWordDoc = Application.ActiveDocument
    NewDocName = myPath & "" & "Шаблон.dotm"
    Set NewWordDoc = Application.Documents.Add(NewDocName)
    OldWordDoc.Close
End Sub

Макрос находится в Шаблон.dotm

8 Ответ от Beck 20.09.2012 12:57:48

  • Beck
  • рядовой
  • Неактивен
  • Зарегистрирован: 20.09.2012
  • Сообщений: 1

Re: Выполнение требуемого макроса при запуске Word

viter.alex пишет:

Если макрос всегда один и тот же, то можно прописать его в стандартную процедуру, выполняющуюся при открытии документа. При редактировании шаблона откройте модуль ThisDocument и пропишите внутри неё такую процедуру:

Private Sub Document_New()
  Call ИмяВашегоМакроса
End Sub

Как я понимаю, в этом случае макрос будет отрабатывать при открытии нового документа. А как сделать так, чтобы отрабатывал и при открытии ранее созданых документов?

9 Ответ от Aleks 23.07.2014 13:23:44

  • Aleks
  • майор
  • Неактивен
  • Зарегистрирован: 19.05.2014
  • Сообщений: 69
  • Поблагодарили: 21

Re: Выполнение требуемого макроса при запуске Word

Чтобы при запуске конкретного файла выполнялся определенный макрос нужно сделать следующее:
1) Откройте «редактор VB» (доступно по «alt+f11»)
2) Выберите нужный проект (по имени файла) и запустите «редактор кода» для это проекта
3) В парвом выпадающем списке нужно переключить «(General)» на «Document» — это означает, что код будет применяться к конкретному документу.
4) Выполнение каких-либо действий при запуске файла описывается следующим кодом

Private Sub Document_Open()
    // текст вашего макроса - те действия которые необходимо выполнить при открытии файла  //
End Sub

5) Сохраните код и сохраните файл с поддержкой макросов (.docm). Об этом будет дополнительное сообщение.

10 Ответ от intersk 30.06.2016 09:04:41

  • intersk
  • рядовой
  • Неактивен
  • Зарегистрирован: 30.06.2016
  • Сообщений: 8

Re: Выполнение требуемого макроса при запуске Word

Нужно чтобы при открытии любого файла word со словом в названии файла «иск» выдавался запрос на ввод (InputBox) в поле «номер дела»

11 Ответ от intersk 30.06.2016 09:16:45

  • intersk
  • рядовой
  • Неактивен
  • Зарегистрирован: 30.06.2016
  • Сообщений: 8

Re: Выполнение требуемого макроса при запуске Word

для начала работы можно так…

Post’s attachments

начало проекта.png 32.11 Кб, файл не был скачан. 

You don’t have the permssions to download the attachments of this post.

Сообщений [ 11 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Похожие темы

  • Ошибка при запуске макроса
  • открытие чистого шаблона при запуске word
  • при запуске Word 2003 появляется последняя сохраненная страничка
  • О запуске автомакросов
  • Заказ макроса Word
  • Заказ макроса Word
  • Ищу разработчика Макроса для word
  • Создание гиперссылки с помощью макроса Word

Выполнение требуемого макроса при запуске Word

Если вы ищите информацию по самому мощному редактору в мире Microsoft Word в сети, жаловаться на недостаток документов, литературы, различных ссылок и советов придется вряд ли. На портале о Microsoft Office Word вы узнаете про: как работать в обменном файле ворд вдвоем.
Только в разбросанном виде все это жутко неудобно. Гораздо результативнее общаться на специальных форумах. На портале о Microsoft Office Word вы узнаете про: числа в текст.
Это удобнее еще и тем, что на свою проблему вы получите отклики так сказать в развитии, можно будет обсудить, что не получается, что именно не устраивает. Наш сайт о Microsoft Office Word даст ответ про: перевести текст в pdf.
Для русскоязычных пользователей Microsoft Word можно посоветовать форум Ворд Эксперт.

На нем представлены как готовые ответы на вопросы и наработки опытных пользователей в разделах «часто задаваемые вопросы» и «готовые решения», так и обсуждения работы с документами и настройками программы в разных версиях  нашего любимого Microsoft Word. Наш сайт о Microsoft Office Word даст ответ про: макрос жирный шрифт.
Это разделы «Настройка и Форматирование», а также «Автоматизация», где вас научат, как сделать работу с программой максимально оптимальной и быстрой, написав соответствующие макросы. На портале о Microsoft Office Word вы узнаете про: как открыть поиск в ворде.

Если вы не хотите сами разбираться с макросами или ломать голову над той, либо иной, возникшей в работе проблемой, то в «Заявках на разработку» можете оставить заказ, форумчане вам помогут. Наш сайт о Microsoft Office Word даст ответ про: римские цифры прописью.

Форум Ворд Эксперт — это страничка, которую стоит запомнить, потому что она может пригодиться в любой момент. На портале о Microsoft Office Word вы узнаете про: word ключ скачать.
Форум и сайт очень разумно устроены, а все пожелания вы можете высказать в соответствующем разделе.

Понравилась статья? Поделить с друзьями:
  • Макрос excel это просто
  • Макрос word заполнение формы
  • Макрос excel эта строка этот столбец
  • Макрос word записывал все действия
  • Макрос word замена пробелов