2010-08-19 76 views
4

在Cpython中,我可以使用win32com。如何将COM导入Ironpython?

但是,在ironpython中,我不知道如何导入它。

因为在.net中,总是使用Visual Studio来交互COM并使用它。

回答

5

你应该能够创建一个使用一个IDispatch对象:

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

这相当于win32com.client.Dispatch(com_type_name)。

如果有一个IIb型,你应该能够做到:

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

我不知道那是什么等同于。我在这方面并不是很专业,但是我从测试中使用了IronPython's cominterop_util。 IronPython \ Tests \ interop \ com目录中有更多内容可能会有用。