本课程《win32com操作word API精讲&项目实战》,本公众号以文字分享为主,B站与视频号则发布视频分享,ID均为:一灯编程
本集开始,将会深入Document
接口。打开或创建一个文档都会产生一个Document
对象,它代表文档本身,所以绝大部分文档的操作都会依赖该接口,它的属性和方法共计374
个!说不上很多,但它大部分的接口和属性都是一个个独立接口封装而成的。
但不必担忧,官方的文档中显示,有一部分接口是用于客户端级编程的,我们只需要学习部分接口足以满足各种类型的文档级开发需求了。
Range是什么
这是本节课要讲的接口,它是Document的方法,但其本身也是一个独立的接口,方法和属性共计183个。Range
这个接口简直是word接口中的劳模。它表示资源选中或插入点,可以理解为一个看不见的鼠标,但它比鼠标的作用强大多了。官方也提供了Selection
接口,这是正儿八经的鼠标,它能和鼠标交互,个人认为Selection
适合用在客户端级开发
的场景,文档级开发
的场景还是Range
好用。
Range的作用
操作文档中的资源,如选中一段文字,在实操中,得先鼠标选中文字。在word编程中,使用Range
就能实现资源的选中,Selection
是单例模式
,Range
可不是,最近的一个Range
实例不会覆盖前面的实例,每个实例都是独立存在的。
Range声明范围的三种形式
from win32com.client import Dispatch
client = Dispatch('word.Application')
client.Visible = 1
# 创建一个文档 返回一个Document对象 操作文档就必须要操作Document
doc = client.Documents.Add()
此时,客户端上已经创建了一个新文档,为了方便演示,先在文档中粘贴一段新闻:
总部大楼内唯一对外开放的部分,是著名的火器博物馆。它共有15个展室,收藏着3000件曾经叱咤美国各个历史时期的著名枪械和部分外国名枪。其中,“前总统收藏专区”更是显示出这一协会与美国政界的紧密联系。在美国历史上,有九位总统曾是该协会的会员,分别是:格兰特、西奥多·罗斯福、塔夫脱、艾森豪威尔、肯尼迪、尼克松、里根、老布什。还有一位,就是上任总统特朗普。要让这么多总统站台,背后往来的金钱可不是小数目。数据显示,美国全国步枪协会在2016年