Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
6 / 6 / 6
Регистрация: 07.04.2015
Сообщений: 48
1

OLE Error 80A03EC

07.04.2015, 05:13. Просмотров 2007. Ответов 2
Метки нет (Все метки)

Приветствую. Имеется программа, которая работает с xls файлом. Весь код я приводить пока не буду, покажу откуда перестают корректно записываться данные в excel.
Код
begin
  M:=13-StrToInt(etSrokDM.Text);
  Sheet.Range['D9;D31;D43;D55;D57;D58;D59;D63;D64;D65;D68;D78;D89;D91;D92;D93;D94;D95;D96']:= IntToStr(M)+' мес';
  Sheet.Range['E9']:= '=ОКРУГЛ(B9*'+IntToStr(M)+';2)';
Вторая строка еще работает без проблем, а на 3-ей вылетает ошибка сабжа. Хотелось бы поинтересоваться чем она может быть вызвана.

Добавлено через 2 минуты
Ошибка 800A03EC

Добавлено через 1 час 50 минут
К слову, такой вариант тоже выдает ошибку
Код
Sheet.Range['E9']:= '=ОКРУГЛ(B9*9;2)';
Добавлено через 21 минуту
И так, проблема в округлении. Если записать просто
Код
Sheet.Range['E9']:= '=B9*'IntToStr(M);
То все в порядке. Хотелось бы узнать как с этим бороться(ROUND пробовал)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2015, 05:13
Ответы с готовыми решениями:

Ошибка ole error 800a03ec
Производится экспорт данных из набора данных в Excel. Код писали на учебе, там все работало. Дома...

Delphi ошибка ole error 800a03ec
Здравствуйте, работал с Excel через delphi, почти задачу сделал батс ошибка "Ole error 800a03ec", в...

При выгрузке из Excel в Delphi возникает ошибка: ole error 800a03ec
Программа спокойно компилируется, но периодически выскакивает данная ошибка, она может выскочить до...

Как увидеть содержание типа OLE Object с помощью Delphi-Ole Conteiner?
Привет всем, я из Болгарии у меня такой вопрос: я работю с MSAccess и в ней есть Table и Field с...

2
13036 / 5822 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
07.04.2015, 08:24 2
Лучший ответ Сообщение было отмечено pandaaaaa92 как решение

Решение

Цитата Сообщение от pandaaaaa92 Посмотреть сообщение
К слову, такой вариант тоже выдает ошибку
Delphi
1
Sheet.Range['E9']:= '=ОКРУГЛ(B9*9;2)';
И так, проблема в округлении.
Если формула задаётся через код VBA или через вызовы COM, то она должна быть задана по правилам английской локализации. Т. е., имена функций должны быть заданы на английском языке, разделитель в списках - запятая. С учётом этого формула должна выглядеть так:
Delphi
1
'=ROUND(B9*9,2)'
Кроме этого, Range['E9'] - это объект типа Excel.Range (в терминах VBA), представляющий диапазон ячеек на листе MS Excel. У объекта Excel.Range есть предопределённое свойство - Value. Поэтому, при чтении или записи, если свойство не указано, то будет подставлено свойство Value. Т. е., такой код:
Delphi
1
Sheet.Range['E9'] := '=ROUND(B9*9,2)';
эквивалентен такому:
Delphi
1
Sheet.Range['E9'].Value := '=ROUND(B9*9,2)';
Но для записи формул надо использовать не Value, а Formula (или FormulaR1C1, в случае, если надо записать формулу с относительными ссылками).
Поэтому написать надо так:
Delphi
1
Sheet.Range['E9'].Formula := '=ROUND(B9*9,2)';
0
6 / 6 / 6
Регистрация: 07.04.2015
Сообщений: 48
07.04.2015, 22:09  [ТС] 3
Теперь буду иметь ввиду. На этот раз я ограничился форматом ячеек в шаблоне(числовой с 2-мя знаками после запятой). Но, в любом случае, спасибо за информацию.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2015, 22:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка в ADO: Multi-step OLE-DB generated error. Check all OLE-DB status value, if available.No work was done'
Выполняю хранимую прогу cmd.Execute и получаю ошибку: 'Multi-step OLE-DB generated error. Check...

Ole error
И так вопрос такой...Что за OLE ERROR выдает в программе на рабочем месте) Гугл говорит скачать...

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
Возникла проблема! Не как не пойму почему Выборка из текстового файла который используеться как...

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
Объясните пожалуйст, в чём проблема и если можно, то как её преодолеть :Microsoft OLE DB Provider...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.