С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
2 / 2 / 1
Регистрация: 14.08.2014
Сообщений: 11
1

Запись формулы в MS Excel из под Delphi

14.11.2014, 16:21. Показов 3144. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, уважаемые форумчане))) Использую раннее связывание. При попытке записать формулу в ячейку выдает ошибку ole сервера. Запись происходит следующим образом:
Delphi
1
ExcelWorksheet1.Range['C8','C8'].Formula:='=SUM('+chr(39)+'Камера1:Камера4'+chr(39)+'!C8)';
Где chr(39) - это ' зарезервированный знак делфяки.
Помогите пожалуйста советом, как верно записать формулу)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2014, 16:21
Ответы с готовыми решениями:

Запись формулы из excel в php
вот формула...

Excel+Delphi - вставка формулы
Здравствуйте, подскажите как в Delphi посчитать сумму начиная с определенной ячейки(D12) до...

Работа с Excel (формулы) в Delphi
Добрый день! Нужна ваша помощь знатоки! ) Есть шаблон документа, я его заполняю и делаю...

Перевод Excel формулы в Delphi
Всем привет. Не понимаю как написать экселевскую формулу в делфи. В3=ATAN2(14*(A2-A1) /...

3
13107 / 5888 / 1707
Регистрация: 19.09.2009
Сообщений: 8,808
14.11.2014, 16:48 2
Например, если надо записать формулу суммирования ряда ячеек C1:C8, расположенных на листе с именем "Лист2":
Delphi
1
ExcelWorksheet1.Range['C8'].Formula := '=SUM(''Лист2''!C1:C8)';
Что касается одиночной кавычки ' - чтобы задать её в строковом или символьном литерале, её надо удвоить:
Delphi
1
2
3
4
5
6
var
  S : String;
begin
  S := 'Пример одиночной кавычки в строковом литерале: ''слово''.'
  Memo1.Text := S;
end;
В результате выполнения этого кода в Memo1 будет напечатано:
Пример одиночной кавычки в строковом литерале: 'слово'.
Если в строковом или символьном литерале надо задать какой-нибудь символ через его код, это удобно делать с помощью знака #:
Delphi
1
2
3
4
5
6
var
  S : String;
begin
  S := 'Строка1'#13#10'Строка2'#13#10'Строка3';
  Memo1.Text := S;
end;
В Memo1 будет напечатано:
Строка1
Строка2
Строка3
Код символов можно задавать в шестнадцатеричной системе счисления с использованием знака $:
Delphi
1
2
3
4
5
6
var
  S : String;
begin
  S := 'Строка1'#$D#$A'Строка2'#$D#$A'Строка3';
  Memo1.Text := S;
end;
1
2 / 2 / 1
Регистрация: 14.08.2014
Сообщений: 11
16.11.2014, 01:02  [ТС] 3
Спасибо за совет с дублированием кавычек) Но каким образом не записываю кавычки в формулу excel выдает ошибку, а в блок Memo, listBox и прочие записывает на ура вместе с кавычками, все как положено)
0
35 / 35 / 3
Регистрация: 27.10.2014
Сообщений: 120
17.11.2014, 13:49 4
Delphi
1
Sheet.Cells[n+1,19].FormulaLocal:='=СУММЕСЛИ($AH$6:$AH$11047;"=0";$AI$6:$AI$11047)';
Пример как я делал в одном приложении, т.е. если эксель русский, лучше FormulaLocal использовать и имена самих формул локализированые писать.
2
17.11.2014, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2014, 13:49
Помогаю со студенческими работами здесь

Ошибка при открытии и закрытии Excel из под Delphi
Доброго времени суток. У меня такая проблема: Почему то при открытии документа Excel через...

Под отладкой происходит запись в Excel, а в рабочем режиме нет
Есть приложение, которое обрабатывает данные, а затем записывает их в Excel. Работа происходит с...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru