c#excel加载项工作簿关闭事件

c#excel加载项工作簿关闭事件,c#,excel,add-in,C#,Excel,Add In,我制作了一个Excel COM加载项。 现在我想控制WorkbookBeforeClose事件。 但是我在Stackoverflow()上找到的解决方案对我不起作用。 在我的外接程序中,没有内部启动Sektion,只有加载Sektion。 我只能通过按下功能区栏中的按钮来启动Eventhandler。 当我按下按钮1x时,Eventhandler会在加载Excel时执行我想要的操作。 当Excel关闭并重新启动时,我必须再次按下按钮。 Excel加载第一个空工作簿时是否有方法启动Eventhan

我制作了一个Excel COM加载项。 现在我想控制WorkbookBeforeClose事件。
但是我在Stackoverflow()上找到的解决方案对我不起作用。
在我的外接程序中,没有内部启动Sektion,只有加载Sektion。
我只能通过按下功能区栏中的按钮来启动Eventhandler。
当我按下按钮1x时,Eventhandler会在加载Excel时执行我想要的操作。
当Excel关闭并重新启动时,我必须再次按下按钮。
Excel加载第一个空工作簿时是否有方法启动Eventhandler列表???
对我有什么帮助或解决办法吗

感谢和问候
斯蒂芬

以下是我用于EventHandler的代码:

public partial class Excel2SE  
{  
   Excel.AppEvents_WorkbookBeforeCloseEventHandler EventDel_BeforeBookClose;

private void Excel2SE_Load(object sender, RibbonUIEventArgs e)
{
   EventDel_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose);
}

private void btn_Start_Click(object sender, RibbonControlEventArgs e)
{
   wbEventhandlerStart();
}

private void wbEventhandlerStart()
{
   Excel.Application app = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
   app.WorkbookBeforeClose += EventDel_BeforeBookClose;
} 

// This Works when Excel Close
private void Excel2SE_Close(object sender, EventArgs e)
{
    MessageBox.Show("Excel close");
} 

// This works after Pushing the Start Button and the Workbook Close
private void BeforeBookClose(Excel.Workbook Wb, ref bool Cancel)
{
    MessageBox.Show("WB close");
} 

这是Visual Studio Office加载项吗?听起来好像是这样,如果是这样,请检查ThisAddIn.cs以了解以下两种方法:

private void ThisAddIn_Startup(object sender, EventArgs e)
{

}
private void ThisAddIn_Shutdown(object sender, EventArgs e)
{

}

您可以在ThisAddIn\u Shutdown方法附近添加要运行的代码。无法确保此代码运行,但是,只有在用户“正确”关闭Excel时,它才会运行。如果他们使用任务管理器等关闭,则所有赌注都无效。

这是Visual Studio Office附加模块吗?听起来好像是这样,如果是这样,请检查ThisAddIn.cs以了解以下两种方法:

private void ThisAddIn_Startup(object sender, EventArgs e)
{

}
private void ThisAddIn_Shutdown(object sender, EventArgs e)
{

}
您可以在ThisAddIn\u Shutdown方法附近添加要运行的代码。无法确保此代码运行,但是,只有在用户“正确”关闭Excel时,它才会运行。如果他们使用任务管理器等关闭,则所有赌注都将取消