Как я могу создать несколько экземпляров приложения в pythoncom?

Я пытаюсь использовать python для запуска нескольких процессов, используя COM для асинхронной обработки нескольких файлов (используя concurrent.futures), но мне удается запустить только один процесс за раз.

Вот простой способ увидеть проблему с помощью Excel:

import win32com.client

# start first instance
exl1 = win32com.client.Dispatch("Excel.Application")

# start second instance
exl2 = win32com.client.Dispatch("Excel.Application")

Второй процесс Excel не запускается (я вижу только идентификатор процесса первого экземпляра). Есть ли способ сделать это?

1 ответ

Нашел ответ (отсюда: /questions/5346314/kontrolirujte-2-otdelnyih-ekzemplyara-excel-s-pomoschyu-com-nezavisimo-eto-mozhno-sdelat/5346330#5346330). Вместо этого используйте метод DispatchEx:

import win32com.client

# start first instance
exl1 = win32com.client.DispatchEx("Excel.Application")

# start second instance
exl2 = win32com.client.DispatchEx("Excel.Application")
Другие вопросы по тегам