Я разрабатываю небольшой инструмент, использующий Delphi Pascal, чтобы открыть файл XLSX и написать в нем ячейку. Он ведет себя по-разному на компьютере, использующем Office 2013 и Office 365.
Вот код:
var
ExcelApp: OleVariant;
anExcelFileName: String;
begin
try
ExcelApp := CreateOleObject('Excel.Application');
anExcelFileName := 'D:\sample.xlsx';
ExcelApp.Workbooks.Open(anExcelFileName);
ExcelApp.Visible := True;
ExcelApp.Workbooks[1].Sheets[1].Range['A1'].Value := 'HELLO';
except
on E: Exception do
showMessage('Error on something: ' + E.Message);
end;
end;
В Office 2013 код будет обращаться к файлу sample.xlsx на диске D, открывать его и писать HELLO в ячейке A1.
В Office 365 код откроет два файла. Сначала он откроет sample.xlsx, откроет новую пустую книгу и напишет привет в новой пустой книге.
Как получить старое поведение в офисе 365?