Я использую ruby WIN32OLE для автоматизации выполнения макросов Excel с помощью планировщика Windows.
У меня все это работает должным образом.Моя проблема связана с необходимостью запуска макроса, встроенного в файл Excel внешней стороны (т.е. я не могу контролировать макрос).Я могу вызвать макрос без проблем, однако код содержит пользовательские подсказки (в форме Msgbox
операторов)
Короче говоря, как мне сказать msgbox
"да" или "ок" через WIN32OLE?
Что я пробовал
- Обработка событий: Msgbox не генерирует событие рабочего листа.Я должен был бы думать, что Windows генерирует событие где-то для Msgbox (но я не достаточно опытен, чтобы захватить его с помощью WIN32OLE)
-Threading и Sendkeys: я также не смог получить msgboxответить на sendkeys.Еще более проблематично было то, что я не смог заставить работать потоки с объектом WIN32OLE (он работал нормально, когда я использовал put и sleep для имитации запуска макроса.)
Кажется, я застрял с копированием кодав другую книгу и без удаления отчетов msgbox я не очень хочу этого делать, потому что тогда она будет добавлять работу по обслуживанию каждый раз, когда меняется бизнес-логика стороннего кода.