Events 无法在加载项中为工作簿/工作表事件创建事件处理程序和事件处理程序

Events 无法在加载项中为工作簿/工作表事件创建事件处理程序和事件处理程序,events,vsto,Events,Vsto,我正在使用VS2008加载项,我正在尝试为加载项中的工作簿编写和事件处理程序,但不幸的是,它没有被炒鱿鱼,你能帮忙吗 公共部分类ThisAddIn { }只有在工作簿中的工作表之间切换时,即单击“工作表2”,然后单击“工作表1”,依此类推,才会触发“工作表激活”。 如果将Tab键切换到其他应用程序并返回Excel,则不会触发SheetActivate 您应该查看Application.WorkbookActivate、Workbook.Activate或其他事件 private void

我正在使用VS2008加载项,我正在尝试为加载项中的工作簿编写和事件处理程序,但不幸的是,它没有被炒鱿鱼,你能帮忙吗

公共部分类ThisAddIn {


}

只有在工作簿中的工作表之间切换时,即单击“工作表2”,然后单击“工作表1”,依此类推,才会触发“工作表激活”。 如果将Tab键切换到其他应用程序并返回Excel,则不会触发SheetActivate

您应该查看Application.WorkbookActivate、Workbook.Activate或其他事件

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
      FinalWorkbook = ExcelApplication.Workbooks.Add(missing);
      FinalWorkbook.SheetActivate +=
            new Excel.WorkbookEvents_SheetActivateEventHandler(
            FinalWorkbook_ActivateSheet);

    }

    private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
    {
       // MessageBox.Show("The addin has shutdown");
    }

    public void FinalWorkbook_ActivateSheet(object odjSheet)
    {
        sheet.BeforeRightClick += Worksheet_BeforeRightClick;
        MessageBox.Show(sheet.Name + " Activated2");

    }

    void Worksheet_BeforeRightClick(Excel.Range Target, ref bool Cancel)
    {
        Cancel = true;
        MessageBox.Show("Right-clicking in this sheet" +
            " is not allowed.");

     }
}