python实现在windows下操作word的方法

yipeiwu_com5年前Python基础

本文实例讲述了python实现在windows下操作word的方法。分享给大家供大家参考。具体实现方法如下:

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程序设计有所帮助。

相关文章

Python实现动态添加属性和方法操作示例

本文实例讲述了Python实现动态添加属性和方法操作。分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #!python3 class Person()...

Python流程控制 while循环实现解析

Python流程控制 while循环实现解析

一、语法 while 条件: 执行代码 while就是当的意思,它指当其后面的条件成立,就执行while下面的代码。 例:写一个从0打印到10的程序 count = 0 whi...

python 获取当天每个准点时间戳的实例

实例如下所示: import time,datetime def gettime(): for x in range(24): a = datetime.d...

Python多进程池 multiprocessing Pool用法示例

本文实例讲述了Python多进程池 multiprocessing Pool用法。分享给大家供大家参考,具体如下: 1. 背景 由于需要写python程序, 定时、大量发送htttp请求...

python-视频分帧&多帧合成视频实例

我就废话不多说了,直接上代码吧! 1.视频分帧: import cv2 vidcap = cv2.VideoCapture('005.avi') success,image = v...