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


  1. Python操作Word(Win32com)https://zhuanlan.zhihu.com/p/67543981

  2. Office VBA 参考https://docs.microsoft.com/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 os
from win32com.client import Dispatch, DispatchEx# 获取当前路径
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
# 文档开始位置插入内容
doc_range1 = doc.Range(0, 0)
doc_range1.InsertBefore('hello python word doc!')
# 文档末尾位置插入内容
doc_range2 = doc.Range()
doc_range2.InsertAfter(' word end')
# 在文档指定位置添加内容
i = 5
doc_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,7
ps.PaperSize = 6

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

长按二维码关注我们

有趣的灵魂在等你

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

  1. python 手机自动化操作_Python自动化办公之word操作

    Python自动化办公之word操作,主要是用到python-docx库,针对word操作,对大批量重复性工作,使用python可以节省大量的时间和经历 python-docx word文档中的文字有 ...

  2. 2021-01-26 Python自动化办公-处理word文档

    Python自动化办公-处理word文档 年底项目投标,需要整理大量的内容,标书的很多内容是其实是之前的标书重复的,可以把对应的各个部分内容合并,然后再处理格式等.如果采用常规操作每次操作需要打开子目 ...

  3. Python自动化办公:word文件操作教程

    在后台回复[阅读书籍] 即可获取python相关电子书~ Hi,我是山月. 之前给大家完整的介绍了用python操作excel的几个库:xlrd.xlwt.openpyxl. 山月也已经整理好了,还没 ...

  4. Python自动化办公之Word,全网最全看这一篇就够了

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 作者丨超级大洋葱806 https://tangxing.blog.csdn.net/article/d ...

  5. Python自动化办公之Word,全网最全看这一篇就够了!

    环境安装 使用Python操作word大部分情况都是写操作,也有少许情况会用到读操作,在本次教程中都会进行讲解, 本次课程主要用到以下4个库,请大家提前安装. PS:如有需要Python学习资料的小伙 ...

  6. python自动化办公:word篇。职场高手不是梦。

    工具包安装 使用的库:docx python 没有自带.需要安装. 若运行出现:ModuleNotFoundError: No module named 'exceptions' 则说明安装失败,需要 ...

  7. Python自动化办公 - 对Word的操作(Python-docx的基本使用)

    1 安装模块 Windows用户打开命令行输入:pip install python-docx Mac用户打开终端/Terminal输入:pip3 install python-docx 导入模块:i ...

  8. python word 表格 框线_Python 自动化办公 | 将 Word 表格转为 Excel

    原标题:Python 自动化办公 | 将 Word 表格转为 Excel 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共 ...

  9. python自动化办公:excel篇,从此做表不加班。

    表格讲解 表格格式 表格分为:工作簿,工作表,单元格 如图:整个文件就是一个工作簿,下面的 zhengjiang_power 和sheet1为工作表. xlrd +xlwt读写表格 因为电脑右键新建的 ...

最新文章

  1. 我的WCF之旅 (11): 再谈WCF的双向通讯-基于Http的双向通讯 V.S. 基于TCP的双向通讯...
  2. 括号配对问题_栈stack
  3. vc2010 mysql5.7_VC2010利用MySQL++访问mysql. 及连接池示例
  4. 【今日CV 视觉论文速览】 13 Feb 2019
  5. 如何给自己的个人博客添加一个呆萌的live-2d博客精灵/看板娘
  6. 情爱难剪断,菩提树下悟佛缘
  7. 能玩游戏的计算机名字,没有手机和电脑时,孩子们最喜欢的游戏,简单却能玩上一整天!...
  8. Kotlin 循环控制(七)
  9. 问题 B: 算术基本运算 山东科技大学 oj c语言
  10. QT造类器(操作简单)
  11. Qwins系统工具v1.3.0绿色版
  12. 一次搞懂清晰度、对比度以及锐化的区别
  13. 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录V3.0【附下载地址】
  14. Kali渗透-DNS域名劫持与钓鱼
  15. 基于Python的人脸识别(68个识别点)和焦点人物检测
  16. 连续仨月霸占牛客榜首!京东T8呕心巨作:700页JVM虚拟机实战手册
  17. 植物大战僵尸通关进度
  18. 华人泰斗黄煦涛逝世,贤伉俪深情六十载
  19. Kubernetes Kubelete 报错 ctr: failed to create shim task: OCI runtime create failed
  20. Spring--官方文档部分翻译(第一章)

热门文章

  1. cad连接不同线段的端点_CAD绘图中两条线段快速无缝平齐对接
  2. 设置gbk_我的gVim设置
  3. css 图片换行_这个开源库教你写高级的CSS
  4. 【Python】B 站上这些 Python 视频真香!
  5. 【数学基础】从零构建统计随机变量生成器之离散基础篇
  6. 为什么越来越多的程序员开始学机器学习?揭秘一个重要原因
  7. 【深度学习】深度学习模型训练全流程!
  8. 真相了!算法工程师的一天
  9. 总结一下模型工程化部署的几种方式
  10. 【CV】大盘点 | 性能最强的目标检测算法