python 处理 word

来源:互联网 发布:淘宝店铺怎么分类宝贝 编辑:程序博客网 时间:2024/05/16 00:54

首先应该是需要导入win32com.client模块
而且 据智勇说必须在win系统里用 没有尝试mac下怎么处理这些东西

然后代码大概是这样的:

# -*- coding: utf-8 -*-  import win32com.client as win32import sysnew_report = {    'virusname':[3,3,2],    'area':[5,2,2],    'level':[5,1,2],    'sp':[7,2,1],    'sp_des':[7,2,2],    'phone':[8,2,1],    'phone-des':[8,2,2],    'url':[9,2,1],    'url-des':[9,2,2],    'bev-des':[3,4,2],    'loc-des':[3,5,2],    'int-des':[3,6,2],    'gen':[11,1,1],    'sf':[13,1,1],    'other':[14,1,1]    }if __name__ == '__main__':    word = win32.Dispatch("Word.Application")    word.Visible = 0    if len(sys.argv) <= 1:        exit()    word.Documents.Open(sys.argv[1])    doc = word.ActiveDocument    print doc.Tables.Count    print doc.Tables(1).Rows.Count    if doc.Tables.Count == 14:        for i in new_report:            if i == 'sp' or i == 'sp-des' or i == 'phone' or i == 'phone-des' or i == 'url' or i == 'url-des':                icount = 1                while icount < doc.Tables(new_report[i][0]).Rows.Count:                    print i + ':' + doc.Tables(new_report[i][0]).Cell(Row=icount+1, Column=new_report[i][2]).Range.Text                    icount = icount + 1            else:                print i + ':' + doc.Tables(new_report[i][0]).Cell(Row=new_report[i][1], Column=new_report[i][2]).Range.Text    word.Quit()
0 0