订阅Microsoft Word COM事件

时间:2012-06-28 09:30:10

标签: c# dynamic-typing word-automation

我正在编写代码以使用C#4.0中的动态类型访问MS Word自动化COM接口。它工作得很好,而且非常容易使用。

我不知道如何订阅活动。我想订阅Application::Quit活动。

这是我写的代码:

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??
    }

1 个答案:

答案 0 :(得分:1)

这应该有效:

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

......然后......

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