python在windows下操作word的方法
import win32com from win32com.client import Dispatch, constantsw = 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()</pre>