|
Excel parallel job
|
|||
---|---|---|---|
#18+
Всем привет Ищу способ в фоновом режиме в Excel отрабатывать некие события и изменять ячейки данных . Т.е. нужно вызвать внешнюю программку , которая вернет 1 или 0 в зависимости от результата. Работает программка 30-40 минут и на это время совсем не хочется блокировать Excel. Какие есть способы в VBA по организации потоков и прочего ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 10:10 |
|
Excel parallel job
|
|||
---|---|---|---|
#18+
Пример DDE-клиента на VB6 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 12:33 |
|
Excel parallel job
|
|||
---|---|---|---|
#18+
hclubmk, гуд А чуть подробнее можно ? как клиента подключать , как ожидать завершение ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:20 |
|
Excel parallel job
|
|||
---|---|---|---|
#18+
Запустить клиента из Excel можно разными способами, хочешь ч/з WScript.Shell, а хочешь ч/з CreateProcess. Как происходит взаимодействие - видно из примера. Ожидать завершение - как и любого асинхронного процесса. Исходя из essbase.ruТ.е. нужно вызвать внешнюю программку , которая вернет 1 или 0 в зависимости от результата, клиент после передачи серверу этого единственного результата, завершит свою работу, а серверу нужно продолжить его обработку. В данном случае нужно анализировать наличие этого самого ответа от клиента по событию, например, Worksheet_Calculat Код: vbnet 1. 2. 3. 4. 5.
но печаль в том, что DDE не поднимает событие, поэтому, нужно создать формулу, которая использует значение из A1, например, в B1 прописать =A1 Вообще,исходя из этого топика, возможно, стоило бы использовать другой из методов IPC , и если бы задача была освещена шире, наверно, можно было бы найти более подходящее для нее решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2015, 08:04 |
|
|
start [/forum/topic.php?fid=60&msg=39062667&tid=2155785]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 163ms |
0 / 0 |