日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 操作word教程_Python 使用 win32com 模块对word文件进行操作

發(fā)布時間:2024/1/8 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 操作word教程_Python 使用 win32com 模块对word文件进行操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

what's the?win32com 模塊

win32com 模塊主要為 Python 提供調(diào)用 windows 底層組件對 word?、Excel、PPT 等進行操作的功能,只能在 Windows 環(huán)境下使用,并且需要安裝 office 相關(guān)軟件才行(WPS也行)。

使用 win32com 模塊主要是因為 Python 針對 word 文檔操作的第三方庫相對較少并且功能較弱,Python 有針對 .docx 后綴文件的第三方庫 python-docx,但是沒有針對 .doc 和 .wps 的第三方庫,所以這里就只能使用?win32com 模塊。?相對而言 Python 針對 Excel文檔操作的第三方庫就非常友好

importwin32com#最常用的模塊其實是win32com.client

基本操作

模擬打開 office

word = win32com.client.Dispatch('Word.Application')#或者使用下面的方法,使用啟動獨立的進程:#word = win32com.client.DispatchEx('Word.Application')

聲明屬性

word.Visible = 0 #后臺運行

word.DisplayAlerts = 0 #不顯示,不警告#如果不聲明上述屬性,運行的時候會顯示的打開office軟件操作文檔

打開文件

doc = word.Documents.Open('xxx.doc) # 打開一個已有的word文檔

#new_doc = word.Documents.Add() # 創(chuàng)建新的word文檔

插入文字

myRange =doc.Range(0,0)

myRange.InsertBefore('Hello word')

針對關(guān)鍵詞的操作

應(yīng)用場景:搜索關(guān)鍵字,將目標關(guān)鍵字替換為指定文字,或者更改關(guān)鍵字顏色、背景色等等

文字替換

word.Selection.Find.ClearFormatting()

word.Selection.Find.Replacement.ClearFormatting()

word.Selection.Find.Execute(OldStr, False, False, False, False, False, True,1, True, NewStr, 2)'''上面涉及的 11 個參數(shù)說明

(OldStr--搜索的關(guān)鍵字,

True--區(qū)分大小寫,

True--完全匹配的單詞,并非單詞中的部分(全字匹配),

True--使用通配符,

True--同音,

True--查找單詞的各種形式,

True--向文檔尾部搜索,

1,

True--帶格式的文本,

NewStr--替換文本,

2--替換個數(shù)(0表示不替換,1表示只替換匹配到的第一個,2表示全部替換)'''

更改文字顏色、背景色

self.xlApp.Selection.Find.ClearFormatting()

self.xlApp.Selection.Find.Replacement.ClearFormatting()#循環(huán)操作,將每個匹配到的關(guān)鍵詞進行換色

while self.xlApp.Selection.Find.Execute(str, False, False, False, False, False, True, 0, True, "", 0):

word.Selection.Range.HighlightColorIndex= 11 #替換背景顏色為綠色

word.Selection.Font.Color= 255 #替換文字顏色為紅色

'''wdAuto 0 Automatic color. Default; usually black.

wdBlack 1 Black color.

wdBlue 2 Blue color.

wdBrightGreen 4 Bright green color.

wdByAuthor -1 Color defined by document author.

wdDarkBlue 9 Dark blue color.

wdDarkRed 13 Dark red color.

wdDarkYellow 14 Dark yellow color.

wdGray25 16 Shade 25 of gray color.

wdGray50 15 Shade 50 of gray color.

wdGreen 11 Green color.

wdNoHighlight 0 Removes highlighting that has been applied.

wdPink 5 Pink color.

wdRed 6 Red color.

wdTeal 10 Teal color.

wdTurquoise 3 Turquoise color.

wdViolet 12 Violet color.

wdWhite 8 White color.

wdYellow 7 Yellow color.'''

更多背景顏色的值

頁眉文字替換

word.ActiveDocument.Sections[0].Headers[0].Range.Find.ClearFormatting()

word.ActiveDocument.Sections[0].Headers[0].Range.Find.Replacement.ClearFormatting()

word.ActiveDocument.Sections[0].Headers[0].Range.Find.Execute(OldStr, False, False, False, False, False, True,1, False, NewStr, 2)

打印

doc.PrintOut()

保存

doc.Save() #保存

doc.SaveAs('asdasd.doc') #另存為

退出

退出操作必須得做,不然進程就會一直占據(jù)著這個文件,下次操作相同文件的時候就會報錯

doc.Close() #關(guān)閉 word 文檔

word.Documents.Close(wc.wdDoNotSaveChanges) #保存并關(guān)閉 word 文檔

word.Quit() #關(guān)閉 office

轉(zhuǎn)碼操作

win32com 模塊支持對文檔進行各種轉(zhuǎn)碼操作,如 doc 轉(zhuǎn) docx,docx 轉(zhuǎn) doc,wps 轉(zhuǎn) pdf,pdf 轉(zhuǎn) docx 等等

下面舉個 docx?轉(zhuǎn)?pdf 例子

from win32com importclient as wc

word= wc.Dispatch("Word.Application")

wordhandle.Visible= 0 #后臺運行,不顯示

wordhandle.DisplayAlerts = 0 #不警告

doc = wordhandle.Documents.Open('xxx.docx')

doc.SaveAs('xxx.pdf', 17) #txt=4, html=10, docx=16, pdf=17

doc.Close()

word.Quit()

'''wdFormatDocument = 0

wdFormatDocument97 = 0

wdFormatDocumentDefault = 16

wdFormatDOSText = 4

wdFormatDOSTextLineBreaks = 5

wdFormatEncodedText = 7

wdFormatFilteredHTML = 10

wdFormatFlatXML = 19

wdFormatFlatXMLMacroEnabled = 20

wdFormatFlatXMLTemplate = 21

wdFormatFlatXMLTemplateMacroEnabled = 22

wdFormatHTML = 8

wdFormatPDF = 17

wdFormatRTF = 6

wdFormatTemplate = 1

wdFormatTemplate97 = 1

wdFormatText = 2

wdFormatTextLineBreaks = 3

wdFormatUnicodeText = 7

wdFormatWebArchive = 9

wdFormatXML = 11

wdFormatXMLDocument = 12

wdFormatXMLDocumentMacroEnabled = 13

wdFormatXMLTemplate = 14

wdFormatXMLTemplateMacroEnabled = 15'''

轉(zhuǎn)碼的碼

總結(jié)

以上是生活随笔為你收集整理的python 操作word教程_Python 使用 win32com 模块对word文件进行操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。