C# 如何每5分钟在后台保存打开的Excel文件?

C# 如何每5分钟在后台保存打开的Excel文件?,c#,excel,vsto,autosave,C#,Excel,Vsto,Autosave,我每5分钟运行一个自动保存excel文件的线程。当它保存时,保存文件(fileA)将被激活。同时,我正在编辑另一个文件(fileB)。 当我使用fileB时,如何在后台保存fileA? 以下是我的C#代码: while (true) { Thread.Sleep(AutoSaveTime); if (isRunning) { try { Workbooks files = Globals.ThisAddIn.Appl

我每5分钟运行一个自动保存excel文件的线程。当它保存时,保存文件(fileA)将被激活。同时,我正在编辑另一个文件(fileB)。 当我使用fileB时,如何在后台保存fileA? 以下是我的C#代码:

while (true)
{
    Thread.Sleep(AutoSaveTime);
    if (isRunning)
    {
        try
        {
            Workbooks files = Globals.ThisAddIn.Application.Workbooks;
            foreach (Workbook book in files)
            {
                if (book.Saved != true 
                           && book != Globals.ThisAddIn.Application.ActiveWorkbook)
                {
                    book.Save();
                }
            }
            Globals.ThisAddIn.Application.ActiveWorkbook.Save();
        }
        catch (Exception)
        {
        }
    }
}
试试这个

wbook.SaveAs("c:\\temp\\blah", Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing,
            false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
wbook.Close();
或者,将此VBA代码片段放入此工作簿模块中

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:05:00"), "SaveThis"
End Sub

只是好奇,但为什么不在办公室呢?谢谢你的回答!对于我的客户来说,办公室的自动恢复还不够简单。他们只需要自动保存功能。。。