Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос взаимодействия Delphi и Excel [D7, WinXP]


oleg_teacher ©   (2015-08-12 22:15:00) 

Есть шаблонный файл екселя, где в некоторые ячейки вводиться информация числовая. На основании эти данных в самом екселе стоят формулы вычисления.
Я с помощью делфи должен прогнать много подстановочных чисел и результаты вычисления екселя сохранить в другом формате.
Как можно узнать что вычисления в екселе сделались до конца...
Алгоритм будет такой..
1. Беру данные.
2. Вставляю в ексель
3. Ексель по формулам вычисляет.
4. Беру данные с екселя.
5. Заношу данные в файл.
Какое время будет выполняться пункт 3? Как узнать событие окончания вычислений?
На примере:
excell2_sh.Cells.Item[1,1].Value:=q;
s:=excell2_sh.Cells.Item[100,20].Value;

Точно ли переменная s получит окончательное значение вычислений?


NoUser   (2015-08-13 00:09:00) [1]

Может действительно проще будет
вот например нашел

Думаю да, особенно если шаблончик всего один.
И программерский степап тебе уж точно будет гарантирован - дерзай.


oleg_teacher   (2015-08-12 23:55:00) [2]


> А с помощью делфи еще и посчитать сами формулы?

Наверное нужно искать описание формул. Так как уже я ламерский фейк, что спрашиваю то что не понимаю...
Может действительно проще будет
вот например нашел https://support.office.com/ru-ru/article/%D0%9A%D0%92%D0%9F%D0%98%D0%A0%D0%A1%D0%9E%D0%9D-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D1%8F-%D0%9A%D0%92%D0%9F%D0%98%D0%A0%D0%A1%D0%9E%D0%9D-d7161715-250d-4a01-b80d-a8364f2be08f?ui=ru-RU&rs=ru-RU&ad=RU


oleg_teacher   (2015-08-12 23:52:00) [3]

А где здейсь фейк? Я реально не понимаю о чем вы говорите вот и переспрашиваю.

> словно формула не может быть такой, что если не конец

Как можно задать формулу если не конец... где тут ламерство?


кгшзх   (2015-08-12 23:47:00) [4]

скажите, а кто здесь составляет график дежурств по задаванию фейковых вопросов от лица как бы ламеров?


oleg_teacher   (2015-08-12 23:35:00) [5]


> А с помощью делфи еще и посчитать сами формулы?

Есть функции которые я не знаю как запрограммировать.. например =НАКЛОН, КВПИРСОН


NoUser   (2015-08-12 23:33:00) [6]


> Я с помощью делфи должен прогнать много подстановочных чисел
> и результаты вычисления екселя сохранить в другом формате.


А с помощью делфи еще и посчитать сами формулы?


> А можно подсказать? а то я не знаю честно говоря... Какая
> функция возвращает конец вычислений?


)))


oleg_teacher   (2015-08-12 23:28:00) [7]


> если не конец,

А можно подсказать? а то я не знаю честно говоря... Какая функция возвращает конец вычислений?


кгшзх   (2015-08-12 23:27:00) [8]

Почему там должно быть пусто? Там формула...

так говоришь, словно формула не может быть такой, что если не конец, то пусто, а если конец, то результат вычислений.


oleg_teacher   (2015-08-12 23:25:00) [9]


> вычислений там пусто,

Почему там должно быть пусто? Там формула...
которая меняется взависимости от значений в ячейках. (это значение ячейки мне и нужно)
Например там формула СУММ некоторого диапазона.
Вот пример екселя.
1 2 3
4 5 6
=Сумм(А3;С3) =Сумм(А1;В2) =Сумм(С1;С2)
Мне нужно значение =Сумм(А3;С3)
Если я вставлю ячейки в диапазон А1:С2, какое значение будет =Сумм(А3;С3)?
Возможно сначала 0? пока не посчитались ячейки В3 и С3?


кгшзх   (2015-08-12 22:44:00) [10]

Считку данных с внешних файлов, подстановка значение в ячейки...?

а ты сейчас не то же самое делаешь?

Что то я сомневаюсь что s:=excell2_sh.. дождется конца вычислений, или я неправильно понял.

а если перед началом вычислений там пусто, а сразу после появляется значение, то неужели это проблема, определить пусто там еще или уже нет?


oleg_teacher   (2015-08-12 22:36:00) [11]


> эксель сам может получить любые данные.

типа в VBA программировать? Считку данных с внешних файлов, подстановка значение в ячейки...?


oleg_teacher   (2015-08-12 22:34:00) [12]


>  (и метод не возвращал управления до тех пор, пока не посчитает).

чучуть не понял... должно быть так?

1. запрещаем автовычисление
2. excell2_sh.Cells.Item[1,1].Value:=q;
3. Включаем вычисление.
4. s:=excell2_sh.Cells.Item[100,20].Value;
Что то я сомневаюсь что s:=excell2_sh.. дождется конца вычислений, или я неправильно понял.


Игорь Шевченко   (2015-08-12 22:30:00) [13]

кгшзх ©   (12.08.15 22:26) [1]


> эксель сам может получить любые данные.


Если не сложно, подробнее на эту тему куда рыть ?


Игорь Шевченко   (2015-08-12 22:29:00) [14]


> Как можно узнать что вычисления в екселе сделались до конца.
> ..


Мы делали просто: Запрещали автовычисление, последним этапом заносили некое условное значение в некую условную ячейку, по занесении этого значения Excel начинал считать (и метод не возвращал управления до тех пор, пока не посчитает).
А вообще Excel в режиме автовычисления считает после каждого занесенного значения.


кгшзх   (2015-08-12 22:26:00) [15]

здесь все сильно упростится если убрать из схемы вставляние данных в эксель из делфи.
эксель сам может получить любые данные.
и не надо будет снаружи ждать окончания расчета.


Наверх

Титульная страница Поиск, карта сайта Написать письмо