Как импортировать COM в Ironpython? - PullRequest
5 голосов
/ 19 августа 2010

В Cpython я могу использовать win32com.

Но в Ironpython я не знал, как его импортировать.

Поскольку в .net всегда используют Visual Studio длявзаимодействовать с COM и использовать его.

1 Ответ

5 голосов
/ 19 августа 2010

Вы должны иметь возможность создать объект IDispatch, используя:

from System import Type, Activator
Activator.CreateInstance(Type.GetTypeFromProgID(com_type_name))

Это эквивалентно win32com.client.Dispatch (com_type_name).

Если есть тип lib, вы должны бытьв состоянии сделать:

import clr
import System
typelib = clr.LoadTypeLibrary(System.Guid("00020905-0000-0000-C000-000000000046"))
word = typelib.Word.Application()

Я не знаю, что это эквивалентно.Я не очень разбираюсь в этом, но я взял те из cominterop_util от IronPython , который используется в тестах.В каталоге IronPython \ Tests \ interop \ com есть еще кое-что, что может быть полезно.

...