APP下载

用Python操作Word文档

2019-09-10

电脑报 2019年30期
关键词:编辑器光标样式

一、Hello,world!

使用win32com需要安装pypiwin32

pip install Pypiwin32

推荐使用python的IDLE,交互方便

1.如何新建文档

按F5运行,发现什么效果都没有, 这是因为Word被隐藏了。

2.如何显示Word

app.Visible = 1

运行后,熟悉的Word界面出现。现在来输入文字。

3.如何输入

我们在Word中输入文字时,一般会先使用鼠标点击需要输入文字的位置,这个过程是获得了光标焦点。

当我们需要替换某些文字时,首先会选中某些文字,然后再输入、被选择的文字呈现出灰色的背景,表示被选中了。

光标焦点和选择范围在Word中,都是Selection。什么都没选择的光标焦点,和选择了整篇文章的选择范围,代表了Selection的最小和最大范围。

这也是为什么整个Word中只能有一个Selection的原因。因为光标或者选择范围就只能有一个。此时,s的范围为“Hello, world!”这句话的选择区域。

能如此方便地调用Word,得益于其底层的COM(组件对象模型)可以被任意语言调用。

Selection是Word对象模型中的类,此处的s是它的对象(实例)。

4.如何查看选择区域是什么

s.Text可以查看或者设置s选择区域的文本。Word对象模型中很多对象都有默认属性,Text就是Selection的默认属性,类似Python的__str__方法。运行s()调用s的默认属性,此处等于运行了s.Text。

s()

控制台显示,s的范围为“Hello, world!”这句话的选择区域。

二、对Word对象模型的简单理解

Word中最重要的类(对象)有以下几个。

1. Application对象:Word应用。Application包含了菜单栏、工具栏、命令以及所有文档等。

2. Document对象:文档。可以有多个Document,就像Word可以打开多个文档。

使用下列代码新建文档或者打开文档。

3. Selection对象:选区:代表当前窗口的选区。它可以是文档中的选择(高亮)区域,也可以是插入点(如果没有什么被选中)。同一时间只能激活一个Selection。

如何获得

s = app.Selection

在Word中,按下Alt+F11打开宏编辑器,然后按下F2打开对象浏览器,输入selection并回车,发现成员一列中完全匹配Selection的只有4个类,这表示只有这些类的Selection属性可以返回Selection对象,Application可以用同样的方法查询如何获得。

4.Range对象:连续区域。Range表示一个连续区域。Range由Start和End位置定義,用来区分文档的不同部分。Range是独立于Selection的。不管Selection是否改变,都可以定义和操作Range。文档中可以定义多个Range。这个连续区域同样可以小到一个插入点,大到整个文档。Selection有Range属性,而Range没有Selection属性。

当使用Range(Start, End)方法来指定文档的特定范围时,文档的第一个字符位置为0,最后一个字符的位置和文档的字符总数相等。不提供参数时代表选择所有范围。

5.PageSetup对象:页面设置。代表所有的页面设置属性,包括左边距、底边距、纸张大小等等。

如何获得

同样,其余获得方法可在Word-宏编辑器-对象浏览器中查询。

如何使用

6. Styles对象:样式集。Styles包含指定文档中内置和用户定义的所有样式,它返回一个样式集。其中的每个样式的属性包括字体、 字形、 段落间距等。如常见的正文、页眉、标题1样式。

如何获得

如何使用

Styles的返回参数,标题1、标题2、标题3分别为-2、-3、-4,页眉为-32,标题为-63,其他见Styles文档

三、解决问题思路

因为有很多功能,在文档中难以直接找到,需要使用如下方法。

1.把想实现的功能,使用Word的录制宏,在宏编辑器里查看VBA代码,从而了解大概使用什么方法。

2.使用在线的 .NET API,从而了解详细的语法。

3.如果不知道从哪获得实现该功能的对象,则可以使用Word宏编辑器的对象浏览器(F2键)。

4.使用Python的IDLE进行实时交互,然后输入自己想尝试的对象属性或方法。

四、实例:格式化Word文件为最新的公文国家标准

只进行两个部分的设置,一是页面设置,二是页码设置。

猜你喜欢

编辑器光标样式
司空见惯感觉烦 锁屏画面快走开
在不同的Word文档之间借用样式或格式
编辑精选APP
你距离微信创作达人还有多远?
陈光标 遭遇质疑
这是巴黎发布的新样式
陈光标吃剩饭倒了谁的胃口
睡着笑醒