python修改word的字体

原始文档

0、打开文档

python 复制代码
import win32com.client as win32
from win32com.client import constants
import os

doc_app = win32.gencache.EnsureDispatch('Word.Application')#打开word应用程序
doc_app.Visible = True

curr_path = os.getcwd()
file_path = r'%s\示例文档.docx'%curr_path
doc = doc_app.Documents.Open(file_path)

1、修改第2段整个段落的字体

python 复制代码
#修改第2段整个段落的字体
parag = doc.Paragraphs(2)
parag_range = parag.Range
parag_range.Font.Name = "宋体"

红色箭头的段落字体已经变为宋体。

2、修改段内部分字体

将第二段的第2个到第12的字符大小调为20

python 复制代码
#修改段内部分字体
selected_range = parag_range
selected_range.SetRange(Start=parag_range.Start+2,End=parag_range.Start+12)
selected_range.Font.Size = 20

红框中的字体被调大了。

3、使用样式设置字体

python 复制代码
parag = doc.Paragraphs(3)
parag_range = parag.Range
selected_range.SetRange(Start=parag_range.Start+5,End=parag_range.Start+8)
selected_range.Select() #选中文字
selected_range.Style = doc.Styles("正文")

但是第3段整体的style都变为了正文。这个有点不符合预期。

相关推荐
Mr.Jessy1 小时前
JavaScript高级:构造函数与原型
开发语言·前端·javascript·学习·ecmascript
云栖梦泽3 小时前
鸿蒙应用签名与上架全流程:从开发完成到用户手中
开发语言·鸿蒙系统
哥本哈士奇(aspnetx)4 小时前
Streamlit + LangChain 1.0 简单实现智能问答前后端
python·大模型
爱上妖精的尾巴4 小时前
6-4 WPS JS宏 不重复随机取值应用
开发语言·前端·javascript
我一定会有钱5 小时前
斐波纳契数列、end关键字
python
小鸡吃米…6 小时前
Python 列表
开发语言·python
kaikaile19956 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿6 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
rit84324996 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
星依网络6 小时前
yolov5实现游戏图像识别与后续辅助功能
python·开源·游戏程序·骨骼绑定