Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2017.04.09;
Скачать: [xml.tar.bz2];

Вниз

Вопрос взаимодействия 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.002 c
2-1439406925
oleg_teacher
2015-08-12 22:15
2017.04.09
Вопрос взаимодействия Delphi и Excel


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


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


15-1459970604
K-1000
2016-04-06 22:23
2017.04.09
Кто играет в шахматы?


2-1439274792
olle
2015-08-11 09:33
2017.04.09
создать oleauto





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский