2006年12月16日星期六

Word中的预定义书签

这几个月一直在干一个从别人手里接过来的项目,在这个项目中涉及到了对Word的编程。以前一直没有接触过这方面的知识,对VBA的对象模型也不熟悉。所以在阅读已有代码的时候就很费劲,修改起来也很小心,尽量不去做大的改动。因为时间的缘故这个项目主要都是利用下班后在家的晚上时间来进行,所以也没有花费太多时间去研究VBA方面的知识。
最近几天由于要修改一个关键的Bug查阅了很多和VBA相关的知识,尤其是今天知道了Word中的预定义书签是怎么一回事。
在已有的代码中很多地方都用到了BookMark这个类,而且还引用了一个固定的名字“\Page”,我一直对这个名字为“\Page”的BookMark很困惑,今天从微软网站搜到一篇文章(文章编号:166861)才明白了“\Page”原来是Word中预定义好的书签,它代表当前页。

下表描述了 Word 中提供预定义书签:

  Bookmark         Description
-------------------------------------------------------------------------

\Sel Current selection or the insertion point.

\PrevSel1 Most recent selection where editing occurred; going to
this bookmark is equivalent to running the GoBack method
once.

\PrevSel2 Second most recent selection where editing occurred;
going to this bookmark is equivalent to running the
GoBack method twice.

\StartOfSel Start of the current selection.

\EndOfSel End of the current selection.

\Line Current line or the first line of the current selection.
If the insertion point is at the end of a line that is
not the last line in the paragraph, the bookmark includes
the entire next line.

\Char Current character, which is the character following the
insertion point if there is no selection, or the first
character of the selection.

\Para Current paragraph, which is the paragraph containing the
insertion point or, if more than one paragraph is
selected,the first paragraph of the selection. Note that
if the insertion point or selection is in the last
paragraph of the document, the "\Para" bookmark does not
include the paragraph mark.

\Section Current section, including the break at the end of the
section, if any. The current section contains the
insertion point or selection. If the selection contains
more than one section, the "\Section" bookmark is the
first section in the selection.

\Doc Entire contents of the active document, with the
exception of the final paragraph mark.

\Page Current page, including the break at the end of the page,
if any. The current page contains the insertion point. If
the current selection contains more than one page, the
"\Page" bookmark is the first page of the selection. Note
that if the insertion point or selection is in the last
page of the document, the "\Page" bookmark does not
include the final paragraph mark.

\StartOfDoc Beginning of the document.

\EndOfDoc End of the document.

\Cell Current cell in a table, which is the cell containing the
insertion point. If one or more cells of a table are
included in the current selection, the "\Cell" bookmark
is the first cell in the selection.

\Table Current table, which is the table containing the
insertion point or selection. If the selection includes
more than one table, the "\Table" bookmark is the entire
first table of the selection, even if the entire table is
not selected.

\HeadingLevel The heading that contains the insertion point or
selection, plus any subordinate headings and text. If the
current selection is body text, the "\HeadingLevel"
bookmark includes the preceding heading, plus any
headings and text subordinate to that heading.

0 comments: