Цитата:
Сообщение от Budjaka
1. У тебя поле / имя листа / или любой другой идентификатор в книге - совпали с именем функции (итп) самого офиса. Отсюда невозможность открыть. Нужно выяснить что именно мешает работать. И в выдающейся ошибке думаю есть подсказка.
|
В Диспетчере имён ни одного имени нет
Цитата:
Сообщение от Budjaka
2. У тебя код :
Excel := CreateOleObject('Excel.Application');
Excel.WorkBooks.Open('S:\Абоненты.xlsx',ReadOnly:= True);
Excel.Close (или что то в этом духе);
Выполнив его единожды - и поймав ошибку на 2й строке - ты открыл книгу экселя, и твой код прервался. Т.е. excel.close - не судьба была. И неважно закрыл ли ты Делфи или нет - эта книга висит у тебя в памяти, и поэтому
Нажми Ctrl + Alt + Del - и взгляни сам : у тебя в процессах висит твой запущенный Exсel. Или два. Или десять :-) (смотря сколько раз пытался).
Убей их всех 
|
До этого окно сохранения всё равно появлялось, хотя ошибки не было при открытии. И закрывала программа ексель нормально. Кароче файл открывался только для чтения, ошибки сначала небыло, и при закрытии файла появлялось окно сохранения изменений (хотя никаких изменений не было). После закрытия этого окна эксель закрывался. Потом появилась эта ошибка про конфликт имён. При том что офис я не переустанавливал, то есть до этого программа исправно работала на этом офисе, а потом на этом же офисе появилась эта ошибка. А если точнее ошибка появилась после добавления в программу компонента tcpclient (может в этом дело? хотя при чём тут это?)
Цитата:
Сообщение от Budjaka
1.1. P.s. а проблема твоя довольно распространена, в связи с глюками Екселя. Сам искал одно время. Вот вам копипаста, чтобы по ссылкам не ходить :
|
Тоже искал уже. нэймменеджер не помог. А в диспетчере имён пусто.