Я оставляю этот ответ здесь для всех, кто сталкивался с этой проблемой, но использует JavaScript.
Немного предыстории ... В моей компании у нас есть стороннее веб-приложение, которое использует JavaScript для запуска Excel и создания электронной таблицы на лету. У нас также есть надстройка для Excel, которая переопределяет поведение кнопки Сохранить. Надстройка дает вам возможность сохранить файл локально или в нашей онлайн-системе управления документами.
После обновления до Windows 7 и Office 2010 мы обнаружили проблему с нашим веб-приложением, генерирующим электронные таблицы. Когда JavaScript сгенерировал электронную таблицу в Excel, кнопка «Сохранить» неожиданно перестала работать. Вы бы нажали «Сохранить», и ничего не произошло.
Используя другие ответы здесь, я смог построить решение на JavaScript. По сути, мы должны создать объект приложения Excel в памяти, а затем перезагрузить определенную надстройку, чтобы вернуть поведение кнопки сохранения. Вот упрощенная версия нашего исправления:
function GenerateSpreadsheet()
{
var ExcelApp = getExcel();
if (ExcelApp == null){ return; }
reloadAddIn(ExcelApp);
ExcelApp.WorkBooks.Add;
ExcelApp.Visible = true;
sheet = ExcelApp.ActiveSheet;
var now = new Date();
ExcelApp.Cells(1,1).value = 'This is an auto-generated spreadsheet, created using Javascript and ActiveX in Internet Explorer';
ExcelApp.ActiveSheet.Columns("A:IV").EntireColumn.AutoFit;
ExcelApp.ActiveSheet.Rows("1:65536").EntireRow.AutoFit;
ExcelApp.ActiveSheet.Range("A1").Select;
ExcelApp = null;
}
function getExcel() {
try {
return new ActiveXObject("Excel.Application");
} catch(e) {
alert("Unable to open Excel. Please check your security settings.");
return null;
}
}
function reloadAddIn(ExcelApp) {
// Fixes problem with save button not working in Excel,
// by reloading the add-in responsible for the custom save button behavior
try {
ExcelApp.AddIns2.Item("AddInName").Installed = false;
ExcelApp.AddIns2.Item("AddInName").Installed = true;
} catch (e) { }
}