创建书签

使用Bookmarks对象的Add方法创建书签。该方法的语法格式为:

code.python
bm=doc.Bookmarks.Add(Name, Range)

其中,doc为当前文档;Name参数是必需的,为表示书签名称的字符串;Range参数可选,表示书签所在的文本字符序列,可以是一个连续的字符序列,也可以是一个插入点;bm为返回的Bookmark对象,即创建的书签。

下面导入win32com包,创建Word应用并使之可见。打开文档test3.docx,在第1段末尾添加一个名为"HERE"的书签。

code.python
>>> import win32com.client as win32
>>> from win32com.client import constants
>>> app=win32.gencache.EnsureDispatch('word.application')
>>> app.Visible=True
>>> doc=app.Documents.Open('D:\\test3.docx')    #打开文档
>>> rng=doc.Range(doc.Paragraphs(1).Range.End-1, \
doc.Paragraphs(1).Range.End-1)    #书签插入点
>>> bm=doc.Bookmarks.Add(Name="HERE",Range=rng)    #添加书签

查看Bookmarks集合中的书签个数。

code.python
>>> doc.Bookmarks.Count
1

在文档中按照11.11.1介绍的步骤打开“书签”对话框,会发现列表中已经添加了一个名为"HERE"的书签。选择它后,单击“定位”按钮,鼠标光标会定位到第1段末尾。

新创建的书签自动添加到Bookmarks集合中,并且按照保存的先后顺序取得索引号。当需要使用其中的某个书签时,可以使用索引号或书签名称进行索引。对于刚刚创建的书签,使用下面两种方式进行索引都是可以的。

code.python
>>> doc.Bookmarks(1)

code.python
>>> doc.Bookmarks('HERE')

使用Bookmarks集合的Exists方法可以判断集合中是否存在指定名称的书签,如果存在,该方法返回True,否则返回False。

code.python
>>> doc.Bookmarks.Exists('Hello')
False

对于创建的Bookmark对象,使用它的属性可以获取更多的信息。下面用Empty属性判断新创建的Bookmark对象bm是否为空,是则返回True,否则返回False。

code.python
>>> bm.Empty
True

用Name属性获取书签的名称。

code.python
>>> bm.Name
'HERE'

用Start属性和End属性设置或获取书签的起始和终止字符位置。

code.python
>>> bm.Start
54
>>> bm.End
54