1.简介
通过使用Python进行COM客户端编程,从而能够控制诸如Word、Excel、PowerPoint和Outlook等Microsoft Office应用,并能够与之通信。COM是一个服务,通过该服务可以使用PC应用与其他应用进行交互。
传统意义上,COM客户端一般使用VB/VBC和C++两种不同的工具来编写。对于COM编程而言,Python一般被视为一种可行的替代品,因为它比VB更加强大,又比C++开发有更好的表现力和更少的时间消耗。
2.使用Python进行COM客户端编程
- 启动应用
- 添加合适的文档以工作(或载入一个已经存在的文档)
- 使应用可见
- 执行文档所需的所有工作
- 保存或放弃文档
- 退出
摘自:python核心编程(第三版)
#!/usr/bin/python3
# -*- coding: utf-8 -*-
from tkinter import Tk
import time
from tkinter.messagebox import showwarning
import win32com.client as win32
#匿名函数,相当于
'''
def warn(app):
showwarning(app,'Exit?')
'''
warn=lambda app:showwarning(app,'Exit?')
RANGE=range(3,8)
def excel():
app='Excel'
'''
静态调动,PythonWin运行Makepy工具,创建应用所需的对象
动态调动代码:x1=win32.Dispatch('{0}.Application'.format(app))
'''
x1=win32.gencache.EnsureDispatch('{0}.Application'.format(app))
#新建一个sheet
ss=x1.Workbooks.Add()
#激活sheet
sh=ss.ActiveSheet
#设置桌面上可见
x1.Visible=True
time.sleep(1)
#设置单元格(1,1)的值
sh.Cells(1,1).Value='Python-to-{0} Demo'.format(app)
time.sleep(1)
for i in RANGE:
sh.Cells(i,1).Value='Line {0}'.format(i)
time.sleep(1)
sh