Блокировка документа 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.