powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как дать команду Excel и "заниматься своими делами".
7 сообщений из 7, страница 1 из 1
Как дать команду Excel и "заниматься своими делами".
    #33712381
Яровенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу из своей программы дать некоторое задание существующему экземпляру Excel так, чтобы моя программа не дожидалась завершения этого задания и могла работать дальше.

Пример. если я сделаю так в лоб:

mvExcel.Run("Test")
... другая последовательность операторов

То "другая последовательность операторов" не выполняется, пока не отработает Test(), а мне нужно так - дал задание Excel-ю и работаешь дальше, а о том, что Excel завершил работы я могу и через какое-нибудь событие узнать. Вот не могу сообразить, как это реализовать :(
...
Рейтинг: 0 / 0
Как дать команду Excel и "заниматься своими делами".
    #33712495
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем ты работаешь и даешь команды Excel-ю ?
...
Рейтинг: 0 / 0
Как дать команду Excel и "заниматься своими делами".
    #33712524
Яровенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работают в программке на VB6. В книге Excel есть скрипты, формирующие отчеты по SQL-базе.
...
Рейтинг: 0 / 0
Как дать команду Excel и "заниматься своими делами".
    #33712602
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищи в Инете примеры на VB. Ключевое слово многопоточность.
...
Рейтинг: 0 / 0
Как дать команду Excel и "заниматься своими делами".
    #33712614
Яровенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Расскажу более подробно: в проге на VB у меня есть объект Job (задание для Excel).
В начале работы я создаю в VB коллекцию JobCollection и передаю её в Excel
таким образом:
Application.Run("JobCollection",JobCollection) - при этом моя функция в Excel JobCollection просто запоминает ссылку на эту коллекцию в своей переменной.

Далее, я создаю в VB новый объект Job и как-то инициализирую его:
Job.State=0
Job.strCommand="какие-то запросы, инструкции и т.п."

Потом я добавляю это новое задание в коллекцию заданий для Excel:
JobCollection.Add Job

а вот дальше я хочу, чтобы Excel просматривал эту коллекцию (она же ему доступна), находил объекты Job у которых State=0 (не обработанные еще) и выполнял соответствующую инструкцию.
...
Рейтинг: 0 / 0
Как дать команду Excel и "заниматься своими делами".
    #33712635
Яровенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, начал объяснять и у самого в голове некоторое прояснение появилось :))
Получается, что мне нужно просто организовать обработку ожидания в Excel, причем не тупо Sleep или Wait , когда все висит, а как-то по другому...
Или: послать "сигнал" Excel - посмотри, дружок, есть ли у тебя в очереди задания. Но при этом само приложение VB не должно дожидаться от Excel выполнения результатов.
...
Рейтинг: 0 / 0
Как дать команду Excel и "заниматься своими делами".
    #33716769
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может это поможет:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
expression   Required. An expression that returns an Application object.

EarliestTime   Required Variant. The time when you want this procedure to be run.

Procedure   Required String. The name of the procedure to be run.

LatestTime   Optional Variant. The latest time at which the procedure can be run. For example, if LatestTime is set to EarliestTime + 30 and Microsoft Excel is not in Ready, Copy, Cut, or Find mode at EarliestTime because another procedure is running, Microsoft Excel will wait 30 seconds for the first procedure to complete. If Microsoft Excel is not in Ready mode within 30 seconds, the procedure won’t be run. If this argument is omitted, Microsoft Excel will wait until the procedure can be run.

Schedule   Optional Variant. True to schedule a new OnTime procedure. False to clear a previously set procedure. The default value is True.

...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как дать команду Excel и "заниматься своими делами".
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]