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

相关推荐
sparEE1 分钟前
c++值类别、右值引用和移动语义
开发语言·c++
zhangjw343 分钟前
第11篇:Java Map集合详解,HashMap底层原理、哈希冲突、JDK1.8优化、遍历方式彻底吃透
java·开发语言·哈希算法
金融大 k25 分钟前
Python 全球指数监控面板:TickDB + REST + WebSocket 完整方案
python·websocket
啊哈哈1213828 分钟前
系统设计复盘:为什么 Agent 的 ReAct 循环必须内嵌确定性保护层——以 FitMind 健康助手的路由与步骤控制为例
人工智能·python·react
benpaodeDD1 小时前
视频10,11,12,13——java程序的加载与执行,安装jdk
java·开发语言
一颗牙牙2 小时前
安装mmcv
开发语言·python·深度学习
大空大地20262 小时前
C#高级语法总结
开发语言·c#
ytttr8732 小时前
DSP 28335 CAN总线通信程序
开发语言·stm32·单片机
大数据魔法师2 小时前
Streamlit(二)- Streamlit 架构与运行机制
python·web
XiYang-DING2 小时前
【Java SE】JVM
java·开发语言·jvm