2012-06-28 3 views
0

J'écris du code pour accéder à l'interface COM d'automatisation MS Word en utilisant des types dynamiques en C# 4.0. Cela fonctionne très bien et c'est très facile à utiliser.Abonnement aux événements Microsoft Word COM

Ce que je ne sais pas, c'est comment m'abonner aux événements. Je souhaite m'abonner à l'événement Application::Quit.

Ceci est le code que je l'ai écrit:

static class Program 
{ 
    [STAThread] 
    static void Main() 
    { 
     Type wordType = Type.GetTypeFromProgID("Word.Application"); 
     dynamic word = Activator.CreateInstance(wordType); 

     var myDoc = word.Documents.Open(@"C:\example.docx"); 
     word.Visible = true; 

     //how can I subscribe to the word.Quit event?? 
    } 

Répondre

1

Cela devrait fonctionner:

((Microsoft.Office.Interop.Word.ApplicationEvents4_Event)word).Quit += OnQuit; 

... puis ...

private void OnQuit() 
{ 
    MessageBox.Show("Quit"); 
} 
+0

Notez que je n'ai pas un référence à Microsoft.Office.Interop.Word, j'utilise COM directement. –

Questions connexes