本文实例讲述了python实现在windows下操作word的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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程序设计有所帮助。