研究一下,利用win32com操作 word
WORD中最重要的概念有几个:
Application - 这个毫无疑问是我们的WORD应用程序
Document - 这个就是一个打开的文档对象
Range - 基本上所有对象都是有Range属性的,而这也为我们排版提供了极大的便利。。。
Paragraph - 顾名思义,这个是段落的意思,也就是我们文档中的一个段内容(可以是文本、图片等)。
Section - 怎么才能插入一个新的页,然后在新页上开始输出内容。。。
ParagraphFormat - 这个是为了设置格式的,你不可能不使用它。。。
from win32com.client import Dispatch
import win32com.client
# coding=utf-8
import win32com
from win32com.client import Dispatch, DispatchEx
wordApp = Dispatch('Word.Application') # 打开word应用程序
# word = DispatchEx('Word.Application') #启动独立的进程
wordApp.Visible = 0 # 后台运行,不显示
wordApp.DisplayAlerts = 0 # 不警告
path = r"C:\Users\admin\Desktop\demo.doc" # word文件路径
doc = wordApp.Documents.Open(FileName=path, Encoding='gbk')
# content = doc.Range(doc.Content.Start, doc.Content.End)
# content = doc.Range()
print('----------------')
print ('段落数: ', doc.Paragraphs.count)
# 利用下标遍历段落
for i in range(len(doc.Paragraphs)):
para = doc.Paragraphs[i]
print (para.Range.text)
print ('-------------------------')
# 直接遍历段落
for para in doc.paragraphs:
print (para.Range.text)
# print para #只能用于文档内容全英文的情况
doc.Close() # 关闭word文档
# word.Quit #关闭word程序
1 importwin32com2 from win32com.client importDispatch, constants3 deffu(filename):4 wordApp = Dispatch('Word.Application') #打开word应用程序
5 #word = DispatchEx('Word.Application') #启动独立的进程
6 wordApp.Visible = 0 #后台运行,不显示
7 wordApp.DisplayAlerts = 0 #不警告
8 doc = wordApp.Documents.Open(filename, Encoding='gbk')9 #content = doc.Range(doc.Content.Start, doc.Content.End)
10 #content = doc.Range()
11 print('表格数:', doc.Tables.count)12 #doc.Tables(1).Rows(1).Cells(2).Range.Text="修改1表格