Блокировка документа Word после макроса, выполненного с использованием PIA

Я использую Office PIA для интеграции приложения в Word.

Есть несколько документов Word, которые запускают макрос при их открытии. Моя цель - заблокировать текущий документ, но после запуска макроса. Есть ли способ сделать это? Думаю, что-то вроде этого должно работать, но нет такого события, как "MacroExecuted" или что-то еще:

public void OpenDocument(string path)
{
    var app = new Application();
    app.Documents.Open(path);
    app.ActiveDocument.MacroExecuted += LockDocumentEvent;
    app.Visible = true;
}

1 ответ

Нашел его, после долгих поисков:

Важный метод содержится в объекте документа.

app.ActiveDocument.RunAutoMacro(WdAutoMacros.wdAutoOpen);

Перечисление WdAutoMacros содержит различные значения, которые указывают, какой макрос должен быть выполнен. Для меня это было

WdAutoMacros.wdAutoNew

а также

WdAutoMacros.wdAutoOpen

Теперь макрос выполняется после открытия документа из пакета Office SDK.

Другие вопросы по тегам