|
Модераторы: mihanik |
|
novitskyam |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.5.2013 Репутация: нет Всего: нет |
как запустить программу из excel передав ей в качестве аргументов значения каких-то ячеек и получить обратно результат отобразив его в ячейке.
|
|||
|
||||
Naghual |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 7 Всего: 49 |
Сложно представляю для чего такой сценарий необходим.
А учитывая политику запуска книг с макросами - вообще практически нереально. Возможно, если Вы опишите задачу, из которой Вы пришли к такому вопросу, Вам подскажут иной путь решения. -------------------- Я желаю всем Счастья! |
|||
|
||||
novitskyam |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.5.2013 Репутация: нет Всего: нет |
В магазине установлен банкомат. Известно расписание работы магазина оно заполнено в 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 |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 453 |
Совершенно никаких проблем. Простейшая функция в модуле. Сваливаешь оба списка в одну кучу, помечая начало рабдня и конец простоя как start, а конец рабдня и начало простоя как stop. сортируешь по возрастанию даты-времени, а потом просто считаешь сумму длительностей интервалов, где между start и stop нет других записей. Это время работы. Общее потенциальное время работы получаешь по тому же алгоритму, но только из графика работы. Разность полученных значений - это простой банкомата. Можно это даже без модуля, формулами реализовать. Только муторно слишком. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
vpf |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 119 Регистрация: 14.11.2016 Где: Moscow Репутация: нет Всего: нет |
Да ладно муторно, в Excel прямо в свободной колонке разбираются цифры на отдельные ячейки по разделителям "." и ":"
Далее в каждой строке вычисляется время простоя и затем эта колонка суммируется. Все. Формулами в Excel мы расшивали описание пинов микропроцессора из даташита, где каждый пин имеет несколько функций Функций от 1 до 8, пинов от 150 до 350. И добавляли анализ перекрестный, так как одна функция могла быть доступна через разные пины, и если занято одним, то другие уже не могут ей воспользоваться. Все не вылезая из Excel без VB, чисто формулы. Вот это было муторно Это сообщение отредактировал(а) vpf - 19.4.2017, 12:35 |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 453 |
Ну представь себе, что простой продолжался три дня с полудня до полудня... строка одна, а простоев-то надо насчитать для суммирования аж 4 штуки. Я не говорю, что невозможно - возможно. Но получится то ещё многоэтажное безобразие. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
oloko900 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 11.2.2018 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
novitskyam |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.5.2013 Репутация: нет Всего: нет |
Спасибо за участие в обсуждении темы, я просто хотел начать на работе программировать. Пока в Excelе увидел возможность применить свои силы. Все сделал при помощи VBA. Но цель была сделать что-то на c#. Сейчас увидел конкретную задачу и хочу реализовать на c#, с которым знаком не был. Открывать буду темы по с#.
|
|||
|
||||
Правила форума "Программирование, связанное с MS Office" | |
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |