Форум: "Начинающим";
Текущий архив: 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