【python自动化办公01】word操作-新建文档
點(diǎn)擊上方“AI搞事情”關(guān)注我們
Python操作Word(Win32com)https://zhuanlan.zhihu.com/p/67543981
Office VBA 參考https://docs.microsoft.com/zh-cn/office/vba/api/overview
win32com 模塊主要為 Python 提供調(diào)用 windows 底層com組件的操作的功能,COM 組件為微軟公司為了計(jì)算機(jī)工業(yè)的軟件生產(chǎn)更加符合人類的行為方式開發(fā)的一套接口規(guī)范,很多大型軟件都使用 COM 來提供 API,不過目前只在windows上用。COM組件可以是一個Dll(進(jìn)程內(nèi)組件),也可以是一個EXE(進(jìn)程外組件),一個COM組件可以包含多個COM對象,一個COM對象又可以有多個接口。
MS Office、WPS 都可以通過底層com組件對其進(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") # 必須使用絕對路徑進(jìn)行保存和另存 # doc.Save() # 如果文檔以前未保存過,則 “另存為” 對話框?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
三、word相關(guān)對象
圖片Application:表示 Word 應(yīng)用程序。Application 對象包含可返回頂級對象的屬性和方法,包含菜單欄、工具欄、命令以及所有文檔。
兩種方式獲取Application對象:
Dispatch:新建實(shí)例
DispatchEx:啟動獨(dú)立的進(jìn)程
Documents:文檔對象,可以存著多個Document,相當(dāng)于word打開多個文檔。
兩種方式獲取文檔對象:
# 新建文檔 doc = app.Documents.Add() # 打開文檔 doc = app.Documents.Open('Word文件路徑') **Range**(Start, End)方法來指定文檔的特定范圍,文檔第一個字符位置為0,最后一個字符的位置為文檔的字符總數(shù),未提供參數(shù)時全選內(nèi)容。Selection:選區(qū),文檔選擇區(qū)域或者插入點(diǎn)(光標(biāo)閃爍位置),整個文檔只能同時激活一個選區(qū),默認(rèn)插入點(diǎn)在文檔開始位置。
s = app.SelectionFont:包含對象的字體屬性(如字體名稱、字號、顏色等)。
# 獲取選區(qū)或者區(qū)域字體對象 font = s.Font # 或 font = r.Font設(shè)置字體
# 字體設(shè)置為仿宋,電腦上必須安裝有該字體 font.Name = '仿宋' # 字號設(shè)置為三號 font.Size = 16PageSetup:代表頁面設(shè)置對象。?對于 PageSetup 對象作為屬性包含文檔 (如左邊的距、 下邊距和紙張大小) 的所有頁面設(shè)置屬性。
# 獲取頁面設(shè)置對象 ps = doc.PageSetup # 上邊距79磅 ps.TopMargin = 130 # 頁面大小,A3、A4分別為6,7 ps.PaperSize = 6更多對象和屬性設(shè)置可以去官網(wǎng)文檔查看學(xué)習(xí)。
長按二維碼關(guān)注我們
有趣的靈魂在等你
總結(jié)
以上是生活随笔為你收集整理的【python自动化办公01】word操作-新建文档的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CycleGAN非配对图像生成,定制你的
- 下一篇: 【python自动化办公02】word操