Из Silverlight 4 довольно легко запустить Word и позволить пользователю что-то сделать:
dynamic word = System.Runtime.InteropServices.Automation.CreateObject("Word.Application");
word.Visible = true;
word.Documents.Open("test.doc");
MS Word предоставляет событие Quit [1]. Я хотел бы справиться с этим событием, но для жизни я не могу понять, как. Я пытался сделать это:
public delegate void WordQuitEventHandler(object sender, ref bool cancel);
public event WordQuitEventHandler OnQuit;
private void WordOnQuit(dynamic sender, ref bool cancel)
{
if (OnQuit != null)
{
OnQuit(this, ref cancel);
}
}
, а затем сделать
word.Quit = WordOnQuit;
или
word.Quit += WordOnQuit;
Но невозможно назначить делегата для WordOnQuit динамическому объекту word.Quit. Так как запечатлеть это событие?
[1] http://msdn.microsoft.com/en-us/library/aa211898(v=office.11).aspx