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都变为了正文。这个有点不符合预期。

相关推荐
肖永威1 小时前
Python多业务并行计算框架插件化演进:从硬编码到动态注册
python·插件化·并行计算·动态注册
yz_aiks1 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
threelab1 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师721 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
不知名的老吴1 小时前
线程的生命周期之线程“插队“
java·开发语言·python
kaikaile19952 小时前
数字全息图处理系统(C# 实现)
开发语言·c#
xsc6996753 小时前
从零搭建大模型与智能体平台 - 完整技术详解
python
秋93 小时前
Go语言(Golang)开发工程师全景解析:岗位职责·语言优势与使用场景·各城市薪资·发展前景·高考志愿填报(2026版)
开发语言·golang·高考
无风听海4 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask