admin管理员组

文章数量:1600310

1.简介

通过使用Python进行COM客户端编程,从而能够控制诸如Word、Excel、PowerPoint和Outlook等Microsoft Office应用,并能够与之通信。COM是一个服务,通过该服务可以使用PC应用与其他应用进行交互。

传统意义上,COM客户端一般使用VB/VBC和C++两种不同的工具来编写。对于COM编程而言,Python一般被视为一种可行的替代品,因为它比VB更加强大,又比C++开发有更好的表现力和更少的时间消耗。

2.使用Python进行COM客户端编程

  • 交互的基本步骤
  1. 启动应用
  2. 添加合适的文档以工作(或载入一个已经存在的文档)
  3. 使应用可见
  4. 执行文档所需的所有工作
  5. 保存或放弃文档
  6. 退出
  • Excel

摘自: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

本文标签: Microsoftoffice