生活随笔
收集整理的這篇文章主要介紹了
python调用 ole:win32com用法详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
要使用win32com需要安裝win32模塊
我是通過pip install pypiwin32安裝的(安裝文件是pypiwin32而不是pywin32)
很多函數(shù)需要用到word里面自帶常量,這就需要通過
?
# -*- coding: utf-8 -*-
import os
from win32com.client import Dispatch#下面三句是為了能取得系統(tǒng)自帶常量
from win32com.client import constants as con
from win32com.client.gencache import EnsureDispatch
EnsureDispatch('Word.Application')pwd=os.getcwd()
wdApp=Dispatch('Word.Application')
wdDoc=wdApp.Documents.Open(pwd+r'\test.docx')wdApp.Visible=1
#myRange = wdDoc.Range(0,0)
#myRange.InsertBefore('Hello from Python!')OldStr="Apple"
NewStr = "pearl"
wdApp.Selection.Find.ClearFormatting()
wdApp.Selection.Find.Replacement.ClearFormatting()
wdApp.Selection.Find.Execute(OldStr, False, False, False, False, False, True, 1, True, NewStr, 2)#Selection需要通過wdApp去引用
#wdDoc.Range(wdDoc.Paragraphs(2).Range.Start,wdDoc.Paragraphs(2).Range.End-1).Select()
#wdApp.Selection.Delete()
#for i in range(0,10):# wdApp.Selection.Range.ModifyEnclosure(Style=con.wdEncloseStyleLarge, Symbol=con.wdEnclosureSquare, EnclosedText=str(i))# wdApp.Selection.Move()
wdDoc.Save()
wdDoc.Close()
wdApp.Quit()
import win32com
from win32com.client import Dispatch, constantsw = win32com.client.Dispatch('Word.Application')
# 或者使用下面的方法,使用啟動獨(dú)立的進(jìn)程:
# w = win32com.client.DispatchEx('Word.Application')# 后臺運(yùn)行,不顯示,不警告
w.Visible = 0
w.DisplayAlerts = 0# 打開新的文件
doc = w.Documents.Open( FileName = filenamein )
# worddoc = w.Documents.Add() # 創(chuàng)建新的文檔# 插入文字
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() # 增加一行# 轉(zhuǎn)換為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()# 關(guān)閉
# doc.Close()
w.Documents.Close(wc.wdDoNotSaveChanges)
w.Quit()
?
總結(jié)
以上是生活随笔為你收集整理的python调用 ole:win32com用法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。