| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование, связанное с MS Office > получить результат после запуска програмы из excel |
| Автор: novitskyam 19.4.2017, 10:34 |
| как запустить программу из excel передав ей в качестве аргументов значения каких-то ячеек и получить обратно результат отобразив его в ячейке. |
| Автор: Naghual 19.4.2017, 10:41 |
| Сложно представляю для чего такой сценарий необходим. А учитывая политику запуска книг с макросами - вообще практически нереально. Возможно, если Вы опишите задачу, из которой Вы пришли к такому вопросу, Вам подскажут иной путь решения. |
| Автор: novitskyam 19.4.2017, 11:23 |
| В магазине установлен банкомат. Известно расписание работы магазина оно заполнено в exel по дням недели с чч1:мм1 по чч2:мм2. Известны промежутки простоя банкомата с дд1.мм1.гг1 чч1:мм1 по дд2.мм2.гг2 чч2:мм2. Надо вычислить количество дней часов минут простоя банкомата в рабочее время магазина. Например в понедельник магазин работает с 10:00 до 20:00. Банкомат был в нерабочем состоянии с 2:00 до 11:00. Значит простой банкомата в понедельник составил ровно 1 час. Чисто в exel проблематично выполнить. В VBA можно попробовать, но я хотел бы вызвать программу написанную на c# передавать ей в качестве аргументов начало и конец простоя. Программа рассчитает простой банкомата и вернет результат и отобразит в ячейке. |
| Автор: Akina 19.4.2017, 12:16 |
Совершенно никаких проблем. Простейшая функция в модуле. Сваливаешь оба списка в одну кучу, помечая начало рабдня и конец простоя как start, а конец рабдня и начало простоя как stop. сортируешь по возрастанию даты-времени, а потом просто считаешь сумму длительностей интервалов, где между start и stop нет других записей. Это время работы. Общее потенциальное время работы получаешь по тому же алгоритму, но только из графика работы. Разность полученных значений - это простой банкомата. Можно это даже без модуля, формулами реализовать. Только муторно слишком. |
| Автор: vpf 19.4.2017, 12:33 |
| Да ладно муторно, в Excel прямо в свободной колонке разбираются цифры на отдельные ячейки по разделителям "." и ":" Далее в каждой строке вычисляется время простоя и затем эта колонка суммируется. Все. Формулами в Excel мы расшивали описание пинов микропроцессора из даташита, где каждый пин имеет несколько функций Функций от 1 до 8, пинов от 150 до 350. И добавляли анализ перекрестный, так как одна функция могла быть доступна через разные пины, и если занято одним, то другие уже не могут ей воспользоваться. Все не вылезая из Excel без VB, чисто формулы. Вот это было муторно |
| Автор: oloko900 11.2.2018, 23:10 |
Модератор: Сообщение скрыто. |
| Автор: novitskyam 12.2.2018, 22:34 |
| Спасибо за участие в обсуждении темы, я просто хотел начать на работе программировать. Пока в Excelе увидел возможность применить свои силы. Все сделал при помощи VBA. Но цель была сделать что-то на c#. Сейчас увидел конкретную задачу и хочу реализовать на c#, с которым знаком не был. Открывать буду темы по с#. |