• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Командная строка, 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

Куда копать?
 
Если шаблон 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 с макросами???
 
Шаблон лежит не в шаблонах. Когда открываю шаблон двойным нажатием мыши, у меня создается документ на основе этого шаблона, содержит все макросы шаблона и отрабатывает 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" можно выкинуть, макрос запускается автоматически.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab