Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как побороть ошибку "Конфликт имён" в Excel?


Автор: splash666 2.3.2013, 21:23
Добрый день!
Гуру, подскажите, пожалуйста, по такой проблеме.
Есть набор XLSX файлов. Нужно с ними работать. Пытаюсь открыть:

 fname:string = 'C:\Users\...filename.xlsx';
...
  Excel := CreateOleObject('Excel.Application');
  Excel.Application.DisplayAlerts:=False;
  Excel.Visible := False;
  Excel.Workbooks.open(fname);
...

на open получаю ошибку "Конфликт имён, имя не может совпадать со встроенным именем, старое имя - _FilterDataabse".

Если через NameManager удалить range с этим именем - то всё открывается нормально. Но есть задача исправлять такие проблемы из той программы, которая работает с файлами (собстно, что пишется).
Как побороть проблему даже если я открыть файл не могу?

Спасибо!

Автор: splash666 2.3.2013, 21:40
Нашел такой вариант - открываем xlsx как архив, в /xl/workbook.xml находим блоки с hiden именами, вырезаем их, сохраняем. Но это как-то неэлегантно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)