其实用ActiveDocument.GoTo也是可以的,例如
procedure TForm1.Button11Click(Sender: TObject);
var
What,Which,Count,Name : OleVariant;
rng : Word2000.Range;
begin
What := wdGoToBookmark;
Which := EmptyParam;
Count := EmptyParam;
Name := 'abc';
rng := WordDoc.GoTo_(What,Which,Count,name);
rng.Select;
end;
为什么可以看看下面文字蓝色部分.
以上解释是根据 VBAWRD9.CHM,如果你的office是完全安装的,可以找到这些
VBA**.CHM的文件,是VBA控制Office的十分详尽的手册.至于下面罗列的一些
wd开头的常量,可以到Word2000.pas或者Word97.pas中找到.
========================================================================
GoTo 方法
[blue]对于 Document 或 Range 对象:返回一个 Range 对象,
该对象代表指定项(例如页、书签或域)的开始位置。
对于 Selection 对象:将插入点移至指定项前面的字符位置,并返回一个
Range 对象(但 wdGoToGrammaticalError、wdGoToProofreadingError 或
wdGoToSpellingError 常量除外)。[/blue]
注意
将本方法用于 wdGoToGrammaticalError、wdGoToProofreadingError 或
wdGoToSpellingError 常量时,返回的 Range 对象中包括所有含语法或
拼写错误的文本。
[red]语法[/red]
expression.GoTo(What, Which, Count, Name)
expression 必需。该表达式返回一个 Document、Range 或 Selection 对象。
What Variant 类型,可选。该区域或所选内容将移至的项的类型。可以取下列 WdGoToItem 常量之一:
wdGoToBookmark wdGoToComment
wdGoToEndnote wdGoToEquation
wdGoToField wdGoToFootnote
wdGoToGrammaticalError wdGoToGraphic
wdGoToHeading wdGoToLine
wdGoToObject wdGoToPage
wdGoToPercent wdGoToProofreadingError
wdGoToSection wdGoToSpellingError
wdGoToTable
Which Variant 类型,可选。区域或所选内容要移至的项。可以取下列WdGoToDirection 常量之一:
wdGoToAbsolute、wdGoToFirst、wdGoToLast、
wdGoToNext、wdGoToPrevious 或 wdGoToRelative。
下面的示例的作用相同,都将所选内容移至文档的第一个标题。
Selection.GoTo What:=wdGoToHeading, Which:=wdGoToFirst
Selection.GoTo What:=wdGoToHeading, Which:=wdGoToAbsolute, Count:=1
Count Variant 类型,可选。文档中的项数。默认值为 1。
下面的示例将所选内容移至文档中的第四行。
Selection.GoTo What:=wdGoToLine, Which:=wdGoToAbsolute, Count:=4
只有正数是有效的。要指定一个在该区域或所选内容之前的项,可将 Which 参数
值指定为 wdGoToPrevious,并指定一个 Count 值。下面的示例将所选内容向上
移动两行。
Selection.GoTo What:=wdGoToLine, Which:=wdGoToPrevious, Count:=2
Name Variant 类型,可选。如果 What 参数是wdGoToBookmark、wdGoToComment、
wdGoToField 或 wdGoToObject,则本参数指定名称。下面的示例移至下一个 DATE 域。
Selection.GoTo What:=wdGoToField, Name:="Date"