• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Командная строка, Word 2003 и Autonew()

  • Автор темы con
  • Дата начала
Статус
Закрыто для дальнейших ответов.
C

con

Есть шаблон документа Word. В нем есть несколько макросов в том числе и
AutoNew. Так вот, при запуске этого шаблона вручную, AutoNew срабатывает, а
при запуске из командной строки новый документ создается, но макросы
автоматически не запускаются.
Пробовал и так:
"C:\Program Files\Microsoft Office\OFFICE11\winword.exe" /tC:\Template.dot
и так
"C:\Program Files\Microsoft Office\OFFICE11\winword.exe" /tC:\Template.dot
/mAutoNew

Куда копать?
 
G

Guest

Если шаблон DOT лежит в шаблонах Word, то открывается именно шаблон макросы шаблона
Код:
Option Explicit
Private Sub Document_New()
 MsgBox "NEW"
End Sub
Private Sub Document_Open()
 MsgBox "Open"
End Sub
отрабатывают, если шаблон лежит в шаблонах Word
т.е. "D:\Documents and Settings\...\Аpplication Data\Microsoft\Шаблоны\*.dot"

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

Может тебе нужно не DOT применять, а просто DOC с макросами???
 
C

con

Шаблон лежит не в шаблонах. Когда открываю шаблон двойным нажатием мыши, у меня создается документ на основе этого шаблона, содержит все макросы шаблона и отрабатывает AutoNew().

Когда открываю шаблон так, как описано выше, то создается новый документ который содержит все макросы шаблона, но AutoNew() не срабатывает.

По поводу .dot. Нужен именно шаблон, файл doc быстро юзеры перезапишут.

Вообще мне это нужно было, чтобы запускать шаблон из vbs скрипта. Решение подсказали на одном из форумов.

Код:
set wd=CreateObject("Word.Document")
wd.AttachedTemplate="C:\Template.dot"
wd.Application.Run "AutoNew"
wd.Application.Visible=True

Причем wd.Application.Run "AutoNew" можно выкинуть, макрос запускается автоматически.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!