Mam starszą aplikację, która jest zaimplementowana w wielu skoroszytach programu Excel. Nie jest to coś, co mam prawo do ponownego wdrożenia, jednak inna aplikacja, którą utrzymuję, musi mieć możliwość wywoływania funkcji w skoroszycie programu Excel.Steruj 2 oddzielnymi wystąpieniami programu Excel przez COM niezależnie ... czy można to zrobić?
Został podany interfejs Pythona przy użyciu biblioteki Win32Com. Inne procesy mogą wywoływać funkcje w moim pakiecie Pythona, który z kolei wywołuje funkcje, których potrzebuję poprzez Win32Com.
Niestety, COM nie pozwala mi określić konkretnego procesu COM, więc w tej chwili, bez względu na to, jak potężny jest mój serwer, mogę kontrolować tylko jedno wystąpienie programu Excel na raz na komputerze. Gdybym próbował uruchomić więcej niż jedno wystąpienie programu Excel, nie byłoby sposobu na zapewnienie, że warstwa Pythona jest powiązana z określoną instancją programu Excel.
Chciałbym móc uruchomić więcej niż jedną z moich aplikacji Excel na moim serwerze Windows jednocześnie. Czy jest jakiś sposób na zrobienie tego? Na przykład, czy mogę umieścić moje środowisko w taki sposób, aby móc uruchomić tyle kombinacji Excela i Pythona, ile obsługuje moja aplikacja?
Tak, to nie problem, począwszy od dwóch różnych wystąpień programu Excel; tylko, że nie możesz mieć otwartych wielu aplikacji Excel i przechwyć ich proces COM używając GetObject ... –
OK, to prawda ... ale każdy, kto używa Excela na zapleczu dowolnej usługi, nigdy nie powinien przechwytywać innych procesów Excela za pośrednictwem GetObject(). Powinien tworzyć i używać tylko własnych instancji programu Excel. W przeciwnym razie aplikacja może kolidować z użytkownikiem lub innym procesem korzystającym z instancji programu Excel. :-( –