1

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

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

2

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

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

3

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

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

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

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

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

4

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

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

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

5

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

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

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

6

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

viter.alex Спасибо.

7

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

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

viter.alex пишет:

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

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

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

9

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

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

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

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

10

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

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

11

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

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

Post's attachments

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

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