Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Timer Excel word,即使关闭,计时器也会继续_Timer_Vsto_Office Addins_Excel Addins_Word Addins - Fatal编程技术网

Timer Excel word,即使关闭,计时器也会继续

Timer Excel word,即使关闭,计时器也会继续,timer,vsto,office-addins,excel-addins,word-addins,Timer,Vsto,Office Addins,Excel Addins,Word Addins,我创建了一个计时器 void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc) { System.Timers.Timer timer=new System.Timers.Timer(30000); timer.Elapsed += (sender, e) => ExcelFileSendToAPI(Doc.FullName);

我创建了一个计时器

void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc)
{
                System.Timers.Timer timer=new System.Timers.Timer(30000);
                timer.Elapsed += (sender, e) => ExcelFileSendToAPI(Doc.FullName);
                timer.Start();
}
ExcelFileSendToAPI方法在文件打开后每30秒发出一次api请求。 没有问题但即使我打开两个excel应用程序并关闭一个excel应用程序,它仍会在后台发出请求。 关闭应用程序后,如何关闭计时器


word、excel和powerpoint中存在此问题。

您需要在timer\u tick函数而不是Document\u Open函数中运行代码。在您的另一个问题中,我为您提供了一个有效使用timer_tick事件的代码示例

Timer Timer1 = new Timer();

void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc)
 {
            InitializeTimer();
}

void InitializeTimer()
{
     Timer1.Interval = 30000;
     Timer1.Tick += new EventHandler(Timer1_Tick);
}

private void Timer1_Tick (Object sender, EventArgs e)
{
     DocumentEditingSendToServer(Doc.Application.ActiveDocument);
}
在文档关闭事件中,您需要停止计时器