python实现在windows下操作word的方法

624次阅读  |  发布于5年以前

本文实例讲述了python实现在windows下操作word的方法。分享给大家供大家参考。具体实现方法如下:


    import win32com
    from win32com.client import Dispatch, constants
    w = win32com.client.Dispatch('Word.Application')
    # 或者使用下面的方法,使用启动独立的进程:
    # w = win32com.client.DispatchEx('Word.Application')
    # 后台运行,不显示,不警告
    w.Visible = 0
    w.DisplayAlerts = 0
    # 打开新的文件
    doc = w.Documents.Open( FileName = filenamein )
    # worddoc = w.Documents.Add() # 创建新的文档
    # 插入文字
    myRange = doc.Range(0,0)
    myRange.InsertBefore('Hello from Python!')
    # 使用样式
    wordSel = myRange.Select()
    wordSel.Style = constants.wdStyleHeading1
    # 正文文字替换
    w.Selection.Find.ClearFormatting()
    w.Selection.Find.Replacement.ClearFormatting()
    w.Selection.Find.Execute(OldStr,False,False,False,False,False,True,1,True,NewStr,2)
    # 页眉文字替换
    w.ActiveDocument.Sections[0].Headers[0].Range.Find.ClearFormatting()
    w.ActiveDocument.Sections[0].Headers[0].Range.Find.Replacement.ClearFormatting()
    w.ActiveDocument.Sections[0].Headers[0].Range.Find.Execute(OldStr,False,False,False,False,False,True,1,False,NewStr,2)
    # 表格操作
    doc.Tables[0].Rows[0].Cells[0].Range.Text ='123123'
    worddoc.Tables[0].Rows.Add() # 增加一行
    # 转换为html
    wc = win32com.client.constants
    w.ActiveDocument.WebOptions.RelyOnCSS = 1
    w.ActiveDocument.WebOptions.OptimizeForBrowser = 1
    w.ActiveDocument.WebOptions.BrowserLevel = 0 # constants.wdBrowserLevelV4
    w.ActiveDocument.WebOptions.OrganizeInFolder = 0
    w.ActiveDocument.WebOptions.UseLongFileNames = 1
    w.ActiveDocument.WebOptions.RelyOnVML = 0
    w.ActiveDocument.WebOptions.AllowPNG = 1
    w.ActiveDocument.SaveAs( FileName = filenameout, FileFormat = wc.wdFormatHTML )
    # 打印
    doc.PrintOut()
    # 关闭
    # doc.Close()
    w.Documents.Close(wc.wdDoNotSaveChanges)
    w.Quit()

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8