你可以用Python中的COM/ActiveX做什么?

man*_*oid 38 python com activex pywin32 crystal-reports

我已经读过可以使用COM/ActiveX在Crystal Reports中自动执行月度报告.我不是那么先进,无法理解这是什么,或者甚至可以用它来做什么.

我也使用Excel做了很多工作,看起来你也使用COM/ActiveX与它进行交互.

有人可以解释这是如何工作的,也许可以提供一个简短的例

luc*_*luc 42

首先,您必须安装精彩的pywin32模块.

它提供COM支持.您需要运行该makepy实用程序.它位于C:\...\Python26\Lib\site-packages\win32com\client.在Vista上,必须使用管理员权限运行.

该实用程序将显示所有可用的COM对象.你可以找到你的,它会为这个对象生成一个python包装器.

包装器是在C:\...\Python26\Lib\site-packages\win32com\gen_py文件夹中生成的python模块.该模块包含COM对象的接口.该文件的名称是COM唯一ID.如果您有许多文件,有时很难找到合适的文件.

之后你只需要调用正确的界面.这很神奇:)

excel的简短示例

import win32com.client

xlApp = win32com.client.Dispatch("Excel.Application")
xlApp.Visible=1

workBook = xlApp.Workbooks.Open(r"C:\MyTest.xls")
print str(workBook.ActiveSheet.Cells(i,1))
workBook.ActiveSheet.Cells(1, 1).Value = "hello"                
workBook.Close(SaveChanges=0) 
xlApp.Quit()
Run Code Online (Sandbox Code Playgroud)