Как сохранить изменения в файле перед закрытием с запуском и закрытием процесса диагностики

я работаю с файлом excel, который автоматически обновляется при открытии, я использую процесс диагностики для его открытия с помощью С# и жду автоматического изменения

using (Process myProcess = Process.Start(@"C:\myfile.xlsx"))
            {

                myProcess.Refresh();

                Thread.Sleep(50000);

                myProcess.CloseMainWindow();
                myProcess.Close();
            }

следующее позволяет запустить файл excel на моем компьютере и ждет 50 секунд, пока произойдут изменения, а затем закрывает его, единственная проблема, с которой я столкнулся, заключается в том, что мне нужно, чтобы excel был закрыт, чтобы остальная часть моего кода работала, но это подсказка ХОТИТЕ СОХРАНИТЬ ИЗМЕНЕНИЯ ПЕРЕД ЗАКРЫТИЕМ на моем экране. Я хочу знать, не упустил ли я что-то в своем коде, что позволит автоматически сохранить мой документ Excel, чтобы файлы закрывались без проблем с новыми изменениями, спасибо вы все!


person NexNex    schedule 20.11.2020    source источник
comment
Отвечает ли это на ваш вопрос? Отключить запрос Interop.Excel на сохранение по умолчанию при закрытии   -  person Sinatr    schedule 20.11.2020
comment
Вы не можете предотвратить это поведение, не используя какой-либо API (vsto, vba), но возможный обходной путь — нажать OK в этом диалоговом окне: попробуйте активировать окно и отправить в него ключ {Enter}.   -  person Sinatr    schedule 20.11.2020


Ответы (1)


Я думаю, вам нужно использовать Microsoft.Office.Interop.Excel.dll, чтобы решить это требование.

В классе Application есть свойство, вы можете сделать так

Microsoft.Office.Interop.Excel.Application excelDoc= new Microsoft.Office.Interop.Excel.Application();
excelDoc.DisplayAlerts = false;
person Ce Guo    schedule 20.11.2020