這篇文章給大家介紹python中如何進(jìn)行word操作新建文檔,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供鼓樓網(wǎng)站建設(shè)、鼓樓做網(wǎng)站、鼓樓網(wǎng)站設(shè)計(jì)、鼓樓網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鼓樓企業(yè)網(wǎng)站模板建站服務(wù),10余年鼓樓做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
win32com 模塊主要為 Python 提供調(diào)用 windows 底層com組件的操作的功能,COM 組件為微軟公司為了計(jì)算機(jī)工業(yè)的軟件生產(chǎn)更加符合人類的行為方式開發(fā)的一套接口規(guī)范,很多大型軟件都使用 COM 來提供 API,不過目前只在windows上用。COM組件可以是一個(gè)Dll(進(jìn)程內(nèi)組件),也可以是一個(gè)EXE(進(jìn)程外組件),一個(gè)COM組件可以包含多個(gè)COM對(duì)象,一個(gè)COM對(duì)象又可以有多個(gè)接口。
MS Office、WPS 都可以通過底層com組件對(duì)其進(jìn)行調(diào)用,相比于python-docx、pydocx或者修改docx的xml文件,win32com可以直接使用VBA的相關(guān)接口,靈活性更好,適用性更高。
pip install pypiwin32
import os
from win32com.client import Dispatch, DispatchEx# 獲取當(dāng)前路徑
pwd = os.getcwd()
# app = DispatchEx('Word.Application') # MS word
app = DispatchEx("Kwps.Application") # WPS# 新建word文檔
doc = app.Documents.Add()
# 打開文檔
# doc = app.Documents.Open('文檔路徑')
# 顯示更新界面
app.Visible = True
app.ScreenUpdating = True
# 文檔開始位置插入內(nèi)容
doc_range1 = doc.Range(0, 0)
doc_range1.InsertBefore('hello python word doc!')
# 文檔末尾位置插入內(nèi)容
doc_range2 = doc.Range()
doc_range2.InsertAfter(' word end')
# 在文檔指定位置添加內(nèi)容
i = 5
doc_range3 = doc.Range(0, i)
doc_range3.InsertAfter(" insert position i")
# 必須使用絕對(duì)路徑進(jìn)行保存和另存
# doc.Save() # 如果文檔以前未保存過,則 “另存為” 對(duì)話框?qū)⑻崾居脩翩I入文件名。
doc.SaveAs(os.path.join(pwd, 'python_word.docx'))
# 關(guān)閉 word 文檔
doc.Close()
# 關(guān)閉軟件
app.Quit()
至此,在當(dāng)前路徑下創(chuàng)建了名為python_word.docx的word文件,包含內(nèi)容:hello insert position i python word doc!word end
Application:表示 Word 應(yīng)用程序。Application 對(duì)象包含可返回頂級(jí)對(duì)象的屬性和方法,包含菜單欄、工具欄、命令以及所有文檔。
兩種方式獲取Application對(duì)象:
Dispatch:新建實(shí)例
DispatchEx:?jiǎn)?dòng)獨(dú)立的進(jìn)程
Documents:文檔對(duì)象,可以存著多個(gè)Document,相當(dāng)于word打開多個(gè)文檔。
兩種方式獲取文檔對(duì)象:
# 新建文檔
doc = app.Documents.Add()
# 打開文檔
doc = app.Documents.Open('Word文件路徑')
**Range**(Start, End)方法來指定文檔的特定范圍,文檔第一個(gè)字符位置為0,最后一個(gè)字符的位置為文檔的字符總數(shù),未提供參數(shù)時(shí)全選內(nèi)容。
Selection:選區(qū),文檔選擇區(qū)域或者插入點(diǎn)(光標(biāo)閃爍位置),整個(gè)文檔只能同時(shí)激活一個(gè)選區(qū),默認(rèn)插入點(diǎn)在文檔開始位置。
s = app.Selection
Font:包含對(duì)象的字體屬性(如字體名稱、字號(hào)、顏色等)。
# 獲取選區(qū)或者區(qū)域字體對(duì)象
font = s.Font
# 或
font = r.Font
設(shè)置字體
# 字體設(shè)置為仿宋,電腦上必須安裝有該字體
font.Name = '仿宋'
# 字號(hào)設(shè)置為三號(hào)
font.Size = 16
PageSetup:代表頁(yè)面設(shè)置對(duì)象。 對(duì)于 PageSetup 對(duì)象作為屬性包含文檔 (如左邊的距、 下邊距和紙張大?。?的所有頁(yè)面設(shè)置屬性。
# 獲取頁(yè)面設(shè)置對(duì)象
ps = doc.PageSetup
# 上邊距79磅
ps.TopMargin = 130
# 頁(yè)面大小,A3、A4分別為6,7
ps.PaperSize = 6
關(guān)于python中如何進(jìn)行word操作新建文檔就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。