2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【python自动化办公01】word操作-新建文档

【python自动化办公01】word操作-新建文档

时间:2024-01-29 02:00:39

相关推荐

【python自动化办公01】word操作-新建文档

点击上方“AI搞事情”关注我们

Python操作Word(Win32com)/p/67543981

Office VBA 参考/zh-cn/office/vba/api/overview

win32com 模块主要为 Python 提供调用 windows 底层com组件的操作的功能,COM 组件为微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一套接口规范,很多大型软件都使用 COM 来提供 API,不过目前只在windows上用。COM组件可以是一个Dll(进程内组件),也可以是一个EXE(进程外组件),一个COM组件可以包含多个COM对象,一个COM对象又可以有多个接口。

MS Office、WPS 都可以通过底层com组件对其进行调用,相比于python-docx、pydocx或者修改docx的xml文件,win32com可以直接使用VBA的相关接口,灵活性更好,适用性更高。

一、安装

pip install pypiwin32

二、新建文档

import osfrom win32com.client import Dispatch, DispatchEx# 获取当前路径pwd = os.getcwd()# app = DispatchEx('Word.Application') # MS wordapp = DispatchEx("Kwps.Application") # WPS# 新建word文档doc = app.Documents.Add()# 打开文档# doc = app.Documents.Open('文档路径')# 显示更新界面app.Visible = Trueapp.ScreenUpdating = True# 文档开始位置插入内容doc_range1 = doc.Range(0, 0)doc_range1.InsertBefore('hello python word doc!')# 文档末尾位置插入内容doc_range2 = doc.Range()doc_range2.InsertAfter(' word end')# 在文档指定位置添加内容i = 5doc_range3 = doc.Range(0, i)doc_range3.InsertAfter(" insert position i")# 必须使用绝对路径进行保存和另存# doc.Save() # 如果文档以前未保存过,则 “另存为” 对话框将提示用户键入文件名。doc.SaveAs(os.path.join(pwd, 'python_word.docx'))# 关闭 word 文档doc.Close()# 关闭软件app.Quit()

至此,在当前路径下创建了名为python_word.docx的word文件,包含内容:hello insert position i python word doc!word end

三、word相关对象

图片

Application:表示 Word 应用程序。Application 对象包含可返回顶级对象的属性和方法,包含菜单栏、工具栏、命令以及所有文档。

两种方式获取Application对象:

Dispatch:新建实例

DispatchEx:启动独立的进程

Documents:文档对象,可以存着多个Document,相当于word打开多个文档。

两种方式获取文档对象:

# 新建文档doc = app.Documents.Add()# 打开文档doc = app.Documents.Open('Word文件路径')**Range**(Start, End)方法来指定文档的特定范围,文档第一个字符位置为0,最后一个字符的位置为文档的字符总数,未提供参数时全选内容。

Selection:选区,文档选择区域或者插入点(光标闪烁位置),整个文档只能同时激活一个选区,默认插入点在文档开始位置。

s = app.Selection

Font:包含对象的字体属性(如字体名称、字号、颜色等)。

# 获取选区或者区域字体对象font = s.Font# 或font = r.Font

设置字体

# 字体设置为仿宋,电脑上必须安装有该字体font.Name = '仿宋'# 字号设置为三号font.Size = 16

PageSetup:代表页面设置对象。对于 PageSetup 对象作为属性包含文档 (如左边的距、 下边距和纸张大小) 的所有页面设置属性。

# 获取页面设置对象ps = doc.PageSetup# 上边距79磅ps.TopMargin = 130# 页面大小,A3、A4分别为6,7ps.PaperSize = 6

更多对象和属性设置可以去官网文档查看学习。

长按二维码关注我们

有趣的灵魂在等你

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。