Здравствуйте, MaIron, Вы писали:
MI>Идея то в чём ? Я не пойму код что этот делает ?
MI>Я могу подключиться к событиям MS Word, как своего так и текущего открытого.
MI>Но что это мне даст ?
Идея проста:
создаешь Excel (Word) (смотри Form_Load),
в нем открываешь свой документ (он не отображается и не будет отображаться для визуального пользователя) (смотри Form_Load),
подключаешься к его событиям, отслеживая открытие/закрытие документов в твоем экземпляре Excel (Word) и не давая серверу закрыть твой документ (смотри Form_Load и ExcelApp_WorkbookBeforeClose),
при завершении клиента корректно уничтожаешь твой экземпляр Excel (Word) (смотри Form_Unload).
MI>Как это поможет препятствовать открытию документа пользователя в моём сервере автоматизации.
Никак.
MI>Создать ещё один сервер ? Но проблема в том, что его могут закрыть.
MI>Можно это отследить, но дальше то что ? Создавать новый смысла нет.
MI>Т.к. мой текущий активный сервер, переместиться в ROT выше и именно к нему будут присасываться
MI>открываемые пользователем документы...
Другой сценарий, который может быть проще реализовать:
создаешь первый экземпляр Excel (Word) — для открываемых пользователем документов, — который контролируешь и не даешь ему завершиться,
создаешь второй экземпляр Excel (Word) — для своего приложения.