Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.04.09;
Скачать: CL | DM;

Вниз

Вопрос взаимодействия Delphi и Excel   Найти похожие ветки 

 
oleg_teacher   (2015-08-12 22:15) [0]

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

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


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

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


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


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


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


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

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


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


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


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


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

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

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


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


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

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


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

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

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

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

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


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


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

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


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

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

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


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


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

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


 
NoUser ©   (2015-08-12 23:33) [10]


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


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


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


)))


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


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

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


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

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


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

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

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

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


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


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

Наверное нужно искать описание формул. Так как уже я ламерский фейк, что спрашиваю то что не понимаю...
Может действительно проще будет
вот например нашел 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


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

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

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



Страницы: 1 вся ветка

Текущий архив: 2017.04.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.006 c
15-1460401970
Юрий Зотов
2016-04-11 22:12
2017.04.09
Рисование контура окна


2-1439375893
GAZot
2015-08-12 13:38
2017.04.09
Пакетная передача данных по протоколу UDP


4-1282656910
Unknown_user
2010-08-24 17:35
2017.04.09
Запрет получения фокуса приложения


15-1458584450
Kilkennycat
2016-03-21 21:20
2017.04.09
Прощай, авиамоделизм.


15-1460136529
aka
2016-04-08 20:28
2017.04.09
Лицензионное ПО