Я сделал надстройку для Excel (2016), которая сохраняет область печати как файл jpg. Несколько месяцев он работал нормально. В настоящее время я получаю все больше и больше отчетов об ошибках от пользователей, все они получают одну и ту же ошибку (рисунок ниже). У пользователей Windows 7 с Excel 2013 или Windows 10 с Excel 2016, у обоих есть эта ошибка. Сначала помогла переустановка программы, но теперь уже не помогает.
Вот мой код:
public static void Save(string report, string area, RibbonControlEventArgs e)
{
Excel.Window window = e.Control.Context;
Excel.Worksheet sheet = ((Excel.Worksheet)window.Application.ActiveSheet);
Excel.Range range = sheet.Range[sheet.PageSetup.PrintArea];
range.CopyPicture(Excel.XlPictureAppearance.xlPrinter, Excel.XlCopyPictureFormat.xlPicture);
range.Copy(Type.Missing);
string fileName = @"\\server.company.lan\report.jpg";
if (Clipboard.GetDataObject() != null)
{
IDataObject data = Clipboard.GetDataObject();
Image image = (Image)data.GetData(DataFormats.Bitmap, true);
image.Save(fileName, ImageFormat.Jpeg);
}
}