GetAutoCorrect$()  示例

该示例选取自动更正项“uk”的替换文字。如果替换文字与“United Kingdom”不匹配，则把自动更正项的内容改成“United Kingdom”。

If GetAutoCorrect$("uk") <> "United Kingdom" Then

ToolsAutoCorrect .Replace = "uk", \

.With = "United Kingdom", .Add

End If


GetAutoCorrect$()

示例

GetAutoCorrect$(AutoCorrectEntry$)

返回在“工具”菜单的“自动更正”对话框中的“替换”栏中指定项的替换文字。如果 AutoCorrectEntry$ 不存在，GetAutoCorrect$() 返回空字符串 ( 摂 ) 。

参数	解释
AutoCorrectEntry$	为“自动更正”对话框中的“自动更正”项的“替换”栏中指定的文本。AutoCorrectEntry$ 不区分大小写。例如：更正项“GW”即可指定为“GW”，也可指定为“gw”。
_____________

请参阅

自动更正语句和函数

ToolsAutoCorrect


ToolsAutoCorrect  示例

该示例添加替换项并激活文字的自动替换。

ToolsAutoCorrect .ReplaceText = 1, .Replace = "sr", \

.With = "Stella Richards", .Add


ToolsAutoCorrect

示例

ToolsAutoCorrect [.InitialCaps = number] [, .SentenceCaps = number] [, .Days = number] [, .CapsLock = number] [, .ReplaceText = number] [, .Formatting = number] [, .Replace = text] [, .With = text] [, .Add] [, .Delete] [, .SmartQuotes = number]

设置“自动更正”选项。ToolsAutoCorrect 语句的参数对应“工具”菜单的“自动更正”对话框中的选项。

参数	解释
.InitialCaps	如果是 1，Word 更正前两个字母是大写的单词。例如：将“WOrd”更正为“Word”。
.SentenceCaps	如果是 1，Word 将新句的首字母设为大写。
.Days	如果是 1，Word 将一星期中每天的首字母设为大写。例如：将“tuesday”变为“Tuesday”。
.CapsLock	如果是1，Word 更正在  CAPSLOCK 键按下时键入的内容。
.ReplaceText	如果是 1，激活文字的自动替换。
.Formatting	如果是 1，添加替换项时，格式随替换文字保存；只有在运行前选定了文字才有效。
.Replace	要用 .With 指定的文字来自动替换的文字（例如：姓名缩写）。
.With	键入 .Replace 指定的文字时需要自动插入的文字（例如：姓名全称）。
.Add	将由 .Replace 和 .With 指定的文字添加至替换项列表。
.Delete	删除 .Replace 指定的替换项。
.SmartQuotes	如果是 1，Word 插入弯引号（“”和‘’）和撇号（�）。
_____________

请参阅

自动更正语句和函数

ToolsAutoCorrectCapsLockOff

ToolsAutoCorrectDays

ToolsAutoCorrectInitialCaps

ToolsAutoCorrectReplaceText

ToolsAutoCorrectSentenceCaps

ToolsAutoCorrectSmartQuotes


ToolsAutoCorrectDays, ToolsAutoCorrectDays()

ToolsAutoCorrectDays [On]

ToolsAutoCorrectDays()

ToolsAutoCorrectDays 语句选中或清除“工具”菜单“自动更正”对话框中“日期大写”复选方框。

参数	解释
on	指定是否选定或清除该复选框： 1 选中复选框 0 清除复选框 省略 切换复选框
ToolsAutoCorrectDays() 函数返回下列值：

值	解释
0	若清除“日期大写”复选框
-1	若选中“日期大写”复选框
_____________

请参阅

自动更正语句和函数

ToolsAutoCorrect


ToolsAutoCorrectInitialCaps, ToolsAutoCorrectInitialCaps()

ToolsAutoCorrectInitialCaps [On]

ToolsAutoCorrectInitialCaps()

ToolsAutoCorrectInitialCaps 语句选中、清除或切换“工具”菜单的“自动更正”对话框中的“更正连续两个大写字母”复选框。ToolsAutoCorrectInitialCaps() 函数返回关于复选框状态的信息。参数和返回值的详情请参阅 ToolsAutoCorrectDays.。

___________________________

请参阅

自动更正语句和函数

ToolsAutoCorrect

ToolsAutoCorrectDays


ToolsAutoCorrectReplaceText, ToolsAutoCorrectReplaceText()

ToolsAutoCorrectReplaceText [On]

ToolsAutoCorrectReplaceText()

ToolsAutoCorrectReplaceText 语句选中、清除或切换“工具”菜单的“自动更正”对话框中的“键入时自动替换”复选框。ToolsAutoCorrectReplaceText() 函数返回关于复选框状态的信息。参数和返回值的详情请参阅：

ToolsAutoCorrectDays.

_____________

请参阅

自动更正语句和函数

ToolsAutoCorrect

ToolsAutoCorrectDays


ToolsAutoCorrectSentenceCaps, ToolsAutoCorrectSentenceCaps()

ToolsAutoCorrectSentenceCaps [On]

ToolsAutoCorrectSentenceCaps()

ToolsAutoCorrectSentenceCaps 语句选中、清除或切换“工具”菜单的“自动更正”对话框中的“句首字母大写”复选框。 ToolsAutoCorrectSentenceCaps() 函数返回关于复选框状态的信息。参数和返回值的详情请参阅：

ToolsAutoCorrectDays.

_____________

请参阅

自动更正语句和函数

ToolsAutoCorrect

ToolsAutoCorrectDays


ToolsAutoCorrectSmartQuotes, ToolsAutoCorrectSmartQuotes()

ToolsAutoCorrectSmartQuotes [On]

ToolsAutoCorrectSmartQuotes()

ToolsAutoCorrectSmartQuotes 语句选中、清除或切换“工具”菜单的“自动更正”对话框中的“将直引号变为弯引号”复选框。ToolsAutoCorrectSmartQuotes() 函数返回有关复选框状态的信息。参数和返回值的详情可参阅 ToolsAutoCorrectDays.。

_____________

请参阅

自动更正语句和函数

ToolsAutoCorrect

ToolsAutoCorrectDays


自动宏

给宏起一个特殊的名称，则在启动 Word 或打开文档时，该宏就会自动运行。Word 将下列名称确认为自动宏。

宏名	运行时间
AutoExec	启动 Word 时
AutoNew	新建文档时
AutoOpen	打开已有文档时
AutoClose	关闭文档时
AutoExit	退出 Word 时
就像其它宏一样，自动宏既可定义为共用，也可为特定模板定义。唯一的例外是 AutoExec 宏，除非它保存在 Normal 模板或某个共用模板中（这两种模板保存在 Startup 文件夹的文件夹中），否则不会自动运行。

提示

按住 SHIFT 键可防止自动宏运行。例如，如果用含有 AutoNew 宏的模板创建新文档，在单击“文件”菜单的“新建”对话框中的“确定”按钮时，可按住 SHIFT 键，以防 AutoNew 宏运行，然后按住 SHIFT 键直至新文档显示。在可能激发自动宏的宏中，可用  DisableAutoMacros 来防止自动宏运行。


AutoText

AutoText

显示自动图文集对话框。如果有选定部分，最多前 32 个字母被推荐为词条名称。如果没有选定部分，在插入点之前或周围用自动图文集词条来匹配文字，并插入该词条（如果它带格式，还包括格式）。Word 先在活动模板中寻找该词条，然后是 Normal 模板，最后是按“文件”菜单的“模板和加载项”对话框中所列顺序在每个已装载的共用模板中查找。如果不能匹配，就会产生错误。AutoText 对应常用工具栏上的“自动图文集”按钮。

_____________

请参阅

自动图文集语句和函数

AutoTextName$()

CountAutoTextEntries()

EditAutoText

GetAutoText$()

InsertAutoText

SetAutoText


AutoTextName$() 示例

该示例新建一个文档，列出 Normal 模板和所有共用模板中的自动图文集词条。词条名称用粗体格式插入，其后跟该词条的内容。

FileNewDefault

For count = 1 To CountAutoTextEntries()

a$ = AutoTextName$(count)

Bold 1 : Insert a$

InsertPara

Bold 0 : EditAutoText .Name = a$, .Insert

InsertPara : InsertPara

Next


AutoTextName$()

示例

AutoTextName$(Count [, Context])

返回 Context 指定部分的自动图文集词条名称。

参数	解释
Count	自动图文集词条的序号，从 1 至定义于所给内容中的自动图文集词条总数（用 CountAutoTextEntries()  可得到该总数）。
Context	要返回自动图文集词条名称的内容： 0 或忽略    Normal 模板和加载的共用模板 1           活动模板 注意：如果 Context 是1，并且活动模板是 Normal 模板， AutoTextName$() 会导致错误。
____________________________

请参阅

自动图文集语句和函数

AutoText

CountAutoTextEntries()

EditAutoText

GetAutoText$()

InsertAutoText

SetAutoText


CountAutoTextEntries()

CountAutoTextEntries([Context])

返回 Context 中定义的自动图文集词条数目。

参数	解释
Context	要统计自动图文集词条数的部分。 0 或忽略  Normal 模板和加载的 共用模板 1 活动模板 注意：如果 Context 是 1，并且活动模板是 Normal 模板，CountAutoTextEntries() 会返回 0。
示例请参阅 AutoTextName$() 示例。

____________________

请参阅

自动图文集语句和函数

AutoTextName$()

GetAutoText$()


EditAutoText 示例

该示例选定首段文字（不包括段落标记），然后将其定义为自动图文集词条，名为“MainHead”，并存于 Normal 模板中。

EditGoTo "\Para"

CharLeft 1, 1

EditAutoText .Name = "MainHead", .Context = 0, .Add

以下示例不带格式插入自动图文集词条“MainHead”：

EditAutoText .Name = "MainHead", .InsertAs = 1, .Insert


EditAutoText

示例

EditAutoText .Name = text [, .Context = number]  [, .InsertAs = number] [, .Insert] [, .Add] [, .Delete]

插入、添加或删除自动图文集词条。EditAutoText 语句的参数对应“编辑”菜单“自动图文集”对话框中的选项。

参数	解释
.Name	自动图文集词条的名称。
.Context	新自动图文集词条存于何处： 0或忽略  Normal 模板 1        活动模板 注意：只有在 Word 添加自动图文集词条时才能用 .Context。插入或删除词条时，Word 自动寻找该词条（先在活动模板中，然后是 Normal 模板）。在插入词条且活动模板或 Normal 模板中没有匹配词条时，Word 会按在“文件”菜单的“模板和加载项”对话框中所列顺序，在每个加载的共用模板中寻找该词条。不能从加载的共用模板中删除自动图文集词条。
.InsertAs	.Insert 用于控制插入该词条时是否带格式： 0或忽略  插入词条时带格式 1        以纯文本方式插入词条
下列参数只能选择其一。

参数	解释
.Insert	将词条插入文档。
.Add	将词条存入模板（如果没有选定部分，会发生错误）。
.Delete	从模板删除词条。
如果不指定 .Insert、.Add 或 .Delete，Word 会插入自动图文集词条。

_________________

请参阅

自动图文集语句和函数

AutoText

AutoTextName$()

CountAutoTextEntries()

GetAutoText$()

InsertAutoText

SetAutoText


GetAutoText$() 示例

该示例显示一个消息框，在消息框中显示名为“Welcome”的自动图文集词条（保存在活动模板中）包含的文本：

MsgBox GetAutoText$("Welcome", 1)


GetAutoText$()

示例

GetAutoText$(Name$ [, Context])

返回指定的自动图文集词条包含的无格式文本。

参数	解释
Name$	自动图文集词条的名称。
Context	自动图文集词条保存于： 0 或忽略  Normal 模板和加载 的共用模板 1 活动模板 注意：如果 Context 是1，且活动模板为 Normal 模板， GetAutoText$() 返回一个空字符串 (摂) 。
_____________________

请参阅

自动图文集语句和函数

AutoText

AutoTextName$()

CountAutoTextEntries()

EditAutoText

InsertAutoText

SetAutoText


InsertAutoText

InsertAutoText

用自动图文集词条匹配当前选定内容或插入点之前或周围的文字，并插入词条（如果有格式，则包括其格式）。Word 先在活动模板中寻找该词条，然后在 Normal 模板中查找，最后按“文件”菜单“模板和加载项”对话框中所列顺序在每个加载的共用模板中查找。如果不能匹配，将发生错误。

_____________________

请参阅

自动图文集语句和函数

AutoText

AutoTextName$()

CountAutoTextEntries()

EditAutoText

GetAutoText$()

SetAutoText


SetAutoText 示例

该示例在活动模板中定义自动图文集词条“Disclaim”，“Disclaim”包含指定给 text$ 的文字。

text$ = "No warranty is either expressed or implied."

SetAutoText "Disclaim", text$, 1


SetAutoText

示例

SetAutoText Name$, Text$ [, Context]

定义纯文本的自动图文集词条。与用 .Add 的 EditAutoText 指令不同，SetAutoText 指令不需要选定。

参数	解释
Name$	新词条的名称
Text$	与词条相关的文字
Context	指定词条的有效范围： 0或忽略 Normal 模板（对所有文档有效） 1 活动模板（仅对采用活动模板的 文档有效） 注意：如果 Context 是 1，且活动模板是 Normal 模板， SetAutoText 将导致错误。
_____________________

请参阅

自动图文集语句和函数

AutoText

AutoTextName$()

CountAutoTextEntries()

EditAutoText

GetAutoText$()

InsertAutoText


BookmarkName$() 示例

该示例将文档中各书签名的列表放入数组 Mark$()。可在对话框中用该数组展示书签名列表。注意：由于第一个数组元素的下标是 0，而不是 1，所以数组的大小要比书签数少一。

numBookmarks = CountBookmarks()

arraySize = numBookmarks - 1

Dim mark$(arraySize)

For n = 0 To arraySize

mark$(n) = BookmarkName$(n + 1)

Next


BookmarkName$()

示例

BookmarkName$(Count)

返回由 Count 指定的书签名。

参数	解释
Count	书签编号，从 1 到为活动文档定义的书签总数（可用CountBookmarks() 得到总数）。书签名的顺序由文档中书签的顺序决定。 必须指定 Count， 否则函数将返回错误。例如：a$ = BookmarkName$() 会导致错误。
_____________

请参阅

书签语句和函数

CountBookmarks()

GetBookmark$()


CmpBookmarks() 示例

该示例在选定部分的每行前添加字符串。先用书签标记所选文字，然后用一个由三个 CmpBookmarks() 函数控制的 While...Wend 循环给每行前添加文字。第一个 CmpBookmarks()  函数检测“Temp”书签中保存的插入点和选定范围是否始于同点；循环开始应肯定该条。第二个 CmpBookmarks() 函数检测插入点是否包含于“Temp”中，只要插入点在最初的选定范围内，则应肯定该条。第三个 CmpBookmarks()  函数检测插入点是否位于最初选定范围的结尾处，插入点移出最初的选定范围时，循环终止。While...Wend 循环中还有另一 CmpBookmarks() 指令，用于确定选定范围是否位于文档结尾的特殊情况。

CopyBookmark "\Sel", "Temp"

SelType 1

While CmpBookmarks("\Sel", "Temp") = 8 \

Or CmpBookmarks("\Sel", "Temp") = 6 \

Or CmpBookmarks("\Sel", "Temp") = 10 \

And leaveloop <> 1

EndOfLine

If CmpBookmarks("\Sel", "\EndOfDoc") = 0 Then leaveloop = 1

StartOfLine

Insert "***"

LineDown

Wend

EditGoTo "Temp"

EditBookmark "Temp", .Delete


CmpBookmarks()

示例

CmpBookmarks(Bookmark1$, Bookmark2$)

比较两个书签的内容。在 Word 中用预定义的书签和 CmpBookmarks()    检查插入点位置或创建只在用书签标记的区域中操作的宏。例如：用“\sel”（当前选定内容）书签和“\para”书签可建立只在特定段落中操作的宏。预定义书签的详情请参阅预定义书签。

参数	解释
Bookmark1$	第一个书签
Bookmark2$	第二个书签
该函数返回下列值。

值	解释
0（零）	Bookmark1$ 和 Bookmark2$ 相等。
1	Bookmark1$ 完全位于Bookmark2$ 下方。
2	Bookmark1$ 完全位于Bookmark2$ 上方。
3	Bookmark1$ 完全位于Bookmark2$ 内。
4	Bookmark1$ 位于 Bookmark2$ 内部和上方。
5	Bookmark1$ 包含 Bookmark2$。
6	Bookmark2$ 包含 Bookmark1$。
7	Bookmark1$ 和 Bookmark2$始于同点，但 Bookmark1$ 更长。
8	Bookmark1$ 和 Bookmark2$ 始于同点，但 Bookmark2$ 更长。
9	Bookmark1$ 和 Bookmark2$ 结束于同点，但 Bookmark1$ 更长。
10	Bookmark1$ 和 Bookmark2$结束于同点，但 Bookmark2$更长。
11	Bookmark1$ 紧靠 Bookmark2$ 的下方。
12	Bookmark1$ 紧靠 Bookmark2$ 的上方。
13	一个或两个书签都不存在。
_____________

请参阅

书签语句和函数

CopyBookmark

EditBookmark

EmptyBookmark


CopyBookmark 示例

该示例选定当前节，然后在节的起点和终点各设一个书签。该技巧可用于定义宏操作的起终点。

EditGoTo "\Section"

CopyBookmark "\StartOfSel", "SectionStart"

CopyBookmark "\EndOfSel", "SectionEnd"


CopyBookmark

示例

CopyBookmark Bookmark1$, Bookmark2$

将 Bookmark2$ 设到插入点或 Bookmark1$ 标记的文字范围。可用该语句和预定义书签棗比如“ \ StartOfSel”和“ \ EndOfSel”棗来设置与插入点或选定范围相关的书签。预定义书签的详情请参阅预定义书签.。

_____________

请参阅

书签语句和函数

CmpBookmarks()

EditBookmark

SetEndOfBookmark

SetStartOfBookmark


EditBookmark 示例

该示例查找只包含单词“Index”（即索引标题）的段落，找到标题后，在它前面添加书签。可在另一 EditBookmark 指令中或与 EditGoTo 一起使用该书签来将插入点移至索引。

StartOfDocument

EditFind .Find = "^pIndex^p", .MatchCase = 1, \

.Direction = 0, .Format = 0

If EditFindFound() Then

CharLeft : CharRight

EditBookmark .Name = "Index", .Add

End If


EditBookmark

示例

EditBookmark .Name = text [, .SortBy = number] [, .Add] [, .Delete] [, .Goto]

添加、删除或选择指定书签。EditBookmark 语句的参数对应于“编辑”菜单中“书签”对话框的选项。

参数	解释
.Name	书签名
.SortBy	在用 Dialog 或 Dialog() 指令显示“书签”对话框时控制书签列表的储存方式。 0（零）根据名称 1   根据位置
只能指定下列参数中的一项。

参数	解释
.Add	将书签添至插入点或选定范围
.Delete	删除书签
.Goto	将插入点或选定范围移至书签
如果不指定 .Add、.Delete 或 .Goto，Word 将添加书签。

_____________

请参阅

书签语句和函数

BookmarkName$()

CmpBookmarks()

CopyBookmark

CountBookmarks()

EditGoTo

EmptyBookmark()

ExistingBookmark()

GetBookmark$()

SetEndOfBookmark

SetStartOfBookmark


EmptyBookmark() 示例

该示例检验每个 REF 域中涉及的书签既存在又不空。如果遇到对不存在的书签或空书签的引用，将显示相应的信息框。

StartOfDocument

ViewFieldCodes 1

EditFind .Find = "^d REF", .Format = 0, .Wrap = 0

While EditFindFound()

CharLeft

WordRight 2

WordRight 1, 1

mark$ = RTrim$(Selection$())

If Not ExistingBookmark(mark$) Then

MsgBox mark$ + " is not a bookmark."

ElseIf EmptyBookmark(mark$) Then

MsgBox mark$ + " is an empty bookmark."

End If

CharRight

EditFind .Find = "^d REF", .Format = 0, .Wrap = 0

Wend


EmptyBookmark()

示例

EmptyBookmark(Name$)

确定 Name$  是否是“空”书签。空书签只在文档中标记一个插入点位置，不标记任何文字。可用 EmptyBookmark() 检验书签（比如在 REF 域中涉及的书签）标记的确实是文字。

该函数返回下列值。

值	解释
-1	如果书签为空（即未标记文字）
0	如果书签不空或不存在。
_____________

请参阅

书签语句和函数

BookmarkName$()

CmpBookmarks()

CountBookmarks()

EditBookmark

ExistingBookmark()

GetBookmark$()


ExistingBookmark() 示例

该宏在状态栏为要添加的书签名显示提示。如果书签尚不存在，则添加；否则 Word 显示信息框，询问是否重设书签。如果答“否”，宏就终止；否则会重设书签。

Sub MAIN

Input "Bookmark to add", myMark$

If ExistingBookmark(myMark$) Then

ans = MsgBox(myMark$ + " already exists; reset?", 36)

If ans = 0 Then Goto bye

End If

EditBookmark myMark$, .Add

bye:

End Sub


ExistingBookmark()

示例

ExistingBookmark(Name$)

指出活动文档中是否存在 Name$ 指定的书签。该函数返回下列值。

值	解释
-1	如果书签存在
0	如果书签不存在
_____________

请参阅

书签语句和函数

BookmarkName$()

CmpBookmarks()

CountBookmarks()

EditBookmark

EmptyBookmark()

GetBookmark$()


GetBookmark$() 示例

该示例将变量 first$ 设至文档中第一个书签的正文：

first$ = GetBookmark$(BookmarkName$(1))

下例将变量 paratext$ 设至包含插入点的段落文字。

paratext$ = GetBookmark$("\Para")

书签“\Para”是 Word 自动定义和更新的几个预定义书签之一。详情请参阅预定义书签.。


GetBookmark$()

示例

GetBookmark$(Name$)

返回由指定书签标记的无格式文本，如果 Name$  不是活动文档中的书签名，GetBookmark$() 会返回空字符串（“”）。

_____________

请参阅

书签语句和函数

BookmarkName$()

CountBookmarks()

EditBookmark


SetEndOfBookmark 示例

该示例用书签“EndPoint”标记当前选定内容的结尾。

SetEndOfBookmark "\Sel", "EndPoint"

书签“\sel”是“Word”自动定义或更新的几种预定义书签之一。详情请参阅 预定义书签.。


SetEndOfBookmark

示例

SetEndOfBookmark Bookmark1$ [, Bookmark2$]

用 Bookmark2$ 标记 Bookmark1$ 的终点。如果忽略 Bookmark2$，则将 Bookmark1$ 设至其自身终点。

_____________

请参阅

书签语句和函数

CopyBookmark

EditBookmark

SetStartOfBookmark


SetStartOfBookmark 示例

该示例用书签标记当前段落的起终点。

SetStartOfBookmark "\Para", "BeginPara"

SetEndOfBookmark "\Para", "EndPara"

书签“\ Para”是 Word 自动定义和更新的几种预定义书签之一。详情请参阅预定义书签.。


SetStartOfBookmark

示例

SetStartOfBookmark Bookmark1$ [, Bookmark2$]

用 Bookmark2$ 标记 Bookmark1$ 的起点。如果忽略 Bookmark2$，则将 Bookmark1$ 设至其自身起点。

____

请参阅

书签语句和函数

CopyBookmark

EditBookmark

SetEndOfBookmark


BorderBottom 示例

该示例根据选定范围是否在表格中，使用两种线型之一的底端框线。如果选定范围在表格中，则用双线边框，否则用粗单线边框。

If SelInfo(12) = - 1 Then

BorderLineStyle 8

BorderBottom 1

Else

BorderLineStyle 4

BorderBottom 1

End If


BorderBottom, BorderBottom()

示例

BorderBottom [On]

BorderBottom()

BorderBottom 语句给所选段落、表格单元格或图形增加或取消底端框线。注意：在给连续段落或表格行应用底端框线时，框线只出现最后一段或最后一行的下方。用 BorderInside 可用边框分隔各段或行。

参数	解释
On	指定是否要应用或取消底端框线 1       应用边框 0       取消边框 忽略    切换边框
BorderBottom() 函数返回下列值。

值	解释
0	如果所选项目中至少有一项没有底端框线或选定内容包含多个项目的混合（例如：段落和表格单元格）。
1	如果选定内容中每项的类型都相同并都有底端框线。
_____________

请参阅

边框和图文框语句和函数

BorderInside

BorderLeft

BorderLineStyle

BorderNone

BorderOutside

BorderRight

BorderTop

FormatBordersAndShading

ShadingPattern


BorderInside, BorderInside()

BorderInside [On]

BorderInside()

BorderInside 语句应用或取消所选段落或表格单元格的内部框线。下图显示了连续段落和表格中的内部框线。

段落的内部框线	表格的内部框线

函数 BorderInside() 根据所有的所选段落或表格单元格是否用内部框线设置了格式，从而确定返回值是 0 或 1。注意：如果选定内容是一个单独的表格单元格，不管其周围的表格单元格的边框如何，BorderInside() 都返回 0。一个单独的表格单元格可以有底端框线、左侧框线、右侧框线和顶端框线，但没有内部框线。

参数和返回值的详细说明请参阅 BorderBottom。

_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderLeft

BorderLineStyle

BorderNone

BorderOutside

BorderRight

BorderTop

FormatBordersAndShading

ShadingPattern


BorderLeft, BorderLeft()

BorderLeft [On]

BorderLeft()

BorderLeft 语句应用或取消所选段落、表格单元格或图形的左侧框线。函数 BorderLeft() 根据所选图形、所有选定的段落或表格单元格是否用左侧框线设置了格式，从而确定返回值是 0 还是 1。

参数和返回值的详细说明，请参阅

BorderBottom.。

_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderInside

BorderLineStyle

BorderNone

BorderOutside

BorderRight

BorderTop

FormatBordersAndShading

ShadingPattern


BorderNone, BorderNone()

BorderNone [Remove]

BorderNone()

BorderNone 语句应用或取消所选项目的全部边框（左侧框线、右侧框线、顶端框线、底端框线和内部框线）。可应用或取消连续段落或表格行的全部边框，但不能对段落和表格行的混合项进行同样的操作。要取消或应用图形的边框，必须先只选定图形。

参数	解释
Remove	指定是取消还是应用所选部分的全部边框 0  应用边框 1  或省略  取消边框
如果选定范围至少含有一条边框，函数 BorderNone() 返回 0；如果不含边框，则返回 1。

_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderInside

BorderLeft

BorderLineStyle

BorderOutside

BorderRight

BorderTop

FormatBordersAndShading

ShadingPattern


BorderOutside, BorderOutside()

BorderOutside [On]

BorderOutside()

BorderOutside 语句给所选段落、表格单元格或图形应用或取消外围框线。下图显示应用于连续段落和完整表格的外围框线。

段落外围框线	表格外围框线

函数 BorderOutside() 根据所选图形、所有的所选段落或表格单元格是否用外围框线设置了格式，从而确定返回值是 0 还是 1。

参数和返回值的详细说明请参阅 BorderBottom.。

_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderInside

BorderLeft

BorderLineStyle

BorderNone

BorderRight

BorderTop

FormatBordersAndShading

ShadingPattern


BorderRight, BorderRight()

BorderRight [On]

BorderRight()

BorderRight 语句给所选段落、表格单元格或图形应用或取消右侧框线。根据所选图形、全部段落或表格单元格是否是否用右侧框线设置了格式，函数 BorderRight() 将返回 0 或 1。

参数和返回值的详细说明请参阅 BorderBottom。

_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderInside

BorderLeft

BorderLineStyle

BorderNone

BorderOutside

BorderTop

FormatBordersAndShading

ShadingPattern


BorderTop, BorderTop()

BorderTop [On]

BorderTop()

BorderTop 语句给所选段落、表格单元格或图形应用或取消顶端边框。注意：连续段落或表格行应用顶端边框时，边框仅出现在首段或表格的首行上。用 BorderInside 可将各段或表格行分开。

根据所选图形、所有选定的段落或表格单元格是否用顶端边框设置了格式，BorderTop() 函数将返回 0 或 1。

参数和返回值的详细说明请参阅 BorderBottom。

_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderInside

BorderLeft

BorderLineStyle

BorderNone

BorderOutside

BorderRight

FormatBordersAndShading

ShadingPattern


RemoveFrames 示例

该示例从整个文档中删除所有的图文框。

EditSelectAll

RemoveFrames


RemoveFrames

示例

RemoveFrames

删除选定范围中所有的图文框。注意：不能删除围绕正文插入图文框时自动应用的边框。

_____________

请参阅

边框和图文框语句和函数

FormatBordersAndShading

FormatFrame

InsertFrame


ViewBorderToolbar

ViewBorderToolbar

边框工具栏隐藏时显示或显示时隐藏。

_____________

请参阅

边框和图文框语句和函数

ViewDrawingToolbar

ViewToolbars


Call 示例

该示例两次调用子程序 FindName，无论有没有 Call，每行的效果都相同。

Call FindName	'Transfer control to the subroutine FindName

FindName	'Transfer control to the subroutine FindName


Call

示例

[Call] [MacroName][.][SubName] [ArgumentList]

将控制转至正在运行的宏或另一宏中的子程序。用句法 MacroName.SubName 可指定另一宏中的子程序。如未指定 SubName　（子程序名），则运行 MacroName 中的主程序。Call 是可选的，有助于在阅读和编辑宏时区分子程序名和 WordBasic 关键字。用逗号分界的 ArgumentList （变量表）中的每个变量必须对应被调用子程序准备接受的值。

注意

调用另一宏时，Word 按如下顺序在有效模板中寻找该宏：包含 Call 指令的模板、活动模板，Normal 模板、已装载的共用模板。例如，假设 USER.DOT 和 NORMAL.DOT 都包含 DisplayMessage 宏。USER.DOT 中有如下宏：

FileNew .Template = "Normal"

DisplayMessage

执行 Call 指令时，即使建于 NORMAL.DOT 的文档是活动的，也运行 USER.DOT 中的 Display Message 宏。

使用子程序的详情，包括在多个程序之间共享变量和传递参数的方法，请参阅Microsoft Word Developer's Kit.中的第四章“Advanced WordBasic”。

_____________

请参阅

分支和控制语句和函数

Sub...End Sub


For...Next 示例

该示例显示五个消息框，每个框中给出 count 的当前值：

For count = 1 To 5

MsgBox "Current value of count is" + Str$(count)

Next count

下例通过将 count 的值每步减 1 产生出与前例是相同的结果。

For count = 5 To 1 Step -1

MsgBox "Current value of count is" + Str$(count)

Next

下例用 Fox...Next 循环来说明如何使用 WordBasic 的计数功能。在该示例中，活动文档中定义的所有书签名存放在数组 mark$() 中。

numBookmarks = CountBookmarks()

arraySize = numBookmarks - 1

Dim mark$(arraySize)

For n = 0 To arraySize

mark$(n) = BookmarkName$(n + 1)

Next


For...Next

示例

For CounterVariable = Start To End [Step Increment]
Series of instructions
Next [CounterVariable]

计数变量 CounterVariable 按 1（默认值）递增或增加 Increment 直至 CounterVariable 大于 End ，同时重复执行 For 和 Next 间的指令。如果 Start 大于 End，Increment 一定是负值，CounterVariable 不断减去 Increment 的值直到小于 End。

如果放入多个嵌套的 For...Next 循环，要给每个循环使用唯一的计数变量，正如下列指令所示：

For I = 1 To 10

For J = 1 To 10

For K = 1 To 10

'Series of instructions

Next K

Next J

Next I

_____________

请参阅

分支和控制语句和函数

Goto

If...Then...Else

Select Case

While...Wend


Function...End Function 示例

该宏提示键入华氏温度，该温度通过变量 fahrenheit 传至 ConvertTemp() 函数，该函数将 fahrenheit 转换为摄氏度，然后主程序将该值显示在消息框中。

Sub MAIN

On Error Resume Next

tmp$ = InputBox$("Type a Fahrenheit temperature:")

fahrenheit = Val(tmp$)

celsius = ConvertTemp(fahrenheit)

MsgBox tmp$ + " Fahrenheit =" + Str$(celsius) + " Celsius"

End Sub

Function ConvertTemp(fahrenheit)

tmp = fahrenheit

tmp = ((tmp - 32) * 5) / 9

tmp = Int(tmp)

ConvertTemp = tmp

End Function


Function...End Function

示例

Function FunctionName[$][(ArgumentList)]
Series of instructions to determine a value
FunctionName[$] = value
End Function

定义函数棗返回单值的系列指令。要返回字符串值，函数名必须以货币符($)结尾。注意：与内部 WordBasic 函数名不同，未指定　ArgumentList 的自定义函数名不能用空括号结尾，否则会出错。

ArgumentList 是变量列表，用逗号分隔，由调用函数的语句传至函数。字符串变量必须以货币符结尾。ArgumentList 不能含有值；常量要声明为变量并通过变量名传至函数。

_____________

请参阅

分支和控制语句和函数

Sub...End Sub


Goto 示例

该宏显示带“是”、“否”和“取消”按钮的消息框，询问是否要继续运行该宏。如果选择“否”或“取消“，宏会立即分支至 End Sub 前的 bye 标号并结束。

Sub MAIN

ans = MsgBox("Continue macro?", 3)

If ans = 0 Or ans = 1 Then Goto bye

'Series of instructions to run if the user chooses Yes

bye:

End Sub


Goto

示例

Goto Label

使运行中的宏在同一子程序或函数中从 Goto 指令处改向至任何有指定 Label 的地方，宏会从标号后的指令处继续运行。在宏中设标号时应注意：

标号必须位于行首，而且前面不能有空格或制表符。

标号后必须有冒号 ( : ) （Goto 指令中不要有冒号）。

含有字母的标号必须用字母开头，可含有字母和数字，不算冒号，最长不能超过40个字符。

可不用标号，而改用出现于行首的数字。允许使用行号主要是为与要求行号的旧版 Basic 编程语言兼容。行号最高可至 32,759，且不需后跟冒号。

_____________

请参阅

分支和控制语句和函数

For...Next

If...Then...Else

Select Case

While...Wend


If...Then...Else 示例

如果选定内容中部分是粗体，该示例会将整个选定内容设为粗体格式。

If Bold() = -1 Then Bold 1

如果整个选定内容是粗体，下例应用斜体格式；否则应用下划线格式。

If Bold() = 1 Then Italic 1 Else Underline 1

下例显示将复杂的表达式用作条件的方法(在这种情况下，选定内容是否既有粗体又有斜体)：

If Bold() = 1 And Italic() = 1 Then ResetChar

下例使用 If 条件句提供的完整句法。条件句可描述为：“如果整个选定内容是粗体，则设为斜体；如果选定内容中部分是粗体，则重设字符格式；否则，将选定内容设为粗体。”

If Bold() = 1 Then

Italic 1

ElseIf Bold() = -1 Then

ResetChar

Else

Bold 1

End If


If...Then...Else

示例

If Condition Then Instruction [Else Instruction]

If Condition1 Then
Series of instructions
[ElseIf Condition2 Then
Series of instructions]
[Else
Series of instructions]
End If

有条件地执行指令。在 If 条件句的最简单形式中棗 If Condition Then Instrution 棗只要 Condition 为真，就执行 Instruction。在 WordBasic中，“真”指的是条件值为 -1，“假”指的是条件值为 0。

如果在 If 后指定条件，在 Then 之后指定指令(如果包括 Else，也在 Else 后指定指令)，就可将整个 If 条件句写在一行中。这种条件句式不要以 End If 结束。注意：如果用冒号分隔指令，用这种句式就可能指定多条指令。像在下面的条件句中：

If Bold() = 1 Then Bold 0 : Italic 1

总之，如需指定连续的条件指令，完整的句法比用冒号分隔指定更为可取。采用完整句法，可用 Else If 来包括次要条件，套入 If 条件句。可根据需要给 If 条件句添加多条 Else If 指令。

_____________

请参阅

分支和控制语句和函数

For...Next

Goto

Select Case

While...Wend


Select Case 示例

该示例根据段落样式是 ListItem1 还是 ListItem2，再转至文档中各段并插入项目符号或连字符。如果发现了未应用这些样式的段落，Case Else 后的指令显示消息框。

StartOfDocument

While CmpBookmarks("\Sel", "\EndOfDoc") <> 0

Select Case StyleName$()

Case "ListItem1"

ToolsBulletsNumbers .Type = 0

Case "ListItem2"

Insert "-" + Chr$(9)

Case Else

MsgBox "Not a list style"

End Select

ParaDown

Wend

下例说明如何用 Select Case 求数字型表达式的值。Select Case 指令生成 -5 到 5 之间的随机数，后面的 Case 指令根据该数字型表达式的值执行。

Select Case Int(Rnd() * 10) - 5

Case 1,3

Print "One or three"

Case Is > 3

Print "Greater than three"

Case -5 To 0

Print "Between -5 and 0 (inclusive)"

Case Else

Print "Must be 2"

End Select


Select Case

示例

Select Case Expression
Case CaseExpression
Series of instruction(s)
[Case Else
Series of instruction(s)]
End Select

根据 Expression 的值运行多组指令中的一组。Expression 轮流与每个 Case Expression 比较，发现匹配后即运行该 Case Case Expression 后的指令，然后控制向 End Select 后指令的传递；如未发现匹配，则运行 Case Else 后的指令。如果既无匹配，也无 Case Else 指令，就会出错。

Select Case 控制结构是大多数对话函数的重要组成部分。对话函数的详情请参阅Microsoft Word Developer's Kit.中的第五章“Use Custom Dialog ”。

使用 Select Case 时应注意：

使用关系运算符时用关键字 Is 来比较 Case Expression 和 Expression。例如：指令 Case Is > 8 测试任何大于 8 的值。没有关系运算符时不要用 Is 关键字，否则会出错。例如 Case Is 8 就会产生错误。

用 To 关键字测试落入指定范围的值。例如：指令 Case 4 To 8 测试大于等于 4 且小于等于 8 的值。

如果包含一 Goto 指令来转至 Select Case 控制结构外的标号，将会出错。

_____________

请参阅

分支和控制语句和函数

For...Next

Goto

If...Then...Else

While...Wend


Stop

Stop [SuppressMessage]

停止运行宏。如果 SuppressMessage 是 -1，则不显示信息。否则， Word 会显示宏被中止的信息框。Word 在宏（在宏编辑窗口中打开时）中遇到 stop 指令时，可单击宏工具栏上的“继续执行宏”按钮来继续运行宏。

_____________

请参阅

分支和控制语句和函数

ShowVars


Sub...End Sub 示例

在该宏中，主程序调用 GoBeep 子程序，通过 numBeeps 变量来传递蜂鸣次数。

Sub MAIN

numBeeps = 3

GoBeep(numBeeps)

End Sub

Sub GoBeep(count)

For n = 1 To count

Beep

For t = 1 To 100 : Next	'Add time between beeps

Next

End Sub

如果 Go Beep 子程序是在名为 LibMacros 的宏中，那么子程序的调用会如下所示：

Sub MAIN

numBeeps = 3

LibMacros.GoBeep(numBeeps)

End Sub

在不同宏中使用子程序的详情请参阅《The Microsoft Word Developer's Kit》中的第四章“Advanced Word Basic”。


Sub...End Sub

示例

Sub SubName[(ArgumentList)]
Series of instructions
End Sub

定义子程序。子程序是能由主程序重复调用并使宏更简短和更易于调试的系列指令。

参数	解释
SubName	子程序名。
Argument List	用逗号分隔的参数列表。这些参数可用于子程序。数值、字符串、数字型变量和数组都是有效参数。
子程序必须出现在主程序之外棗通常都是在结束主程序时的 End Sub 指令后。不仅可从宏的主程序调用子程序，还可从自其它子程序甚至是其它宏调用。使用子程序的详情，包括在多个子程序之间共享变量和传递参数，请参阅Microsoft Word Developer's Kit.中的第四章“Advanced WordBasic”。

_____________

请参阅

分支和控制语句和函数

Call

Function...End Function


DemoteList

DemoteList

在多级符号列表中，将所选段落降低一级。如果所选段落虽具有项目符号列表或编号列表格式，但并非多级，则 DemoteList 会增加缩进量。如果所选段落尚未设置编号列表或项目符号列表格式，则会出错。

_____________

请参阅

项目符号和编号语句和函数

FormatBulletsAndNumbering

PromoteList


FormatBullet

FormatBullet [.Points = number] [, .Color = number] [, .Alignment = number] [, .Indent = number or text] [, .Space = number or text] [, .Hang = number] [, .CharNum = number] [, .Font = text]

给所选段落添加项目符号。FormatBullet 语句的参数对应“格式”菜单中“项目符号和编号”命令“项目符号”选项卡“更改项目符号”对话框中的选项。用 Dialog 或 Dialog() 指令不能显示该对话框。

参数	解释
.Points	项目符号的大小，以磅为单位。
.Color	项目符号的颜色（颜色列表请参阅CharColor）。
.Alignment	指定项目符号在左缩进和正文首行间的空白中的对齐方式。只在 .Space 为 0 时有效。 0 或忽略    左对齐 1           居中对齐 2            右对齐
.Indent	左缩进与正文首行间的距离，以磅计量。
.Space	项目符号与正文首行之间的距离，以磅计量。
.Hang	若为 1，给所选段落设置悬挂缩进。
.CharNum	从左向右数，数字与 31 之和对应于“插入”菜单的“符号”对话框中的符号位置。例如，要指定 Ω，它在“符号”字体的符号表格上的 56 位置，可设置 .CharNum 为87。
.Font	含有符号的字体的名称。装饰性字体的名称显示在“符号”对话框的“字体”框中。
_____________

请参阅

项目符号和编号语句和函数

CharColor

FormatBulletsAndNumbering

FormatHeadingNumber

FormatMultilevel

FormatNumber


FormatBulletDefault, FormatBulletDefault()

FormatBulletDefault [Add]

FormatBulletDefault()

FormatBulletDefault 添加或取消所选段落的项目符号。

参数	解释
Add	指定是否要添加或取消项目符号。 0  取消项目符号。如果选定部分前后的段落未设为列表格式，选定部分中的列表格式会与项目符号一起取消。 1  添加项目符号。如果选定部分前的段落已经用“格式”菜单中的“项目符号与编号”命令设置了项目符号，所选段落将设为相应的项目符号格式。否则，将应用“格式”菜单中的“项目符号和编号”对话框中的默认设置。 省略  切换项目符号。
FormatBulletDefault() 函数返回值如下：

返回值	解释
0	所选段落均未设项目符号或编号。
-1	如果所选段落未全部设置项目符号、或有“跳过项目符号”，或设置了同级的编号。
1	如果所选段落全部设置了项目符号。
_____________

请参阅

项目符号和编号语句和函数

FormatBulletsAndNumbering

FormatNumberDefault

SkipNumbering


FormatMultilevel

FormatMultilevel [.Points = number] [, .Color = number] [, .Before = text] [, .Type = number] [, .After = text] [, .StartAt = number] [, .Include = number] [, .Alignment = number] [, .Indent = number or text] [, .Space = number or text] [, .Hang = number] [, .Level = number] [, .Font = text] [, .Strikethrough = number] [, .Bold = number] [, .Italic = number] [, .Underline = number]

给所选段落应用多级列表编号，或为其指定级别、改变编号选项。FormatMultilevel 语句的参数对应于“格式”菜单中“项目符号和编号”命令“多级符号”选项卡“更改多级列表方式”对话框中的选项。用 Dialog 或 Dialog() 指令不能显示该对话框。

参数	解释
.Level	从 1 到 9，对应要改变其编号选项的标题级别。注意：如果指定了 .Level，FormatMultilevel 指令中所设选项就会不其作用。要设置这些选项，可再加入一个未指定 .Level 的 FormatMultilevel 指令。
.Points, .Color, .Font, .Strikethrough, .Bold, .Italic, .Underline	在指定级别给编号设置字符格式。各参数的说明请参阅FormatFont。
.Before, .After, .Alignment, .Indent, .Space, .Hang	在指定级别设置编号选项。参数说明请参阅 FormatNumber. 。
.Type	在指定级别指定编号标题的格式。 0 1, 2, 3, 4 1 I, II, III, IV 2 i, ii, iii, iv 3 A, B, C, D 4 a, b, c, d 5 1st, 2nd, ... 6 One, Two, ... 7 First, Second, ...
.StartAt	特定级别的各标题序列中的第一个标题的编号。若 .Type 为 3 或 4，.StartAt 对应于起始字母在字母表中的位置。
.Include	指定特定级别的编号是否要包含前面标题的编号和位置选项： 0   既不包含编号，也不包含位置选项。 1   在指定级别的编号前包含更高级别标题的系列编号。 2   既包含更高级别标题的编号，也包含上一级别的位置选项。
_____________

请参阅

项目符号和编号语句和函数

FormatBullet

FormatBulletsAndNumbering

FormatHeadingNumber

FormatNumber


FormatNumber

FormatNumber [.Points = number] [, .Color = number] [, .Before = text] [, .Type = number] [, .After = text] [, .StartAt = number] [, .Include = number] [, .Alignment = number] [, .Indent = number or text] [, .Space = number or text] [, .Hang = number] [, .Font = text] [, .Strikethrough = number] [, .Bold = number] [, .Italic = number] [, .Underline = number]

给所选段落编号。Format Number 语句的参数对应于“格式”菜单中“项目符号和编号”命令“编号”选项卡“改变编号”对话框中的选项。用 Dialog 或 Dialog() 指令不能显示该对话框。

参数	解释
.Points, .Color, .Font, .Strikethrough, .Bold, .Italic, .Underline	在指定级别对编号设置字符格式。参数的说明请参阅FormatFont。
.Before	如果有文字，希望在各编号前显示。
.Type	指定编号列表的格式： 0 1, 2, 3, 4 1 I, II, III, IV 2 i, ii, iii, iv 3 A, B, C, D 4 a, b, c, d
.After	如果有文字，希望在各编号后显示。
.StartAt	所选段落中首段的编号。如果 .Type 是 3 或 4，.StartAt 应对应于起始字母在字母表中的位置。
.Include	指定是否要为特定级别的编号包含前面标题的编号和位置选项： 0     既不包含编号，也不包含位置选项。 1     在指定级别的编号之前包含更高级别标题的一系列编号。 2    既包含更高级别标题的编号，也包含前一级别的位置选项。
.Alignment	指定编号在左缩进到正文首行之间的空白中的对齐方式。此参数只有在 .Space 为 0 时有效： 0 或忽略     左对齐 1            居中对齐 2            右对齐
.Indent	左缩进与正文首行间的距离，以磅计量。
.Space	编号与正文首行间的距离，以磅计量。
.Hang	如为 1，所选段落应用悬挂缩进。
.Font	编号所用字体。
_____________

请参阅

项目符号和编号语句和函数

FormatBullet

FormatBulletsAndNumbering

FormatHeadingNumber

FormatMultilevel


FormatNumberDefault, FormatNumberDefault()

FormatNumberDefault [On]

FormatNumberDefault()

FormatNumberDefault 语句添加或取消所选段落的编号。

参数	解释
On	指明是否要添加或取消编号： 0       取消编号。如果选定部分前后的段落未设列表格式，所选段落中的列表格式将同编号一起取消。 1      添加编号，如已用“格式”菜单中“项目符号和编号”命令对所选部分前后的段落设置了编号，所选段落将设为相同的编号格式；否则将用“格式”菜单中“项目符号和编号”对话框的默认设置。 省略   切换编号。
FormatNumberDefault() 函数的返回值如下：

返回值	解释
0	如果所选段落均未设置编号或项目符号。
-1	如果所选段落未全部设置项目符号、“跳过”或同级别编号格式。
1-9	如果所选段落全部用多级列表中的同级编号进行了编号。
10	如果所选段落全都用“项目符号与编号”对话框中“编号”选项卡上的六种方案之一进行了编号。
11	如果所选段落全都设置了项目符号。
12	如果所选段落全都“跳过”。
_____________

请参阅

项目符号和编号语句和函数

FormatBulletDefault

FormatBulletsAndNumbering

SkipNumbering


PromoteList

PromoteList

在多级符号列表中将所选段落升一级。如果所选段落设置了非多级的项目符号列表或编号列表，PromoteList 将减小缩进量；如果所选段落尚未设置编号或项目符号列表，则会出错。

_____________

请参阅

项目符号和编号语句和函数

DemoteList

FormatBulletsAndNumbering


RemoveBulletsNumbers

RemoveBulletsNumbers

在用“格式”菜单的“项目符号与编号”命令设置的项目符号或编号列表中，连同列表格式取消所选段落的项目符号或编号。如果随后的段落设有编号格式，则开始新列表并重新编号，如果具有项目符号格式，则开始新列表。RemoveBulletsNumbers 对应于“格式”菜单中“项目符号和编号”对话框上的“删除”按钮。

_________

请参阅

项目符号和编号语句和函数

FormatBulletsAndNumbering

SkipNumbering


What's New in WordBasic
WordBasic 新增内容

本主题列出自 Word 6.x for Windows 后修改过或新增的 WordBasic 语句和函数，并按类排序。

新增的自动更正语句和函数

新增的通讯录语句和函数

新增的字符格式语句和函数

新增的文档属性语句和函数

新增的查找和替换语句

新增的电子邮件和传送语句

新增的帮助语句

新增的校对语句和函数

新增的工具语句和函数


新增的自动更正语句和函数

CountAutoCorrectExceptions()	返回“非自动更正项”对话框中，某一选项卡上列出的非自动更正项数。
GetAutoCorrectException$()	返回“非自动更正项”对话框中非自动更正项的文字。
IsAutoCorrectException()	返回一值，指明某个字符串是否在“非自动更正项”列表出现。
ToolsAutoCorrectCapsLockOff, ToolsAutoCorrectCapsLockOff()	选中或清除“非自动更正项”对话框中“更正误按 CapsLock 键产生的大小写错误”复选框。
ToolsAutoCorrectExceptions	添加或删除“非自动更正项”列表中的单词。


新增的通讯录语句和函数

AddAddress	将新地址添至指定通讯录。
GetAddress$()	返回个人通讯录中的地址。
InsertAddress	打开默认个人通讯录的“通讯录”窗口并将所选地址插至插入点位置。
MailMergeUseAddressBook	选择用作邮件合并数据源的通讯录。


新增的字符格式语句和函数

Highlight	突出显示所选文字。如果选定部分已突出显示，Highlight 取消突出显示格式。
HighlightColor, HighlightColor()	设置或返回所选文字的突出显示颜色。


新增的文档属性语句和函数

CountDocumentProperties()	返回为当前文档定义的内部和自定义的文档属性的总数。
DeleteDocumentProperty	删除“属性”对话框中“自定义”选项卡上自定义属性列表中的自定义属性。
DocumentPropertyExists()	如果指定属性存在，返回 1；否则返回 0。
DocumentPropertyName$()	返回文档属性名称。
DocumentPropertyType()	返回一值，指明指定属性的类型。
FileProperties	显示活动文档的“属性”对话框。
GetDocumentProperty(), GetDocumentProperty$()	返回在活动文档中定义的文档属性的数字或字符串表示。
IsCustomDocumentProperty()	如果指定属性为自定义的属性，返回 1；如果是不是自定义属性或是无效属性，返回 0。
IsDocumentPropertyReadOnly()	如果 Name$ 属性是只读，返回1。
SetDocumentProperty	为活动文档定义文档属性。
SetDocumentPropertyLink	为活动文档定义自定义文档属性，并将其链接至已有书签。


新增的查找和替换语句

EditFindHighlight, EditReplaceHighlight	指定要查找或替换的文本具有突出显示格式。
EditFindNotHighlight, EditReplaceNotHighlight	指定要查找或替换的文本不具有突出显示格式。


新增的帮助语句

AutomaticChange	“操作向导”提出修改建议时执行“自动套用格式”操作。
HelpMSN	将用户连至 Microsoft NetWork 上与 Word 有关的论坛中。
ShowMe	打开“操作向导”对话框或联机帮助窗口。
TipWizard	显示或隐藏“操作向导”工具栏。


新增的校对语句和函数

DocumentHasMisspellings()	返回活动文档中自动拼写检查状况的有关信息。
NextMisspelling	查找下一个错拼单词。
SpellChecked, SpellChecked()	鉴别所选文字已检查过拼写错误，或者尚未检查。
ToolsSpellingRecheckDocument	对整个文档再作拼写检查。
ToolsOptionsSpelling	现在采用新参数控制自动拼写检查。


新增的工具语句和函数

DocumentProtection()	返回说明活动文档保护级别的值。
ToolsOptionsAutoFormat	现在采用为“自动功能”指定选项的新参数。
ToolsOptionsCompatibility	现在采用与 WordPerfect 兼容的参数。
ToolsOptionsEdit	现在采用新参数，以便用 TAB 或 BACKSPACE 键来添加或取消列表格式。
ToolsOptionsGeneral	现在采用激活或恢复“操作向导”的新参数。
ToolsOptionsRevisions	现在采用改变全面突出显示颜色的新参数。
ToolsOptionsSpelling	现在采用控制自动拼写检查的新参数。
ToolsOptionsView	现在包括指定是否应显示突出显示格式的新参数。


新增的电子邮件和传送语句

FilePost	将活动文档传至“Microsoft Exhange”中的公共文件夹。
MailCheckNames	使活动“WordMail”消息中的地址有效。
MailHideMessageHeader	切换活动“WordMail”消息标题的显示。
MailMessageDelete	删除活动“WordMail”消息。
MailMessageForward	打开新“WordMail”消息，以便传送活动消息。
MailMessageMove	让用户将活动“WordMail”消息移至一有效的消息存储器中的文件夹。
MailMessageNext	关闭活动“WordMail”消息并显示下一消息（如果有的话）。
MailMessagePrevious	关闭活动“WordMail”消息并显示前一消息（如果有的话）。
MailMessageProperties	显示活动“WordMail”消息的“属性”对话框。
MailMessageReply	打开新“WordMail”消息以答复活动消息的发送者。
MailMessageReplyAll	打开新“WordMail”消息以答复活动消息的发送者和接收者。
MailSelectNames	让用户将地址添至未发送的活动“WordMail”消息。


WordBasic 在不同平台下的差异
各平台中 WordBasic 的差异

从 Word 6.0 开始，WordBasic 就可用于多种平台：运行 Microsoft  Windows 3.x 的 PC 机、运行 Microsoft Windows 95 和 Microsoft  Windows NT 的 PC 机和工作站以及运行 System 7.x 的 Macintosh  机。WordBasic 的多数平台差异是在 Windows 和 Macintosh 之间。下面各节将说明这些差异。要在各种平台中成功地开发宏，可利用本信息和《The Microsoft Word Developer's Kit》的第九章“More Specific WordBasic Techniques”中关于跨平台编程的指导。

仅用于 Windows 的语句和函数

含特定平台参数的语句

带有特定平台行为的语句和函数


仅用于 Windows 的语句和函数

下表列出了只是当 Word 在 Windows 中运行时才有效的 WordBasic 语句和函数。

语句或函数	说明
AppActivate; AppClose; AppCount(); AppGetNames, AppGetNames(); AppHide; AppIsRunning(); AppMaximize, AppMaximize(); AppMinimize, AppMinimize(); AppMove; AppRestore, AppRestore(); AppSendMessage; AppShow; AppSize; AppWindowHeight, AppWindowHeight(); AppWindowPosLeft, AppWindowPosLeft(); AppWindowPosTop, AppWindowPosTop(); AppWindowWidth, AppWindowWidth()	控制应用程序窗口
Connect	连至通过网络共享的磁盘或文件夹
ControlRun	运行“剪贴板”或“控制面板”
Environ$()	返回与 MS-DOS 环境参数相关的字符串
ExitWindows	退出 Windows
FilePrintSetup	改变活动打印机或其选项
HelpWordPerfectHelp; HelpWordPerfectHelpOptions	控制 Help For Word PerFect Users 功能
MicrosoftAccess; MicrosoftPublisher; MicrosoftSchedule; RunPrintManager	启动指定应用程序
ToggleScribbleMode	切换手写批注方式的打开或关闭
AddAddress; GetAddress$(); InsertAddress; MailMergeUseAddressBook	添加和恢复 Windows 95 中默认通讯录（Microsoft Exchange 个人通讯录）中的地址信息


含特定平台参数的语句

下列对应 Word 对话框的语句带有在每种平台上都会被省略或者无效的参数。

语句	特定平台参数
DlgVisible	LastIdentifier 参数只在 Windows 95 和 Windows NT 中有效。
FormatBordersAndShading	.FineShading 参数在 Windows 中被忽略。


带有特定平台行为的语句和函数

下列语句和函数根据其运行的平台展示不同行为。

语句或函数	说明
Beep	在 Windows 中，Beep 产生的声音由 ErrorType 参数决定。
Files$()	在 Windows 中，问号（？）和星号（*）通配符可用作文件说明符。
GetSystemInfo, GetSystemInfo$()	在 Windows 中。Type 是从 21 至 32 之间的值。在 Windows 中，GetSystemInfo 填充的数组的大小是 12 个元素。
InputBox$()	在 Windows 中，如果在输入框中按 ENTER 键， InputBox$() 会返回 Chr$(11)+Chr$(10)。
InsertSound	在 Windows 中是启动“录音机”。
Kill	在 Windows 中，用问号(？)和星号(*)作为通配符。
MsgBox, MsgBox()	在 Windows 中，Type 值 32 产生问号。
Name	在 Windows 中，用该语句可将文件移至另一文件夹。
Shell	在 Windows 中，参数 WindowStyle 确定Shell启动的应用程序显示的方式。


WordBasic 语句和函数分类

此处列出了 WordBasic 的主要函数分类。如果知道要完成哪些工作，但不知道用哪个命令来完成这项工作时，可以参考本主题。要学习有关语句和函数时，也可参考此部分。

应用程序控制

通讯录

自动更正

自动图文集

基本文件输入/输出

书签

边框和图文框

分支和控制语句

项目符号和编号

字符格式

自定义

日期和时间

定义和声明语句

对话框定义和控制

磁盘存取和管理

文档、模板和加载项

文档属性

绘图

动态数据交换（DDE）

编辑

电子邮件和传送

环境

域

查找和替换

脚注、尾注和批注

表单

帮助

宏

邮件合并

移动插入点和选定

对象链接和嵌入

大纲和主控文档

段落格式

校对

文档和节的格式

字符串和数字

样式

表格

工具

视图

窗口


应用程序控制

AppActivate

AppClose

AppCount()

AppGetNames, AppGetNames()

AppHide

AppInfo$()

AppIsRunning()

AppMaximize, AppMaximize()

AppMinimize, AppMinimize()

AppMove

AppRestore, AppRestore()

AppSendMessage

AppShow

AppSize

AppWindowHeight, AppWindowHeight()

AppWindowPosLeft, AppWindowPosLeft()

AppWindowPosTop, AppWindowPosTop()

AppWindowWidth, AppWindowWidth()

ControlRun

DDEExecute

DDEInitiate()

DDEPoke

DDERequest$()

DDETerminate

DDETerminateAll

DialogEditor

ExitWindows

FileExit

FileQuit

GetSystemInfo, GetSystemInfo$()

MacID$()

MacScript, MacScript$()

MicrosoftApplication

RunPrintManager

SendKeys

Shell

ShowClipboard


自动更正

CountAutoCorrectExceptions()

GetAutoCorrect$()

GetAutoCorrectException$()

IsAutoCorrectException()

ToolsAutoCorrect

ToolsAutoCorrectDays, ToolsAutoCorrectDays()

ToolsAutoCorrectCapsLockOff, ToolsAutoCorrectCapsLockOff()

ToolsAutoCorrectExceptions

ToolsAutoCorrectInitialCaps, ToolsAutoCorrectInitialCaps()

ToolsAutoCorrectReplaceText, ToolsAutoCorrectReplaceText()

ToolsAutoCorrectSentenceCaps, ToolsAutoCorrectSentenceCaps()

ToolsAutoCorrectSmartQuotes, ToolsAutoCorrectSmartQuotes()


通讯录

AddAddress

GetAddress$()

InsertAddress

MailMergeUseAddressBook


自动图文集

AutoText

AutoTextName$()

CountAutoTextEntries()

EditAutoText

GetAutoText$()

InsertAutoText

Organizer

SetAutoText


基本的文件输入/输出

Close

Eof()

Input

Input$()

Line Input

Lof()

Open

Print

Read

Seek, Seek()

Write


书签

BookmarkName$()

CmpBookmarks()

CopyBookmark

CountBookmarks()

EditBookmark

EmptyBookmark()

ExistingBookmark()

GetBookmark$()

SetEndOfBookmark

SetStartOfBookmark


边框和图文框

BorderBottom, BorderBottom()

BorderInside, BorderInside()

BorderLeft, BorderLeft()

BorderLineStyle, BorderLineStyle()

BorderNone, BorderNone()

BorderOutside, BorderOutside()

BorderRight, BorderRight()

BorderTop, BorderTop()

FormatBordersAndShading

FormatDefineStyleBorders

FormatDefineStyleFrame

FormatFrame

InsertFrame

RemoveFrames

ShadingPattern, ShadingPattern()

ViewBorderToolbar


分支和控制语句

Call

For...Next

Function...End Function

Goto

If...Then...Else

On Error

OnTime

Select Case

Stop

Sub...End Sub

While...Wend


项目符号和编号

DemoteList

FormatBullet

FormatBulletDefault, FormatBulletDefault()

FormatBulletsAndNumbering

FormatDefineStyleNumbers

FormatMultilevel

FormatNumber

FormatNumberDefault, FormatNumberDefault()

PromoteList

RemoveBulletsNumbers

SkipNumbering, SkipNumbering()

ToolsBulletListDefault

ToolsBulletsNumbers

ToolsNumberListDefault


字符格式

AllCaps, AllCaps()

Bold, Bold()

CharColor, CharColor()

CopyFormat

CountFonts()

CountLanguages()

DottedUnderline, DottedUnderline()

DoubleUnderline, DoubleUnderline()

Font, Font$()

FontSize, FontSize()

FontSizeSelect

FontSubstitution

FormatAddrFonts

FormatChangeCase

FormatDefineStyleFont

FormatDefineStyleLang

FormatFont

FormatRetAddrFonts

GrowFont

GrowFontOnePoint

Hidden, Hidden()

Highlight

HighlightColor, HighlightColor()

Italic, Italic()

Language, Language$()

NormalFontPosition

NormalFontSpacing

Outline, Outline()

PasteFormat

ResetChar, ResetChar()

Shadow, Shadow()

ShrinkFont

ShrinkFontOnePoint

SmallCaps, SmallCaps()

Strikethrough, Strikethrough()

Subscript, Subscript()

Superscript, Superscript()

SymbolFont

ToolsLanguage

Underline, Underline()

WordUnderline, WordUnderline()


自定义

AddButton

ChooseButtonImage

CopyButtonImage

CountKeys()

CountMenuItems()

CountMenus()

CountToolbarButtons()

CountToolbars()

DeleteButton

EditButtonImage

KeyCode()

KeyMacro$()

ListCommands

MenuItemMacro$()

MenuItemText$()

MenuMode

MenuText$()

MoveButton

MoveToolbar

NewToolbar

PasteButtonImage

RenameMenu

ResetButtonImage

SizeToolbar

ToolbarButtonMacro$()

ToolbarName$()

ToolbarState()

ToolsCustomize

ToolsCustomizeKeyboard

ToolsCustomizeMenuBar

ToolsCustomizeMenus


日期和时间

Date$()

DateSerial()

DateValue()

Day()

Days360()

Hour()

InsertDateField

InsertDateTime

InsertTimeField

Minute()

Month()

Now()

OnTime

Second()

Time$()

TimeSerial()

TimeValue()

Today()

ToolsRevisionDate()

ToolsRevisionDate$()

Weekday()

Year()


定义和声明语句

Declare

Dim

Let

Redim


对话框定义和控制

Begin Dialog...End Dialog

CancelButton

CheckBox

ComboBox

Dialog, Dialog()

对话框编辑器

DlgControlId()

DlgEnable, DlgEnable()

DlgFilePreview, DlgFilePreview$()

DlgFocus, DlgFocus$()

DlgListBoxArray, DlgListBoxArray()

DlgLoadValues, DlgLoadValues()

DlgSetPicture

DlgStoreValues

DlgText, DlgText$()

DlgUpdateFilePreview

DlgValue, DlgValue()

DlgVisible, DlgVisible()

DropListBox

FilePreview

GetCurValues

GroupBox

InputBox$()

ListBox

MsgBox, MsgBox()

OKButton

OptionButton

OptionGroup

Picture

PushButton

Text

TextBox


磁盘存取和管理

ChDefaultDir

ChDir

Connect

CopyFile

CountDirectories()

DefaultDir$()

Files$()

GetAttr()

GetDirectory$()

Kill

MkDir

MountVolume

Name

PathFromMacPath$()

PathFromWinPath$()

RmDir

SetAttr


文档、模板和加载项

AddAddIn, AddAddIn()

AddInState, AddInState()

ClearAddIns

Converter$()

ConverterLookup()

CopyFile

CountAddIns()

CountDocumentVars()

CountFiles()

CountFoundFiles()

DeleteAddIn

DisableInput

DocClose

DocumentStatistics

FileClose

FileCloseAll

FileConfirmConversions, FileConfirmConversions()

FileCreator$()

FileDocumentLayout

FileFind

FileList

FileMacCustomPageSetupGX

FileMacPageSetup

FileMacPageSetupGX

FileName$()

FileNameFromWindow$()

FileNameInfo$()

FileNew

FileNewDefault

FileNumber

FileOpen

FilePageSetup

FilePrint

FilePrintDefault

FilePrintOneCopy

FilePrintPreview, FilePrintPreview()

FullScreen

FilePrintPreviewPages, FilePrintPreviewPages()

FilePrintSetup

FileQuit

FileRoutingSlip

Files$()

FileSave

FileSaveAll

FileSaveAs

FileSendMail

FileSummaryInfo

FileTemplates

FileType$()

FoundFileName$()

GetAddInID()

GetAddInName$()

GetAttr()

GetDocumentVar$()

GetDocumentVarName$()

InsertFile

Kill

LockDocument, LockDocument()

MacroFileName$()

Name

Organizer

PathFromMacPath$()

PathFromWinPath$()

SaveTemplate

SelectionFileName$()

SetAttr

SetDocumentVar, SetDocumentVar()

ToolsOptionsFileLocations

ToolsOptionsPrint


文档属性

CountDocumentProperties()

DeleteDocumentProperty

DocumentPropertyExists()

DocumentPropertyName$()

DocumentPropertyType()

GetDocumentProperty(), GetDocumentProperty$()

IsCustomDocumentProperty()

IsDocumentPropertyReadOnly()

SetDocumentProperty

SetDocumentPropertyLink


绘图

DrawAlign

DrawArc

DrawBringForward

DrawBringInFrontOfText

DrawBringToFront

DrawCallout

DrawClearRange

DrawCount()

DrawCountPolyPoints()

DrawDisassemblePicture

DrawEllipse

DrawExtendSelect

DrawFlipHorizontal

DrawFlipVertical

DrawFreeformPolygon

DrawGetCalloutTextbox

DrawGetPolyPoints

DrawGetType()

DrawGroup

DrawInsertWordPicture

DrawLine

DrawNudgeDown

DrawNudgeDownPixel

DrawNudgeLeft

DrawNudgeLeftPixel

DrawNudgeRight

DrawNudgeRightPixel

DrawNudgeUp

DrawNudgeUpPixel

DrawRectangle

DrawResetWordPicture

DrawReshape

DrawRotateLeft

DrawRotateRight

DrawRoundRectangle

DrawSelect, DrawSelect()

DrawSelectNext

DrawSelectPrevious

DrawSendBackward

DrawSendBehindText

DrawSendToBack

DrawSetCalloutTextbox

DrawSetInsertToAnchor

DrawSetInsertToTextbox

DrawSetPolyPoints

DrawSetRange, DrawSetRange()

DrawSnapToGrid

DrawTextBox

DrawUngroup

DrawUnselect

EditCopyAsPicture

FormatCallout

FormatDrawingObject

FormatPicture

InsertDrawing

SelectDrawingObjects

ToggleScribbleMode

ViewDrawingToolbar


动态数据交换 (DDE)

DDEExecute

DDEInitiate()

DDEPoke

DDERequest$()

DDETerminate

DDETerminateAll

FileCreator$()

FileType$()

MacID$()

SendKeys

SetFileCreatorAndType


编辑

AutoMarkIndexEntries

Cancel

ChangeCase, ChangeCase()

CopyText

DeleteBackWord

DeleteWord

EditClear

EditCopy

EditCopyAsPicture

EditCut

EditFind

EditGoTo

EditLinks

EditObject

EditPaste

EditPasteSpecial

EditPicture

EditRedo

EditRepeat

EditReplace

EditTOACategory

EditUndo

ExtendMode()

Insert

InsertAddCaption

InsertAutoCaption

InsertBreak

InsertCaption

InsertCaptionNumbering

InsertColumnBreak

InsertCrossReference

InsertIndex

InsertPageBreak

InsertPageNumbers

InsertSpike

InsertSymbol

InsertTableOfAuthorities

InsertTableOfContents

InsertTableOfFigures

MarkCitation

MarkIndexEntry

MarkTableOfContentsEntry

MoveText

OK

Overtype, Overtype()

Spike

ToolsOptionsEdit


电子邮件和传送

AOCEAddRecipient

AOCEAuthenticateUser()

AOCEClearMailerField

AOCECountRecipients()

AOCEGetRecipient$()

AOCEGetSender$()

AOCEGetSubject$()

AOCESendMail

AOCESetSubject

FileAOCEAddMailer

FileAOCEDeleteMailer

FileAOCEExpandMailer

FileAOCEForwardMail

FileAOCENextLetter

FileAOCEReplyAllMail

FileAOCEReplyMail

FileAOCESendMail

FilePost

FileRoutingSlip

FileSendMail

MailCheckNames

MailHideMessageHeader

MailMessageDelete

MailMessageForward

MailMessageMove

MailMessageNext

MailMessagePrevious

MailMessageProperties

MailMessageReply

MailMessageReplyAll

MailSelectNames


环境

AppInfo$()

Beep

CommandValid()

DOSToWin$()

Environ$()

Err

Error

GetPrivateProfileString$()

GetProfileString$()

GetSystemInfo, GetSystemInfo$()

IsDocumentDirty()

IsExecuteOnly()

IsMacro()

IsTemplateDirty()

LockDocument, LockDocument()

MacroFileName$()

MicrosoftSystemInfo

ScreenRefresh

ScreenUpdating, ScreenUpdating()

SelInfo()

SelType, SelType()

SetDocumentDirty

SetPrivateProfileString, SetPrivateProfileString()

SetProfileString

SetTemplateDirty

ViewMenus()

WaitCursor

WinToDOS$()


域

CheckBoxFormField

CountMergeFields()

DoFieldClick

DropDownFormField

EnableFormField

FormFieldOptions

GetFieldData$()

GetMergeField$()

InsertDateField

InsertDateTime

InsertField

InsertFieldChars

InsertFormField

InsertMergeField

InsertPageField

InsertTimeField

LockFields

MergeFieldName$()

NextField, NextField()

PrevField, PrevField()

PutFieldData

TextFormField

ToggleFieldDisplay

ToolsManageFields

UnlinkFields

UnlockFields

UpdateFields

UpdateSource

ViewFieldCodes, ViewFieldCodes()


查找和替换

EditFind

EditFindBorder

EditFindClearFormatting

EditFindFont

EditFindFound()

EditFindFrame

EditFindHighlight

EditFindLang

EditFindNotHighlight

EditFindPara

EditFindStyle

EditFindTabs

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFont

EditReplaceFrame

EditReplaceHighlight

EditReplaceLang

EditReplaceNotHighlight

EditReplacePara

EditReplaceStyle

EditReplaceTabs

RepeatFind


脚注、尾注和批注

AnnotationRefFromSel$()

EditConvertAllEndnotes

EditConvertAllFootnotes

EditConvertNotes

EditSwapAllNotes

GoToAnnotationScope

InsertAnnotation

InsertFootnote

NoteOptions

ResetNoteSepOrNotice

ShowAnnotationBy

ViewAnnotations, ViewAnnotations()

ViewEndnoteArea, ViewEndnoteArea()

ViewEndnoteContNotice

ViewEndnoteContSeparator

ViewEndnoteSeparator

ViewFootnoteArea, ViewFootnoteArea()

ViewFootnoteContNotice

ViewFootnoteContSeparator

ViewFootnotes, ViewFootnotes()

ViewFootnoteSeparator


表单

AddDropDownItem

CheckBoxFormField

ClearFormField

DocumentProtection()

DropDownFormField

EnableFormField

FormFieldOptions

FormShading, FormShading()

GetFormResult(), GetFormResult$()

InsertFormField

RemoveAllDropDownItems

RemoveDropDownItem

SetFormResult

TextFormField

ToolsProtectDocument

ToolsProtectSection

ToolsUnprotectDocument


帮助

AutomaticChange

Help

HelpAbout

HelpActiveWindow

HelpContents

HelpExamplesAndDemos

HelpIndex

HelpKeyboard

HelpMSN

HelpPSSHelp

HelpQuickPreview

HelpSearch

HelpTipOfTheDay

HelpTool

HelpUsingHelp

HelpWordPerfectHelp

HelpWordPerfectHelpOptions

ShowMe

TipWizard


宏

CommandValid()

CountMacros()

DisableAutoMacros

IsExecuteOnly()

IsMacro()

KeyMacro$()

MacroCopy

MacroDesc$()

MacroFileName$()

MacroName$()

MacroNameFromWindow$()

MenuItemMacro$()

OnTime

Organizer

PauseRecorder

REM

ShowVars

ToolbarButtonMacro$()

ToolsMacro


邮件合并

CountMergeFields()

GetMergeField$()

InsertMergeField

MailMerge

MailMergeAskToConvertChevrons, MailMergeAskToConvertChevrons()

MailMergeCheck

MailMergeConvertChevrons, MailMergeConvertChevrons()

MailMergeCreateDataSource

MailMergeCreateHeaderSource

MailMergeDataForm

MailMergeDataSource$()

MailMergeEditDataSource

MailMergeEditHeaderSource

MailMergeEditMainDocument

MailMergeFindRecord

MailMergeFirstRecord

MailMergeFoundRecord()

MailMergeGotoRecord, MailMergeGotoRecord()

MailMergeHelper

MailMergeInsertAsk

MailMergeInsertFillIn

MailMergeInsertIf

MailMergeInsertMergeRec

MailMergeInsertMergeSeq

MailMergeInsertNext

MailMergeInsertNextIf

MailMergeInsertSet

MailMergeInsertSkipIf

MailMergeLastRecord

MailMergeMainDocumentType, MailMergeMainDocumentType()

MailMergeNextRecord

MailMergeOpenDataSource

MailMergeOpenHeaderSource

MailMergePrevRecord

MailMergeQueryOptions

MailMergeReset

MailMergeState()

MailMergeToDoc

MailMergeToPrinter

MailMergeUseAddressBook

MailMergeViewData, MailMergeViewData()

MergeFieldName$()

ToolsAddRecordDefault

ToolsRemoveRecordDefault


移动插入点和选定

AtEndOfDocument()

AtStartOfDocument()

Cancel

CharLeft, CharLeft()

CharRight, CharRight()

ColumnSelect

EditSelectAll

EndOfColumn, EndOfColumn()

EndOfDocument, EndOfDocument()

EndOfLine, EndOfLine()

EndOfRow, EndOfRow()

EndOfWindow, EndOfWindow()

ExtendMode()

ExtendSelection

GetSelEndPos()

GetSelStartPos()

GetText$()

GoBack

GoToAnnotationScope

GoToHeaderFooter

GoToNextItem

GoToPreviousItem

HLine

HPage

HScroll, HScroll()

Insert

LineDown, LineDown()

LineUp, LineUp()

NextCell, NextCell()

NextField, NextField()

NextObject

NextPage, NextPage()

NextWindow

OtherPane

PageDown, PageDown()

PageUp, PageUp()

ParaDown, ParaDown()

ParaUp, ParaUp()

PrevCell, PrevCell()

PrevField, PrevField()

PrevObject

PrevPage, PrevPage()

PrevWindow

SelectCurAlignment

SelectCurColor

SelectCurFont

SelectCurIndent

SelectCurSentence

SelectCurSpacing

SelectCurTabs

SelectCurWord

SelType, SelType()

SentLeft, SentLeft()

SentRight, SentRight()

SetSelRange

ShrinkSelection

StartOfColumn, StartOfColumn()

StartOfDocument, StartOfDocument()

StartOfLine, StartOfLine()

StartOfRow, StartOfRow()

StartOfWindow, StartOfWindow()

TableSelectColumn

TableSelectRow

TableSelectTable

VLine

VPage

VScroll, VScroll()

WordLeft, WordLeft()

WordRight, WordRight()


对象链接和嵌入

ActivateObject

ConvertObject

EditCreatePublisher

EditLinks

EditObject

EditPasteSpecial

EditPicture

EditPublishOptions

EditSubscribeOptions

EditSubscribeTo

FileClosePicture

InsertChart

InsertDatabase

InsertEquation

InsertExcelTable

InsertObject

InsertPicture

InsertSound

InsertWordArt


大纲和主控文档

CreateSubdocument

DemoteToBodyText

InsertSubdocument

MergeSubdocument

OpenSubdocument

OutlineCollapse

OutlineDemote

OutlineExpand

OutlineLevel()

OutlineMoveDown

OutlineMoveUp

OutlinePromote

OutlineShowFirstLine, OutlineShowFirstLine()

OutlineShowFormat

RemoveSubdocument

ShowAllHeadings

ShowHeadingNumber

SplitSubdocument

ViewMasterDocument, ViewMasterDocument()

ViewOutline, ViewOutline()

ViewToggleMasterDocument


段落格式

CenterPara, CenterPara()

CloseUpPara

CopyFormat

FormatDefineStylePara

FormatDefineStyleTabs

FormatDropCap

FormatParagraph

FormatTabs

HangingIndent

Indent

InsertPara

JustifyPara, JustifyPara()

LeftPara, LeftPara()

NextTab()

OpenUpPara

ParaKeepLinesTogether, ParaKeepLinesTogether()

ParaKeepWithNext, ParaKeepWithNext()

ParaPageBreakBefore, ParaPageBreakBefore()

ParaWidowOrphanControl, ParaWidowOrphanControl()

PasteFormat

PrevTab()

ResetPara, ResetPara()

RightPara, RightPara()

SpacePara1, SpacePara1()

SpacePara15, SpacePara15()

SpacePara2, SpacePara2()

TabLeader$()

TabType()

UnHang

UnIndent


校对

CountToolsGrammarStatistics()

DocumentHasMisspellings()

NextMisspelling

SpellChecked, SpellChecked()

ToolsGetSpelling, ToolsGetSpelling()

ToolsGetSynonyms, ToolsGetSynonyms()

ToolsGrammar

ToolsGrammarStatisticsArray

ToolsHyphenation

ToolsHyphenationManual

ToolsOptionsGrammar

ToolsOptionsSpelling

ToolsSpelling

ToolsSpellingRecheckDocument

ToolsSpellSelection

ToolsThesaurus


文档和节的格式

CloseViewHeaderFooter

FileDocumentLayout

FileMacCustomPageSetupGX

FileMacPageSetup

FileMacPageSetupGX

FormatAutoFormat

FormatColumns

FormatHeaderFooterLink

FormatHeadingNumber

FormatHeadingNumbering

FormatPageNumber

FormatSectionLayout

GoToHeaderFooter

InsertSectionBreak

ShowNextHeaderFooter

ShowPrevHeaderFooter

ToggleHeaderFooterLink

ToggleMainTextLayer

TogglePortrait

ToolsOptionsAutoFormat

ViewFooter, ViewFooter()

ViewHeader, ViewHeader()


字符串和数字

Abs()

Asc()

Chr$()

CleanString$()

InStr()

Int()

LCase$()

Left$()

Len()

LTrim$()

Mid$()

Right$()

Rnd()

RTrim$()

Selection$()

Sgn()

SortArray

Str$()

String$()

UCase$()

Val()


样式

CountStyles()

FormatDefineStyleBorders

FormatDefineStyleFont

FormatDefineStyleFrame

FormatDefineStyleLang

FormatDefineStyleNumbers

FormatDefineStylePara

FormatDefineStyleTabs

FormatStyle

FormatStyleGallery

NormalStyle

Organizer

Style

StyleDesc$()

StyleName$()


表格

FieldSeparator$, FieldSeparator$()

InsertExcelTable

NextCell, NextCell()

PrevCell, PrevCell()

TableAutoFormat

TableAutoSum

TableColumnWidth

TableDeleteCells

TableDeleteColumn

TableDeleteRow

TableFormula

TableGridlines, TableGridlines()

TableHeadings, TableHeadings()

TableInsertCells

TableInsertColumn

TableInsertRow

TableInsertTable

TableMergeCells

TableRowHeight

TableSelectColumn

TableSelectRow

TableSelectTable

TableSort

TableSortAToZ

TableSortZToA

TableSplit

TableSplitCells

TableToText

TableUpdateAutoFormat

TextToTable


工具

DocumentProtection()

ToolsAdvancedSettings

ToolsCalculate, ToolsCalculate()

ToolsCompareVersions

ToolsCreateEnvelope

ToolsCreateLabels

ToolsCustomize

ToolsHyphenation

ToolsHyphenationManual

ToolsLanguage

ToolsMergeRevisions

ToolsOptions

ToolsOptionsAutoFormat

ToolsOptionsCompatibility

ToolsOptionsEdit

ToolsOptionsFileLocations

ToolsOptionsGeneral

ToolsOptionsPrint

ToolsOptionsRevisions

ToolsOptionsSave

ToolsOptionsUserInfo

ToolsOptionsView

ToolsProtectDocument

ToolsProtectSection

ToolsRepaginate

ToolsReviewRevisions

ToolsRevisionAuthor$()

ToolsRevisionDate()

ToolsRevisionDate$()

ToolsRevisions

ToolsRevisionType()

ToolsShrinkToFit

ToolsUnprotectDocument

ToolsWordCount


视图

ClosePreview

CloseViewHeaderFooter

FilePrintPreview, FilePrintPreview()

FilePrintPreviewFullScreen

FilePrintPreviewPages, FilePrintPreviewPages()

Magnifier, Magnifier()

ShowAll, ShowAll()

ShowNextHeaderFooter

ShowPrevHeaderFooter

ToggleFull

TogglePortrait

ToolsOptionsView

ViewAnnotations, ViewAnnotations()

ViewBorderToolbar

ViewDraft, ViewDraft()

ViewDrawingToolbar

ViewEndnoteArea, ViewEndnoteArea()

ViewEndnoteContNotice

ViewEndnoteContSeparator

ViewEndnoteSeparator

ViewFieldCodes, ViewFieldCodes()

ViewFooter, ViewFooter()

ViewFootnoteArea, ViewFootnoteArea()

ViewFootnoteContNotice

ViewFootnoteContSeparator

ViewFootnotes, ViewFootnotes()

ViewFootnoteSeparator

ViewHeader, ViewHeader()

ViewMasterDocument, ViewMasterDocument()

ViewMenus()

ViewNormal, ViewNormal()

ViewOutline, ViewOutline()

ViewPage, ViewPage()

ViewRibbon, ViewRibbon()

ViewRuler, ViewRuler()

ViewStatusBar, ViewStatusBar()

ViewToggleMasterDocument

ViewToolbars

ViewZoom

ViewZoom100

ViewZoom200

ViewZoom75

ViewZoomPageWidth

ViewZoomWholePage


窗口

Activate

AppActivate

AppClose

AppCount()

AppGetNames, AppGetNames()

AppHide

AppMaximize, AppMaximize()

AppMinimize, AppMinimize()

AppMove

AppRestore, AppRestore()

AppShow

AppSize

AppWindowHeight, AppWindowHeight()

AppWindowPosLeft, AppWindowPosLeft()

AppWindowPosTop, AppWindowPosTop()

AppWindowWidth, AppWindowWidth()

ClosePane

CountWindows()

DocClose

DocMaximize, DocMaximize()

DocMinimize, DocMinimize()

DocMove

DocRestore

DocSize

DocSplit, DocSplit()

DocWindowHeight, DocWindowHeight()

DocWindowPosLeft, DocWindowPosLeft()

DocWindowPosTop, DocWindowPosTop()

DocWindowWidth, DocWindowWidth()

ExitWindows

FileNameFromWindow$()

HelpActiveWindow

IsMacro()

NextWindow

OtherPane

PrevWindow

Window()

WindowArrangeAll

WindowList

WindowName$()

WindowNewWindow

WindowNumber

WindowPane()


算符和预定义书签

算符

概述

算符的优先顺序

算术算符

字符串连接算符

比较算符

逻辑算符

预定义书签

预定义书签


算符概述

表达式是算符、变量、数字、字符串和 WordBasic 函数的有效组合，并且可计算出单一结果。根据所用算符类型和数值的种类，表达式的结果可以是数字、字符串或逻辑值（-1 和 0 分别代表逻辑值真和假）。在 WordBasic 中有四类算符可与数值组合成表达式：算术型、字符串连接型、比较型和逻辑型。本节按算符的优先顺序说明这四类算符。


算符的优先顺序

当一个表达式中有若干个算符时，每部分均按称为算符优先顺序的预定顺序计算和求解。括号可用于不遵循优先顺序而先于其它部分计算表达式的某些部分。括号内的运算总要比括号外的运算先完成。

然而在括号内还是保持正常的算符优先顺序。表达式含多类算符时，先计算算术算符（包括字符串连接算符），然后是比较算符，逻辑算符最后。

表达式中的乘法和除法运算要先于加法和减法。表达式中乘、除法在一起时，各步运算按其出现的顺序从左向右进行。加、减法在一起时与此类似。所有的比较算符有同等优先权，按出现的顺序从左向右计算。

字符串连接算符 (+) 不是真正的算术算符，但在优先顺序中它在所有算术算符和比较算符之前。


算术算符

用这些算符可生成任意数值赋予变量，或者用于输入、输出或循环中。

算符	说明
- （求反）	表明运算域为负值。运算域可以是任何数值表达式。
* （乘法）	两数相乘，运算域可以是任意数值表达式。
/ （除法）	两数相除，运算域可以是任意数值表达式。
MOD（模除法）	两运算域相除并只返回余数。例如：表达式 19 MOD 7 （可读为 19 modulo 7）的结果为 5，运算域可以是任意数值表达式。
+ （加法）	两数求和，运算域可以是任意数值表达式。 注意：也将 + 用作为字符串连接算符。
- （减法）	两数求差，运算域可以是任意数值表达式。


字符串连接算符

用字符串连接算符可链接文字字符串和字符串变量。

算符	说明
+ （字符串连接）	连接两个字符串。例如："Microsoft"+"Word"的结果是 "Mcrosoft Word"。正在连接的字符串中必须包含空格以避免单词或字符运行到一起。如果用 Str$() 函数将数字返回为字符串，要注意该函数会在正号前添加空格（例如：Str$(47) 返回 " 47"），但不会在负号前（例如： Str$(-47) 返回 "-47"）。 注意：还可将 + 用作加法算符。


比较算符

这些算符（也称为关系算符）可用于比较两个表达式（数值型或字符串型）并返回真值 (-1) 或伪值 (0) 以用于像 If 条件句和 While...Wend 循环这样的控制结构中。下表列出了比较算符和确定结果为真或伪的条件。

算符	真	伪
= （等于）	表达式1=表达式2	表达式1<>表达式2
<> （不等于）	表达式1<>表达式2	表达式1=表达式2
< （小于）	表达式1<表达式2	表达式1>=表达式2
> （大于）	表达式1>表达式2	表达式1<=表达式2
<= （小于等于）	表达式1<=表达式2	表达式1>表达式2
>= （大于等于）	表达式1>=表达式2	表达式1<表达式2


逻辑算符

这些算符与比较表达式联合使用可创建返回真值(-1)或伪值 (0)的复杂逻辑表达式。

算符	说明
AND	当且仅当两个表达式的计算值均为真时，其结果为真；如果有一个表达式的计算值为伪，其结果为伪。根据以下所示确定结果： True AND True          真 False AND True         伪 True AND False         伪 False AND False        伪
OR	如果两个表达式中的一个或两个为真，结果为真。根据以下所示确定结果： True OR True             真 False OR True            真 True OR False            真 False OR False            伪
NOT	NOT 根据以下所示确定结果： NOT False               真 NOT True                伪 注意：NOT 的组合表达式只是在运算域为比较表达式或数值型真值和伪值时（真值为 -1，伪值为 0）才按上述方式计算。


预定义书签

示例

Word 可设置并自动更新许多预定义书签，可像使用置于文档中的预定义书签一样来使用这些预定义书签，除了不必设置的和未在“编辑”菜单中的 “GO TO” 对话框中列出的以外。下表说明 Word 中的有效书签。

书签	说明
\Sel	当前所选内容或插入点。
\PrevSel1	最近编辑过的选定内容。定位至该书签等同于运行一次 GoBack 语句。
\PrevSel2	编辑过的倒数第二部分选定内容。定位至此书签等同于运行两次 GoBack 语句。
\StartOfSel	当前选定内容的开始。
\EndOfSel	当前选定内容的结束。
\Line	当前行或当前选定内容的首行。如果插入点位于段落中非末行的行尾，书签包括下一整行。
\Char	当前字符，即无选定内容时位于插入点后的字符或选定内容中的第一个字符。
\Para	当前段落，即包含插入点的段落或在选定了多段时所选部分的首段。注意：如果插入点或选定内容位于文档末段，“\Para”书签不包含段落标记。
\Section	当前节，包括节尾的分节符（如果有的话）。当前节包含插入点或所选内容。如果所选内容包括多节，“\Section”书签是其首节。
\Doc	活动文档的全部内容，末段的段落标记除外。
\Page	当前页，包括页末的分页符（如果有的话）。当前页包含插入点。如果当前所选内容包含多页，“\Page”书签是其首页。注意：如果插入点或选定内容位于文档末页，“\Page”书签不包含末段的段落标记。
\StartOfDoc	文档开头。
\EndOfDoc	文档结尾。
\Cell	表格的当前单元格，即包含插入点的单元格。如果当前选定内容包含表格的一个或多个单元格，“\Cell”书签是是其第一个单元格。
\Table	当前表格，即包含插入点或所选内容的表格。如果所选内容包含多个表格，“\Table”书签是其中第一个整个表格，即使未选定整个表格也是如此。
\HeadingLevel	包含插入点或选定部分的标题，及附标题和文字。如果当前选定部分是正文文字，“HeadingLevel”书签包含之前的标题和附属于该标题的标题和文字。


预定义书签示例

下面的宏是使用预定义书签的典型示范。该宏从当前行开始逐行移过文档并删除行的前导间距。While...Wend 指令用“\Sel”书签（当前所选内容）和“EndOfDoc”书签，与CmpBookmarks() 函数一起决定所选内容是否位于文档结尾。到达文档结尾后，Word 会显示警告信息。

Sub MAIN

StartOfLine

While CmpBookmarks("\Sel", "\EndOfDoc")

A$=GetBookmark$("\Line")

B=Asc(A$)

If B=32 Then DeleteWord

EndOfLine

CharRight

Wend

MsgBox "End of document."

End Sub

CmpBookmarks() 函数可比较两个书签并根据书签的相对位置和大小返回不同数值。

WordBasic 宏中所用预定义书签的其它示例请参阅 CmpBookmarks()、CopyBookmark、ParaDown 和 Select Case。


错误信息

下面的两个列表，第一列是 WordBasic 错误信息，第二列是 Word 错误信息。它们包括出错时可以使用的编号。有关出错的详细内容，请参阅 On Error 语句。

WordBasic 错误信息

错误 #	信息

5	非法函数调用

6	溢出

7	内存不足

9	下标越界

11	除数为零

14	字符串空间不足

22	无效的数组维数

24	参数错误

25	堆栈空间内存不足

26	对话框必须有 End Dialog 或按钮

28	[目录或文件夹] 已经存在

39	缺少 CASE ELSE

51	内部错误

52	错误的文件名或文件号

53	文件未找到

54	错误的文件模式

55	 文件已经打开

57	 设备I/O错

62	读操作越过文件尾

64	错误的文件名

67	文件数目过多

74	文件被重命名到其它驱动器上

75	访问路径/文件错

76	路径未找到

100	语法错误

101	缺少逗号

102	命令失败

103	缺少对话记录变量

104	ELSE 没有对应的 IF

105	END IF 没有对应的 IF

109	缺少 INPUT

111	表达式过于复杂

112	缺少标识符

113	重复的标号

114	标号未找到

115	缺少右括号

116	参数数目不匹配

117	缺少 NEXT 或 WEND

118	嵌套的 SUB 或 FUNCTION 定义

119	NEXT 缺少对应的 FOR

120	数组已经声明

122	类型不匹配

123	未定义的对话记录域

124	未定义的命令、子程序或函数

125	宏非正常结束

126	WEND 缺少相应的 WHILE

127	维数错误

129	控制结构嵌套太多

130	SELECT 缺少相应的 END SELECT

131	对话框 REDIM 非法

132	外部调用导致串溢出

133	DLL 调用参数的类型或数据错误

134	函数参数包含非法的日期或时间

135	() 语句在 Word for ()中无效

136	() 语句在 Word for ()中无效

137	指定的路径是无效的路径选项

138	当前选定部分不能用此命令更改

139	不允许同时显示多个对话框

140	对话框控制标识符没有相应的控制

141	() 语句不能用于此类对话框控制

142	指定的应用程序并未处于运行状态

143	不允许隐藏或禁止正处于输入焦点的对话框控制

144	不能把输入焦点移到已隐藏或禁止的控制上

149	() 命令不能作为函数调用

150	对话框控制标识符已经定义

152	没有打开的文档，此命令无法使用

155	选定部分起始处不在域中

157	域中不能包含数据

158	有一个域的值太小

159	有一个域的值太大

160	参数数目不对

161	输入焦点改变（Action 值为4）时不能修改对话框

162	() 命令只能作为函数调用

163	该语句只能在用户对话框激活后使用

164	数组变量未初始化

500	无法初始化链接

501	无效的链路号

502	应用程序没有响应

503	进程在另一应用程序中执行失败

504	窗口不存在

505	无法激活应用程序

506	无法发送键码

508	另一应用程序忙

509	() 命令无效，因为 ()

511	无此命令或宏

512	值超过有效范围

513	字符串太长

514	文档未打开

528	无法装入拼写检查器

529	无法打开字典

530	对话框过于复杂

535	不允许运行此宏，因为此宏已运行

536	无此宏名

537	无法运行指定的宏

538	无法编辑指定的宏

539	无法更改指定宏的名称

540	无法删除指定的宏

541	无法设置指定宏的说明

543	无法打开指定的库

544	无法执行滚动命令，因为滚动条未激活

545	() 语句当前无法使用

546	如果编号不连续，脚注和尾注应从 1 开始

547	网络权限错误

549	指定的菜单或菜单项不存在

551	Word 无法执行此操作，因为指定模板已被锁定

552	Word 无法执行此操作，因为指定模板不存在

553	无法创建指定的宏

554	没有设置绘图范围

555	为绘图范围指定的书签无效

556	图形对象类型与命令不符

557	无法插入图形对象

558	主控文档中至少有一个子文档已锁定，对已锁定的子文档不能进行任何修改

559	当前选定部分是一个文本块

560	修订标记不可见

561	文档已被保护

562	ToolsGrammarStatisticsArray 不能在包含多种语言格式的文档中运行

563	该文档不是主控文档

564	此方向没有子文档

565	指定的文档不在嵌入程序列表中

566	指定的 Word 库正在使用，不能卸除

567	添加的下拉列表项不能超过 25 项

568	指定的字体不存在

569	PatternMatch 和 SoundsLike 参数不能同时设置成 1

570	二维以上的数组无法排序

574	找不到地址

575	返回 MAPI 错误

576	不能将地址添至个人通讯录

577	必须指定新地址的显示名称

578	未知文档属性

579	不能删除内部文档属性

580	未知链接

581	不能改变只读文档的属性值

582	不能装载指定库

583	非法函数名

Word 错误信息

错误 #	信息

1001	内存不够。请现在就保存文档。

1003	一次只可以指定一行、一个脚注、尾注、批注或域。

1005	书签不存在。

1006	为一页、一行、一个脚注、尾注或批注输入了多个目的。

1008	Word 不能在此处插入分节符。

1009	书签名无效。

1011	没有足够的内存来编译索引。

1013	没有足够的内存来运行 DDE 应用程序。

1014	没有足够的内存来运行应用程序。

1016	没有足够的内存来完成操作。

1017	没有足够的内存来更新显示。

1018	没有足够的内存来定义自动图文集项。

1019	没有足够的内存来合并样式。

1020	没有足够的内存来显示大纲。

1021	没有足够的内存来显示标尺。

1022	键入的名字是无效的自动图文集项。请在“标准”工具栏中使用“自动图文集”按钮，定义能够以一长串文本或图形插入的自动图文集项。

1023	在文件 () 上出现严重的磁盘错误。

1024	文件 () 是不可使用的。

1025	Word 不能打开文档。

1026	这个样式名不存在。

1027	没有足够的内存，Word 不能执行替换操作。

1028	搜索项没找到。

1029	没有足够的内存来显示或打印图片。

1030	裁剪之后尺寸太小或太大。

1031	改变大小之后尺寸太小或太大。

1032	文件太大，无法保存。请删除一些文本再试试。

1033	Word 不能使用“文件位置”选项中指定的 DOT-PATH，因为它无效。

1034	Word 不能使用“文件位置”选项中指定的 INI-PATH，因为它无效。

1035	Word 不能使用“文件位置”选项中指定的 TOOLS-PATH，因为它无效。

1036	Word 不能启动转换器 ()。

1037	没有足够的内存来运行转换器。

1038	口令不对。Word 不能覆盖文档。

1039	没有有效的断字区量值。

1041	这个文档模板不存在。

1042	所选择的左右页边距、栏间距或段落缩进设置对于某些节的页宽来说太大。

1043	这个制表位太大。

1044	Word 不能打印。没有安装打印机。

1045	这是无效的打印范围。

1046	由于当前打印机设置的问题，Windows 不能打印。

1047	没有足够的内存来重新分页或打印文档。

1048	Windows 需要更多的磁盘空间来打印这个文档。

1049	不能再打开窗口，除非关闭一个窗口。

1050	这是无效的数字。

1051	这是无效的量值。

1052	数字必须在 () 和 () 之间。

1053	量值必须在 () 和 () 之间。

1054	Word 不能写入文件 ()。

1055	文档名或路径名无效。

1056	这是无效的文件名。

1057	Word 不能给文档一个和打开的文档相同的名字。

1058	不能保存模板文件到非模板格式中。

1059	这个文件是只读文件。

1060	Word 不能保存或创建这个文件。请检查磁盘是不是处于写保护状态。

1062	域套用得太深。

1066	没有足够的内存来运行 Word。

1069	Word 不能打开已存在的 ()。

1070	这是无效的日期。

1071	这是无效的样式名。

1072	样式表已满。Word 不能定义新的样式。

1073	不能以样式自身为基础建立样式。

1074	“基于”样式名不存在或类型不对。

1075	“下一个”样式名不存在或类型不对。

1076	Word 不能从活动模板中合并样式表。

1077	这个样式名已存在或已保留为内部样式。

1078	找不到这个文件。

1079	没有足够的内存来存贮这么大的“剪贴板”。

1080	缩进尺寸太大。

1081	段落太宽。

1083	命令名必须有一个扩展名。

1084	Word 不能打开这个文档模板。

1085	文档模板无效。

1090	样式表已满。某些段落的样式可能会变成“标准”样式。

1091	Word 不能把文件插入到它自己里。

1093	没有足够的内存来运行同义词词典。

1094	Word 不能启动同义词词典。

1095	没有足够的内存来运行拼写检查器。

1097	Word 不能启动拼写检查器。

1103	Word 找不到文件 WORDCBT.CBT。

1104	这是无效的制表位。

1105	在这一段中设置了太多的制表位。

1106	一次清除的制表位太多。

1107	Word 未找到索引的 XE（索引项）域。

1108	Word 不能创建工作文件。

1109	WINWORD.OPT 文件无效。Word 将使用默认值。

1111	Word 不能打开结果窗口。请关闭一些打开的窗口再试试。

1112	不能在其他域内插入 DATA、NEXT、NEXTIF 或 SKIPIF 域。

1113	在批注、页眉、页脚、脚注或尾注中，不能包括 DATA、NEXT、NEXTIF 或 SKIPIF 域。

1114	DATA 域必须在 NEXT、NEXTIF 或 SKIPIF 域的前面。

1115	DATA 域不包含数据文件名。

1116	在域条件中有语法错误。

1117	Word 不能识别键入的数据源中的文件名。

1118	Word 不能识别键入的域名源中的文件名。

1119	所要求的记录超出邮件合并数据源结尾。

1120	有一个打印机错误。

1121	Word 不能改变打印机。没有安装打印机。

1122	“开始编号”方框内的编号无效。

1123	“格式”方框内的编号无效。

1124	“开始编号”和“格式”方框内的编号无效。

1125	Word 找不到目录的 TC（目录项）域。

1126	Word 打不到带标题样式的段落来包括在目录中。

1127	请先形成选定内容。

1128	这是无效的选定内容。

1129	文档太大，无法保存。请在保存之前删除一些文本。

1130	文档太大，Word 无法控制。

1132	内存不够。请关闭一个应用程序。

1133	这个搜索列表无效。

1134	这个搜索表达式无效。

1138	窗口太小。

1140	这是无效的尾注操作。

1142	Word 找不到修订标记。

1143	这个文档包含的样式太多。Word 删去了一些样式。

1144	Word 不能读入这个文档中的格式编排。

1145	Word 找不到脚注。

1146	Word 找不到批注。

1147	内存不够。复制的文本中字体可能不正确。

1151	Word 不能把包含分节符的文本移动到选定的目的。

1152	Word 不能把包含脚注、尾注或批注引用的文本移动到选定的目的。

1153	Word 不能替换脚注、尾注或批注引用。

1154	文档中编辑过多。这一操作无法完成。请保存工作。

1155	这是无效的行结尾操作。

1156	这是无效的脚注操作。

1157	Word 没有保存文档。

1158	原先的文件可能由于严重的磁盘错误而损坏。请用新的文件名保存它。

1159	现在工作于没有 Word 工作文件的状态，且内存也快满了。请保存工作。

1160	Word 工作文件和内存都快满了。请保存工作。

1161	栏数超过最大值。

1162	宽度超过最大值。

1163	不能删除行结尾。

1164	不能把这个选定内容插入到表格中。

1170	不能把这个选定内容粘贴到表格中。

1172	Word 不能粘贴包含分节符的文本。

1175	“粘贴”命令失败，因为复制区和粘贴区形状不同。

1176	内存不够。请关闭多余的窗口并保存工作。

1177	文档名或路径无效。

1179	这是无效批注操作。

1180	数值超过范围。

1181	Word 不能创建工作文件。请检查临时环境变量。

1182	没有足够的内存来排序。

1183	Word 不能对选定内容中的域排序。

1184	Word 找不到有效的记录来排序。

1185	想创建的样式基于太多的样式。

1186	内存不够。Word 将关闭已保存的文档。

1190	文件 () 中发生不可恢复的磁盘错误。

1191	往 () 写入时磁盘已满。请在本驱动器中释放一些空间或把文档保存到别的磁盘上。

1192	这个宏太大，Word 无法运行。请把它拆分为两个或更多个宏。

1193	模板 () 中的宏 () 太大，将被截短。若要完整地转换该宏，请在 Word for Windows 1.x 中编辑它，并把它拆分为两个或更多的宏。

1194	不能关闭正在运行的宏。

1195	() 是无效的宏名或命令名。

1196	没有足够的内存来录制命令。

1198	不能运行 Word：Windows 或 MS-DOS 版本不对。

1200	Word 不能启动“示例”和“演示”。

1202	没有足够的内存来运行“示例”和“演示”。

1208	Word 不能重命名或删除为编辑而打开的宏。

1209	在录制宏时不能编辑该宏。

1210	这个宏行太长。

1211	不能录制为编辑而打开的宏。

1215	内存不够。请关闭多余的窗口再试试。

1217	一行或多行太宽，无法拆分。

1218	所录制的宏太长，已被截短。

1219	对此操作来说一行或多行太宽。

1220	Word 不能找到或运行应用程序。

1225	不能复制或移动这个选定内容。

1226	内存不够。Word 不能显示所要求的字体。

1227	Word 不能打开图形文件。

1229	这一样式的“基于”列表是迂回的。

1234	将跳过带有不正确的域编号的记录。

1235	没有足够的内存来完成操作。

1236	内存不够。列表可能是不完整的。

1237	不能退出 Microsoft Word，因为有一个对话是活动的。请先切换到 Microsoft Word，然后关闭该对话。

1240	不能重新分页，除非安装一种打印机。

1241	Word for Windows 将打开一个 Word for OS/2 文档。（通过把该文档保存为 Word for Windows 文档，它可能完全从 Word for OS/2 转换过来。）

1245	Word 不能显示这种图片格式。

1246	指定数据类型不能使用。

1247	Word 不能启动文件转换器 ()，因为另一个 Word 操作正在使用它。

1248	Word 不能找到 () 对象的服务应用程序。请用“设置”程序安装服务应用程序。

1249	Word 不能得到 () 链接的数据。

1250	Word 不能改变指定键的功能。

1251	键名无效。

1255	拼写检查器正在使用。

1256	链接不存在。

1257	当文件正被另一个过程使用时不能保存它。请试用新名字保存该文件。

1260	Word 不能保存这个文件，因为它已在别处打开。

1261	Word 不能打开这个文件，因为它正在另一个过程中被更新。

1262	不能更改指定的链接。

1263	要打开的自定义字典太多。Word 一次最多可打开 10 个自定义字典。

1264	找不到服务应用程序、源文件或项目。请弄清应用程序是否安装合适，是否已删除、移动或重命名。

1265	用当前安装的打印机不能改变打印方向。

1266	间距至少必须有 ()。

1267	Word 不能创建自定义字典 ()。

1268	Word 不能打开自定义字典 ()。

1269	Word 不能编辑 ()。

1270	Word 不能使用“文件位置”选项中指定的 AUTOSAVE-PATH，因为它无效。

1271	Word 不能识别这种语言。

1272	没有足够的内存来运行 WordPerfect 用户的“帮助”。

1273	Word 不能启动 WordPerfect 用户的“帮助”。

1275	对象 () 已编辑锁定。

1276	在“查找”方框内没有下一个或格式编排。

1277	自定义字典已满。该词没添加进去。

1278	自定义字典 () 太大。请试试把它分为两半。

1279	发生一个拼写检查器错误。Word 将结束当前操作。

1280	自定义字典 () 是不可使用的。

1282	“位置”方框内的数字必须是正值。

1283	指定的图形过滤器不能识别这个文件。

1284	图形文件太长，无法转换。

1285	这个图形文件可能已损坏，不能转换。

1286	图形过滤器不能转换这个文件。

1287	Word 不能启动图形过滤器。

1289	语法检查器正在使用。

1290	没有足够的内存来运行语法检查器。

1291	Word 不能启动语法检查器。

1292	Word 不能读入这个文件。图形过滤器必须在 WIN.INI 文件中安装。

1293	Word 不识别对象 ()。

1295	找不到项目名 () 000() ()。

1297	设置不存在或不能删除。

1298	不能登记这个文档。

1299	路径列表已满。

1300	备份文件打开时 Word 不能保存文档。请清除备份选项或用新名字保存文档。

1302	操作被取消。

1304	没有足够的内存来对文档断字。

1305	Word 不能找到断字器文件的位置。

1306	文件查看器不能初始化。

1309	没有足够的内存来创建手写批注。

1310	计算之前请使列表分隔符和小数点分隔符不相同。

1311	同义词词典正在使用。

1312	口令不对。Word 不能打开文档。

1313	Word 不能使当前文档既进入邮件合并文档又进入数据文档。

1314	磁盘驱动器无效。

1315	路径无效。

1316	这一操作不能改变默认的页码格式。若要对本节改变默认的页码格式，请使用“插入页码”命令然后选择“格式”按钮。

1317	磁盘已满。

1318	没有足够的内存来显示“邮件合并”工具条。

1319	磁盘搜索失败。Word 已经恢复前一搜索路径。

1320	不能创建设置。

1321	目录无效。

1323	Word 不能找到 () ()。

1324	Word 不能对 () 找到 () ()。

1325	格式名包含无效字符。

1326	格式名太长。最大许可字符数为 253。

1327	Word 不能创建指定的目的文件。

1328	这个文件是空的或不包含图形影像。

1331	发生语法检查器错误。Word 将结束当前操作。

1332	路径不能包含句点作为路径元素。

1333	Word 不能启动“帮助”。

1334	不能编辑链接结果或嵌入对象。

1335	Word 不能转换图形文件，因为在“文件打印”中没有选定打印机。

1336	Word 不能创建文件 ()，因为没有指定文件名。

1338	许可的最大域数为 31。

1339	Word 不能写入 WIN.INI 文件。

1340	目的文档没有接受更新。

1341	文件名无效或包含路径。

1342	图形文件可以通过从“插入”菜单中使用“图片”选项来插入。

1343	Word 正在给另一个文档断字。

1345	不能用“查找文件”命令打印图形文件。

1346	不能以数据或域名源来附加文档模板。

1347	发生断字错误。Word 将结束当前操作。

1348	发生同义词词典错误。Word 将结束当前操作。

1349	Word 不能使用 WINWORD.INI 文件中指定的 DOC-PATH，因为它无效。

1351	在“大纲视图”中 Word 不能搜索段落标记。

1352	Word 不能删除旧的备份文件，因为它是只读文件或另一用户已把它打开。

1353	Word 不能对 () 打开 () ()。

1354	编辑文本窗口的选定内容中字符太多。

1355	选定内容中包含用编辑文本窗口无法编辑的字符。

1356	Word 已完成搜索 ()。找不到搜索项。

1357	Word 已完成搜索 ()。

1358	Word 不能使用 WINWORD.INI 文件中指定的 PIC-PATH，因为它无效。

1359	目录名无效。

1360	没有这一操作的网络许可。

1361	这个文件正在被另一应用程序或另一用户使用。

1362	打开的文件太多。

1363	不能删除当前工作目录。

1364	发生文件错误。

1366	在指定位置没有可用图片。

1367	建议名字的目录已经存在。

1368	建议名字的文件已经存在。

1369	Word 不能重命名文件。

1371	必须对自定义脚注或尾注标记键入一些文本。

1372	自动图文集名字无效。

1373	自动图文集名字已经存在。

1374	宏名无效。

1375	宏名已经存在。

1376	管理器不能重命名 () ()。

1377	内部 () () 不能删除。

1378	内部样式不能重命名。

1380	口令太长。

1381	Word 在试图显示“连接网络”对话框时检测到错误。

1382	没有足够的内存来编辑宏。

1383	不能关闭 Microsoft Word，因为还有一个对话是活动的。请先切换到 Microsoft Word 并关闭该对话。

1385	没有足够的内存来转换这个文件中的宏。

1386	管理器不能复制 () ()。

1387	Word 不能确定目的。

1388	Word 不能添加项目，因为自动更正项不能空白。

1389	口令不对。

1391	由于文件许可错误，Word 不能完成保存。

1392	不能添加，因为自动更正项限制在 31 个字符长。

1394	不能添加自动更正项，因为内存不够。

1395	自动更正不能替换包含空格字符的文本。请删除空格，或者以其他字符替换它。

1396	Word 不能在当前目录下保存语言设置。

1397	活动文档是无效邮件合并主文档。

1398	Word 不曾更新源文件。

1399	下拉式列表表单域在其列表中至少必须有一个项目。

1400	请检查软盘驱动器，确保驱动器门是关闭的，且内装正确的磁盘。

1402	没在足够的内存来保存整个“全部忽略”列表。

1405	文档是锁定的，不能打开。

1406	磁盘已满或打开的文件太多。

1407	Word 不能用包含分隔符的文本替换找到的项目。

1408	这个版本的拼写检查器不懂自定义目录 () 的语言格式编排。

1409	栏宽不能小于 ()。

1410	发现一栏或多栏或栏间距为零宽度，已删除。

1411	至少必须定义一个栏。

1412	链接的文档 () 不可使用。

1413	这个样式名不存在。

1414	不能把绘图对象放入正文框、图注、批注、脚注、尾注或宏中。

1415	申请的信封尺寸无效。

1419	某些节的页高大于最大许可页高。

1420	上/下页边距对于某些节的页高来说太大。

1422	增加左页边距导致某些节的第一栏太窄，使各栏分配不均。

1423	增加右页边距导致某些节的最后一栏太窄，使各栏分配不均。

1424	网络驱动器不能连接，因为没有空余的驱动器字母。

1425	没有口令不能进入网络驱动器。

1426	网络路径无效。

1427	网络口令无效。

1428	Word 已完成搜索 ()。() 各替换结束。

1429	Word 已完成搜索 ()。() 替换结束。

1431	() 是无效的 () 动态链接库。

1432	() 不是 () 动态链接库的正确版本。

1433	没有足够的内存来对菜单作指明的改变。

1434	Word 不能找到指定的菜单。

1435	本页没有页眉层次。将显示所有可用的层次。

1436	编号必须在 () 和 () 之间。

1437	这个项目标签无效。

1438	下拉式列表方框内所使用的项目不能多于 25 个。

1439	Word 不能合并这些文档或插入到这个数据库中。

1440	这个命令只有从宏中才能用。

1441	自动更正项不存在。

1442	Word 不能把文档缩减一页，因为文档已经只有一页。

1443	几经努力，Word 不能把文档缩减一页。

1444	Word 未能成功地把图片元文件转换为绘图对象。

1445	没有足够的系统资源来完成操作。

1446	新的工具栏必须有一个名字。

1447	公式是空的。

1448	这个项目的默认目录不能是软盘驱动器。请在硬盘上选择一个目录。

1449	那个工具栏已存在于指定的上下文中。请选择一个不同的名字。

1450	文档包含这个版本的 Word 所不支持的字符集。

1451	Word 找不到作者目录的 TA（作者目录项）域。

1452	Word 不能打开 () 作为数据或域名源，因为它不包含数据。

1453	所选择的名字已被内部工具栏使用。请选择不同的名字。

1454	Word 不能保存邮件文件。

1455	新菜单名不能与已存在的菜单名相同。

1456	选定内容不是由标题层次组成的。

1457	解除锁定的子文档已存在于另一个主控文档中。

1458	文件不能用写优先权打开。

1459	需要保存主控文档。请现在就保存它，然后再试一下操作。

1460	Word 未能保存子文档。请试试完全保存主控文档。

1461	未知的邮件地址。

1462	二义性邮件地址。两人或多人的邮件地址与指定地址相同。

1463	Word 未能邮走文档。

1464	“查找内容”文本中包含无效的“图案匹配”表达式。

1465	域分界符不能与记录分界符相同。

1466	对这个标签表来说行值或栏值太大或太小。

1467	页边距、标签大小和纵横编号值使页面超过标签页大小。

1468	水平和垂直间距必须分别大于或等于标签宽度和高度。

1469	标签宽度和高度必须为正值。

1470	Word 不能识别所指定的域和记录分界符。

1471	这个保存格式无效。

1472	只有当文档与打开的文档同名时 Word 才能以表单数据保存它。

1473	MACRO 域宏 () 是不可使用的。

1474	Word 不能打印，因为没有选定的默认打印机。请选定打印机。

1475	邮件系统不支持文档传递所需要的某种服务。

1476	邮件操作太多。请注销其他的邮件操作然后再试试。

1477	一般邮件失败。请关闭 Microsoft Windows，重新开始邮件系统，然后再试试。

1478	输入项是空的。

1479	未发现引用。

1480	不能使用“更新源”命令来更新主控文档。

1481	Word 不能对另一个驱动器重命名文件。

1482	“好象是”搜索的“查找内容”文本只能包含非强调的字母序字母。

1483	Word 找不到标题来包括图片目录。

1484	Word 找不到它的帮助文件 (WRDHLP32.DLL)。可以用 Word 的“设置”程序安装帮助文件。

1485	操作不能完成，因为主控文档所包含的子文档层次不能大于 9。

1486	已发生网络或文件许可错误。网络连接可能丢失。

1487	打开的文件太多。请关闭一个窗口。

1488	打开的 DDE 通道太多。请关闭一个窗口。

1489	打开的 Word 文档太多。请关闭一个窗口。

1490	模板不能自定义化，因为它已编辑锁定。

1491	在目的文档中样式 () 系指多于一个样式。

1492	这个菜单项是 Word 自动添加的，不能从菜单中删除。

1493	当 Word 检测到工具已安装时就自动添加证实工具菜单项。这个项目不能从菜单中删除。

1494	“查找内容”文本包含无效的范围。

1495	这个命令只支持表格和段落分界列表。

1496	记录 () 包含的的域分界符（ () ）太多。

1497	记录 () 包含的的域分界符（ () ）太少。

1498	Word 找不到尾注。

1499	不能载入 Word “加载”。

1500	“起始编号”在这种格式中必须在 () 和 () 之间。

1502	Word 不能附加文档到保护模板上。

1503	你不能录制宏到锁定文件中。

1504	没有标记索引目录项。

1505	Word 不能插入没有选定域名的数据库。

1506	Word 不能更新索引。

1507	不能插入子文档 ()，因为它是当前主控文档，或者它把当前主控文档当作子文档进行包含。

1508	最大长度值必须等于或大于默认文本 () 字符长度。

1509	Word 不能在域代码或域结果内创建子文档。

1510	Word 不能在表格内创建子文档。

1511	Word 不能在图文框内创建子文档。

1512	() 不是样式名。

1513	() 系指多于一个样式。

1515	Word 不能复制样式 ()，因为它与不同类型的样式匹配。

1516	没有图形过滤器 Word 不能显示 Macintosh 图片。

1517	Word 不能查找指定菜单项。

1518	不能重命名或删除宏 ()，因为它因编辑或录制目前已打开。

1519	Word 不能载入“按钮编辑器”COMMTB.DLL。

1520	在系统上没有安装邮件。

1521	Word 已为这条信息选择路径。请重新设置传递名单然后再试试。

1522	Word 完成这个文档的传递之前不能运行宏。

1523	Word 文档没有传递名单。请添加传递名单，然后再试试。

1524	Windows 不能打开 Word for the Macintosh 图文集文件。

1525	Word 未能更新源文件，因为它已被保护或者它是打开的子文档。

1526	必须为自定义分隔符键入一个字符。

1527	“替换为”文本包含超过范围的分组编号。

1528	() 是无效的“替换为”方框特殊字符。

1529	() 是无效的“查找内容”方框特殊字符。

1530	当前选定内容包含无效的表格或列表。

1531	Word 不能读入这个文档中的页眉或页脚。请以 Rich 文字格式保存它，关闭它然后再打开它。

1533	文件名列表太长。Word 不能一次打开这么多文件。

1534	Word 不能合并可由没有有效邮件地址的邮件或传真分配的文档。请选择“设置”按钮，选定邮件地址数据域。

1535	Word 未能把主文档和数据源合并，因为数据记录是空的或者没有数据记录与查询的选项匹配。

1536	Word 不能找到或运行“打印管理器”。

1537	要求有效的日期或时间。

1538	要求有效的数字。

1539	Word 找不到带有编辑图表目录所需要的样式的段落。

1540	Word 找不到带有编辑目录所需要的样式的段落。

1541	Word 找不到图表目录的 TC（目录项）域。

1542	Word 未能对进入有效 SQL 字符串的查询选项进行语法分析。

1543	在“文字之前”和“文字之后”方框内键入的字符不能多于 32 个。

1544	Word 未能重建到 () 的 DDE 连接，以完成当前任务。

1545	这是无效的文件名 '()。

1546	Word 未能从活动数据源中检索出 SQL 字符串。

1547	这个文档不能在“管理器”对话框中打开。

1548	这项命令的默认菜单不存在。请使用“自定义化”命令把此命令添加到菜单中。

1549	Word 已增加信封高度或宽度，因为它太小。最小信封尺寸是 6.4×2.13 英寸。

1550	这个工具栏名无效。

1551	这个工具栏名已经存在。

1552	内部样式“标准”和“默认段落字体”不能作为任何样式的基础。

1553	Word 未能打开 ()，因为它不包含有效数据库。

1554	这个命令不可使用，因为没有用“表单”工具栏或“插入表单域”对话框插入表单域。

1555	Word 不能切换应用程序。

1556	Word 未能找到或启动 ()。

1557	管理器未能删除 () ()。

1558	() () 不存在。

1559	Word 未能从上次操作中恢复自动保存文档。

1560	Word 未能用指定数据库替换选定内容。

1561	Word 不能启动语法检查器。

1562	没有标记引用。

1563	Word 不能以数据源或域名源打开 ()，因为它是邮件合并主文档。

1564	文档不能锁定。

1565	不能直接把合并文档所创建的分类发送到邮件、传真或打印机。

1566	Word 未能合并这些文档或插入这个数据库。

1567	系统上没有安装 Microsoft Mail Local Fax。

1568	Windows 注册数据库文件无效。可以用 Word 的“设置”程序来更正它。

1569	Word 不能载入 OLE 2.0 或 Docfile 库。

1570	没有足够的可用磁盘空间来运行 Word。

1571	不能把表单域粘贴到批注、页眉、页脚、脚注、尾注或正文框内。

1572	这个文档中的格式编排太复杂。请现在就完全保存文档。

1573	撤消操作被子文档或主控文档中的锁定所阻止。

1574	操作被子文档或主控文档中的锁定所阻止。

1575	要求有效的日期格式。

1576	要求有效的数字格式。

1577	“加载”模板无效。

1578	这个键名对排序无效。请从列表中键入或选择另一个键。

1579	Word 不能对这个表格或选定内容排序，因为它的所有行都是表格标题。

1580	Word 不能识别这些数字，原因是 Windows 所用的列表分隔符、编号格式或货币格式设置。若要查看当前设置，请在 Windows “控制面板”中双击“国别设定”图标。

1581	Word 不能启动“快速预览”。

1582	不能定位到所要求的书签。

1583	复杂查询选项产生的 SQL 字符串太长，Access 1.0 无法操纵。请升级到 Microsoft Access 的较晚版本，以运行查询选项。

1584	Word 不能对 Microsoft Access 查询项排序。需要对 Microsoft Access 中的查询排序。

1585	Normal.dot 已经作为“加载”打开。

1586	Word 将打开 Word for Windows 1.x 模板。不能转换 Word for Windows 1.x 中的宏，如果这个文件以 Word for Windows 6.0 格式保存，宏将丢失。

1587	在页面上的绘图对象太多，无法更新显示。

1588	不能把分节符放入页眉、页脚、脚注、尾注、批注、正文框、图注或宏中。

1589	操作不能完成，因为子文档在另一个窗口中已打开。

1590	操作不能完成，因为子文档比主控文档的保护率更高。请用“工具保护”提高主控文档的保护率。

1591	操作不能完成，因为主控文档或子文档在其内部已打开嵌入对象。请更新和关闭这些对象。

1592	Word 不能进行所请求的网络连接。

1593	在表单域中字符太多。

1594	选定内容被标记为删除的文本。

1595	Word 不能搜索“主控文档视图”中的段落标记。

1596	() 是无效的“查找内容”方框特殊字符，或者当选定“使用模式匹配”复选框时它不被支持。

1597	没有足够的内存来初始化菜单。请保存所有变化，然后关闭 Word。

1598	不能编辑文档中没有保存的图片。

1599	选定的绘图对象将不适于单个分组。

1600	这一操作不可使用，因为“自动格式编排器”对话正在运行。

1601	Word 不能插入数据库，因为查询选项产生了空结果。

1602	Word 不能以域名文件打开 ()，因为它不能转换为当地 Word 文件。


AllCaps  示例

该示例在所选内容中部分设置为全部大写格式时对整部分应用全部大写格式：

If AllCaps() = -1 Then AllCaps 1


AllCaps, AllCaps()

示例

AllCaps [On]

AllCaps()

AllCaps 语句添加或取消当前选定内容的全部大写字符格式，或控制要在插入点插入的字符的全部大写格式。

参数	解释
On	指定要添加还是取消全部大写格式： 1     将选定内容设为全部大写格式。 0     取消全部大写格式。 忽略  切换全部大写格式。
AllCaps() 函数返回下列值。

数值	解释
0	如果选定内容中没有全部大写格式。
-1	如果选定内容的一部分是全部大写格式。
1	如果所有选定的内容都是全部大写格式。
_____________

请参阅

字符格式语句和函数

FormatFont


Bold  示例

该示例在所选内容中部分设置为粗体格式时对整部分应用粗体格式：

If Bold() = -1 Then Bold 1


Bold, Bold()

示例

Bold [On]

Bold()

Bold 语句添加或取消选定内容的粗体字符格式，或控制要在插入点插入的字符的粗体格式。

参 数	解 释
On	指定要添加还是取消粗体格式： 1  将选定内容设为粗体格式 0  取消粗体格式 忽略  切换粗体格式
Bold()函数返回下列值。

数 值	解 释
0	如果选定的内容中没有粗体格式。
-1	如果选定内容中的一部分是粗体格式。
1	如果所选定的内容都是粗体格式。
_____________

请参阅

字符格式语句和函数

FormatFont


CopyFormat  示例

该示例将当前段第一个字符的字符格式（用预定义书签“ \ Para”选择）复制到前一段：

EditGoTo "\Para"

CopyFormat

ParaUp 2

ParaDown 1, 1

PasteFormat


CopyFormat

示例

CopyFormat

将所选文本中第一个字符的字符格式复制到另一选定文本。如果选定了段落标记，Word 在复制字符格式的同时还复制段落格式。要让 CopyFormat 正常工作，宏指令必须在 CopyFormat 指令前选定范围，在 CopyFormat 后再选定新范围。然后用 PasteFormat 语句来应用此格式。

_____________

请参阅

字符格式语句和函数

CopyText

PasteFormat


CountLanguages()  示例

该示例用有效语言格式的列表填充 langnames$() 数组：

Dim langnames$(CountLanguages())

For count = 1 To CountLanguages()

langnames$(count) = Language$(count)

Next


CountLanguages()

 示例

CountLanguages()

返回有效语言格式的数量，包括“不作校对”（用 Language "0" 指令设置）。 有效外语名称列表请参阅 ToolsLanguage。

_____________

请参阅

字符格式语句和函数

Language

ToolsLanguage


DottedUnderline, DottedUnderline()

DottedUnderline [On]

DottedUnderline()

DottedUnderline 语句添加或取消当前所选文本的点下划线格式，或控制要在插入点处插入的字符的点下划线格式。

参 数	解 释
On	指定要添加还是取消点下划线格式： 1  将选定内容设为点下划线格式 0  取消点下划线格式 忽略  切换点下划线格式
DottedUnderline() 函数返回下列值。

数 值	解 释
0	如果选定的内容中没有点下划线格式。
-1	如果选定内容中部分是点下划线格式。
1	如果所选内容都是点下划线格式。
_____________

请参阅

字符格式语句和函数

DoubleUnderline

FormatBordersAndShading

FormatFont

Underline


DoubleUnderline, DoubleUnderline()

DoubleUnderline [On]

DoubleUnderline()

DoubleUnderline  语句添加或取消当前所选文本的双下划线格式，或控制要在插入点处插入的字符的双下划线格式。

参 数	解 释
On	指定要添加还是取消双下划线格式： 1  将选定内容设为双下划线格式 0  取消双下划线格式 忽略  切换双下划线格式
DoubleUnderline () 函数返回下列值。

数 值	解 释
0	如果选定的内容中没有双下划线格式。
-1	如果选定内容的一部分是双下划线格式。
1	如果所选定的内容都是双下划线格式。
_____________

请参阅

字符格式语句和函数

DottedUnderline

FormatBordersAndShading

FormatFont

Underline


Font  示例

该示例选定插入点所在段落 （用预定义书签“ \ Para”） 并应用 8 磅 Courier 字体：

EditGoTo "\Para"

Font "Courier", 8

下例在插入点所在段落有多种字体时显示信息框：

EditGoTo "\Para"

If Font$() = "" Then

MsgBox "Paragraph contains more than one font."

End If


Font, Font$()

示例

Font Name$ [, Size]

Font$()

Font$(Count)

Font 语句给选定内容应用指定字体。

参 数	解 释
Name$	要应用的字体名。
Size	按磅计量的字体大小。用该参数就可以不用在 Font 指令后加 FontSize 指令。
Font$() 函数返回选定内容所用字体名。如果选定内容包含多种字体，则返回空字符串（“”）。如果指定了 Count，Font$() 会在从 1 到 CountFonts() 的范围中返回当前字体列表中 Count 位置的字体名。

_____________

请参阅

字符格式语句和函数

CountFonts()

FontSize

FormatFont


FontSize, FontSize()

FontSize Size

FontSize()

FontSize 语句按磅设置所选文本的字体大小。

FontSize() 函数返回所选文本的字体大小，如果选定文本包含多种字体大小，则返回 0。

____________

请参阅

字符格式语句和函数

Font

FontSizeSelect

FormatFont


FontSizeSelect

FontSizeSelect

如已显示格式工具栏，可将输入焦点移至“字体大小”框；否则，先显示“格式”菜单中的“字体”对话框 ，选择“字体”选项卡，再将输入焦点移至“大小”框。

_____________

请参阅

字符格式语句和函数

Font

FontSize

FormatFont


FontSubstitution

FontSubstitution .UnavailableFont = text, .SubstituteFont = text

设置活动文档的字体映象选项。FontSubstitution 语句的参数对应于“工具”菜单中“选项”对话框 ”的“兼容性”选项卡上的“字体替换”对话框中的选项。

参 数	解 释
UnavailableFont	要将其映象为另一字体以便显示和打印的计算机中的无效字体名。
.SubstituteFont	要用于替代无效字体的计算机中的有效字体名。
_____________

请参阅

字符格式语句和函数

ToolsOptionsCompatibility


FormatAddrFonts

FormatAddrFonts [.Points = number] [, .Underline = number] [, .Color = number] [, .Strikethrough = number] [, .Superscript = number] [, .Subscript = number] [, .Hidden = number] [, .SmallCaps = number] [, .AllCaps = number] [, .Spacing = number] [, .Position = number or text] [, .Kerning = number] [, .KerningMin = number or text] [, .Default] [, .Tab = number] [, .Font = text] [, .Bold = number] [, .Italic = number]

设置信封地址的字符格式。FormatAddrFonts 要在 ToolsCreateEnvelope 之前，以指定“格式”菜单中“字体”对话框中选项的对应项。要包括 .Default 来储存指定为信封默认字符格式的选项。参数说明请参阅 FormatFont。

_____________

请参阅

字符格式语句和函数

FormatFont

FormatRetAddrFonts

ToolsCreateEnvelope


FormatChangeCase

FormatChangeCase [.Type = number]

根据指定的大小写类型改变选定文本的大小写。FormatChangeCase 语句的参数对应于“格式”菜单的“更改大小写”对话框中的选项。

参 数	解 释
.Type	要应用的大小写类型：  0 或省略    句式的大小写 （将每个选定的句子的第一个字符设为大写）。 1 小写（将所选字符改为小写）。 2 大写（将所选字符改为大写）。 3 首字母大写（将所选单词的第一个字母设为大写）。 4 大小写转换（切换每个选定字母的大小写格式）。
_____________

请参阅

字符格式语句和函数

AllCaps

ChangeCase

LCase$()

SmallCaps

UCase$()


FormatRetAddrFonts

FormatRetAddrFonts [.Points = number] [, .Underline = number] [, .Color = number] [, .Strikethrough = number] [, .Superscript = number] [, .Subscript = number] [, .Hidden = number] [, .SmallCaps = number] [, .AllCaps = number] [, .Spacing = number] [, .Position = number or text] [, .Kerning = number] [, .KerningMin = number or text] [, .Default] [, .Tab = number] [, .Font = text] [, .Bold = number] [, .Italic = number]

设置信封上寄信人地址的字符格式。FormatRetAddrFonts 要在ToolsCreateEnvelope 之前，以指定“格式” 菜单的“字体”对话框中选项的对应项。要包括 .Default 来储存指定为寄信人地址默认字符格式的选项。参数说明请参阅 FormatFont。

_____________

请参阅

字符格式语句和函数

FormatAddrFonts

FormatFont

ToolsCreateEnvelope


GrowFont

GrowFont

将所选文本（或要在插入点处插入的文本）的字体大小增至所选打印机支持的下一尺寸。如果所选内容中包含多种字体大小，每种字体大小都会增至下一有效设置。如果没有选定内容，新文本将应用较大字号。

_____________

请参阅

字符格式语句和函数

FontSize

FormatFont

GrowFontOnePoint

ShrinkFont

ShrinkFontOnePoint


GrowFontOnePoint

GrowFontOnePoint

将选定文本（或是要在插入点插入的文本） 的字体大小增大一磅，无论所选打印机是否支持新字号。如果所选文本中包含多种字体大小，每种字体大小都会增加一磅。

_____________

请参阅

字符格式语句和函数

FontSize

FormatFont

GrowFont

ShrinkFont

ShrinkFontOnePoint


Hidden, Hidden()

Hidden [On]

Hidden()

Hidden 语句添加或取消当前选定内容的隐藏字符格式，或控制要在插入点插 入的字符的隐藏格式。可用“工具”菜单中“选项”对话框的“视图”选项卡上的“隐藏文字”复选框来控制隐藏文字的显示。

参 数	解 释
On	指定要添加还是取消隐藏格式： 1  添加隐藏格式 0  取消隐藏格式 忽略  切换隐藏格式  .
Hidden()函数返回下列值。

数 值	解 释
0	如果选定内容中没有隐藏格式。
-1	如果选定内容中部分是隐藏格式。
1	如果选定内容全部是隐藏格式。
_____________

请参阅

字符格式语句和函数

FormatFont


Italic, Italic()

Italic [On]

Italic()

Italic 语句添加或取消所选文本的斜体字符格式，或控制要在插入点插入的字符的斜体字符格式。

参 数	解 释
On	指定要添加还是取消斜体格式： 1  将选定内容设为斜体格式  0  取消斜体格式 忽略  切换斜体格式
Italic()函数返回下列值。

数值	解释
0	如果选定内容中没有斜体格式。
-1	如果选定内容中部分是斜体格式。
1	如果选定内容都是斜体格式。
_____________

请参阅

字符格式语句和函数

FormatFont


Language  示例

这些指令显示了 Language 语句的三种不同用法。第一种将选定内容标记为英国英语，第二种标为是第十二的语言，第三种标为“不作校对”，校对工具会跳过标记为“不作校对”的文本。

Language "English (UK)"

Language Language$(12)

Language "0"

下列宏在活动文档中创建显示全部有效 Language$(Count) 指令和每个 Count 值返回的对应语言名称的两栏列表。返回的语言名称都是 Language 语句的有效参数。

Sub MAIN

For i = 1 To CountLanguages()

If i > 1 Then InsertPara

Insert "Language$(" + Right$(Str$(i), Len(Str$(i))-1) + ")" \

+ Chr$(9) + Language$(i)

Next

End Sub


Language, Language$()

 示例

Language Language$

Language$([Count])

Language 语句将所选文字识别为特定语言。校对工具使用该文字的指定语言词典。尽管“工具”菜单中“语言”对话框中列出了语言名称的英语形式，但 Language$ 必须在指定语言中并包括加了重音符号的字符。例如：意大利语必须指定为“Italiano”，法语必须指定为“Fran鏰is.”有效外语名称列表请参阅 ToolsLanguage。

如果 Count 为 0 或忽略，Language$() 函数将返回所选文字的第一个字符的语言格式。如果没有选定内容，Language$() 函数将返回插入点左边字符的语言格式。

如果 Count 大于 0，Language$() 函数将返回 Count 语言的名称，Count 是未翻译语言名称的内部列表中该语言的位置。注意，未翻译语言名称列表与“工具” 菜单的“语言”对话框中的语言列表是不一致，因为对话框中的语言名称已译为英语并按字母顺序存放。Count 参数的范围是从 1 到 CountLanguages()。.

_____________

请参阅

字符格式语句和函数

CountLanguages()

ToolsLanguage


NormalFontPosition

NormalFontPosition

如果提升或降低了所选字符，将其还原至基准线。

_____________

请参阅

字符格式语句和函数

FormatFont

NormalFontSpacing


NormalFontSpacing

NormalFontSpacing

如果加宽或紧缩了所选字符的当前间距，将其还原至“标准”字符间距。

_____________

请参阅

字符格式语句和函数

FormatFont

NormalFontPosition


PasteFormat 示例

该示例复制当前段落的字符格式和段落格式（用预定义书签“ \ Para”选定)，然后给下段只应用段落格式，而不应用字符格式，因为在 PasteForma 运行时未选定文本。ResetChar 确保在插入点新键入的文字具有当前样式的字体特征。

SelType 1	'如果有选择，则取消

EditGoTo "\Para"

CopyFormat

ParaDown

PasteFormat

ResetChar


PasteFormat

示例

PasteFormat

给所选内容应用 CopyFormat 复制的格式。如果在 CopyFormat 运行时选定了段落标记，Word 除应用字符格式外还应用段落格式。

_____________

请参阅

字符格式语句和函数

CopyFormat

ResetChar

ResetPara


ResetChar  示例

如果当前段落设为 Normal，该示例选定整段（用预定义书签“ \ Para”） 并取消未定义为该样式组成部分的字符格式。

If StyleName$() = "Normal" Then

EditGoTo "\Para"

ResetChar

End If


ResetChar, ResetChar()

 示例

ResetChar

ResetChar()

ResetChar 语句取消选定文本中的人工字符格式（未在所选段落样式中定义的格式）。例如：将段落中的单词或短语人工设为粗体文本，将段落样式设为纯文本，ResetChar 将取消粗体格式。

ResetChar()函数在不重设字符格式的情况下返回下列值。

数 值	解 释
0	如果选定文本包含人工字符格式。
1	如果选定文本不含人工字符格式。
_____________

请参阅

字符格式语句和函数

FormatFont

ResetPara


ShrinkFont  示例

该宏插入一行逐渐变小的 Z 字符。 要注意在同一行中用冒号分隔指令的方式。在该宏中，SrinkFont 在单独行中执行三次。

Sub MAIN

FontSize 45

For count = 1 To 7

Insert "Z"

ShrinkFont : ShrinkFont : ShrinkFont

Next count

End Sub


ShrinkFont

 示例

ShrinkFont

将选定文本的字体大小减至指定打印机支持的下一有效字体大小。如果选定内容中含有不同字体大小，每种大小均减至下一有效设置。如果没有选定内容，新文本将应用较小的字号。

_____________

请参阅

字符格式语句和函数

Font

FontSize

FormatFont

GrowFont

ResetChar

ShrinkFontOnePoint


ShrinkFontOnePoint

ShrinkFontOnePoint

将选定文本（或是要在插入点插入的文本）的字体大小减小一磅，不管所选打印机是否支持新字体大小。如果选定内容中含有多种字体大小，每种字体大小均减小一磅。

____________

请参阅

字符格式语句和函数

GrowFontOnePoint

ShrinkFont


SmallCaps 示例

如果当前段落用预定义书签（ \ Para“选定）有小型大写字母格式，该示例将整段设为小型大写字母格式：

SelType 1	'Cancel selection, if any

EditGoTo "\Para"

If SmallCaps() = -1 Then SmallCaps 1


SmallCaps, SmallCaps()

示例

SmallCaps [On]

SmallCaps()

SmallCaps 语句添加或取消当前选定内容的小型大写字母格式，或控制要在插入点插入的字符的小型大写格式。

参数	解释
On	指定要添加还是取消小型大写字母格式： 1  将选定内容设为小型大写字母格式 0  取消小型大写字母格式 忽略  切换小型大写字母格式
SmallCaps()函数返回下列值。

数 值	解 释
0	如果选定内容中没有小型大写字母格式。
-1	如果选定内容中一部分是小型大写字母格式。
1	如果选定内容都是小型大写字母格式。
_____________

请参阅

字符格式语句和函数

AllCaps

ChangeCase

FormatFont

UCase$()


Strikethrough, Strikethrough()

Strikethrough [On]

Strikethrough()

Strikethrough 语句添加或取消当前选定内容中的删除线字符格式，或控制要在插入点处的插入的字符的删除线格式。

参 数	解 释
On	指定要添加还是取消删除线格式： 1  将选定内容设为删除线格式 0  取消删除线格式 忽略  切换删除线格式
Strikethrough()函数返回下列值。

数 值	解 释
0	如果选定内容中无删除线格式。
-1	如果选定内容中部分是删除线格式。
1	如果选定内容都是删除线格式。
激活修订标记被时，Word 用删除线标记删除过的文本。但 Word 不会将 Strikethrough 语句设置格式的文本识别为删除过的文本。如果为了使用修订标记，想将所选文本标记为删除过的文本，可用下列指令：

ToolsRevisions .MarkRevisions = 1

EditClear

_____________

请参阅

字符格式语句和函数

FormatFont

ToolsRevisions


Subscript, Subscript()2

Subscript [On]

Subscript()

Subscript 语句添加或取消当前选定内容的下标字符格式，或控制要在插入点处插入的字符的下标格式。

参 数	解 释
On	指定要添加还是取消下标格式 ： 1  将选定内容设为下标格式 0  取消下标格式 忽略  切换下标格式
Subscript()函数返回下列值。

数值	解释
0	如果选定内容中无下标格式。
-1	如果选定内容中部分是下标格式。
1	如果选定内容都是下标 格式。
_____________

请参阅

字符格式语句和函数

FormatFont

Superscript


Superscript, Superscript()

Superscript [On]

Superscript()

Superscript 语句添加或取消当前选定内容的上标字符格式，或控制要在插入点插入的字符的上标格式。

参 数	解 释
On	指定要添加还是取消上标格式： 1  将选定内容设为上标格式 0  取消上标格式 忽略  切换上标格式
Superscript()函数返回下列值。

数 值	解 释
0	如果选定内容中无上标格式。
-1	如果选定内容中部分是上标格式。
1	如果选定内容都是上标格式。
_____________

请参阅

字符格式语句和函数

FormatFont

Subscript


SymbolFont

SymbolFont [TextToInsert$]

用 Symbol 字体设置所选文本的格式，或在插入点插入用 Symbol 字体设置了格式的指定文本。如果未指定或选定文本，SymbolFont 语句无效。

_____________

请参阅

字符格式语句和函数

FormatFont

InsertSymbol


Underline, Underline()

Underline [On]

Underline()

Underline 语句添加或取消当前所选文本的单下划线字符格式，或控制要在插入点插入的字符的单下划线格式。

参 数	解 释
On	指定要添加还是取消单下划线格式： 1  将选定内容设为单下划线格式 0  取消单下划线格式 忽略  切换单下划线格式
Underline()函数返回下列值。

数 值	解 释
0	如果选定内容中无单下划线格式。
-1	如果选定内容中部分是单下划线格式。
1	如果选定内容都是单下划线格式。
_____________

请参阅

字符格式语句和函数

DottedUnderline

DoubleUnderline

FormatFont

WordUnderline


WordUnderline, WordUnderline()

WordUnderline [On]

WordUnderline()

WordUnderline 语句添加或取消当前所选文本的字上线字符格式，或控制要在插入点处插入的字符的字上线格式。

参 数	解 释
On	指定要添加还是取消字上线格式： 1  将选定内容设为字上线格式 0  取消字上线格式 忽略  切换字上线格式
WordUnderline()函数返回下列值。

数 值	解 释
0	如果选定内容中无字上线格式。
-1	如果选定内容中部分是字上线格式。
1	如果选定内容都是字上线格式。
_____________

请参阅

字符格式语句和函数

DottedUnderline

DoubleUnderline

FormatFont

Underline


Startup Switches
Startup 开关

用启动开关可在启动 Word 时控制某些事项。

开关	描述
/n	启动 Word 时不带文档。
/mmacroname	运行指定宏并防止“AutoExec”宏（如果有的话）运行。 如果只想防止“AutoExec”宏 运行，可忽略 macroname。
/laddinpath	装入指定的 Word 加载项。
/a	防止加载项和共用模板（包括 Normal 模板）自动装入，并防止读入和修 改设置文件（Windows 3.x）或登记项（Windows 95 或 Windows NT。
/w	防止日积月累对话框在启动 时出现（Word 6.0）。
/ttemplatename	基于指定模板新建文件（Word  7.0）。
指定启动开关

在 Windows 3.x 或 Windows NT 中，将开关添至程序管理器中与 Word 程序图标相关的命令行。例如：要在启动 Word 时不运行“AutoExec”宏，应指定以下命令行：
winword /m

在 Windows 95 中，将开关添至与 Microsoft Word 快捷方式相关的目标行。对于给定的快捷方式，“属性”对话框的“快 捷方式”选项卡上指定了目标行。Microsoft Word 和 Microsoft Office 安装程序在 Microsoft Office 文件夹（位于\Windows\Start Menu\Programs 文件夹）中默认创建了快捷方式。可修改默认快捷方式的目标行或创建自己的快捷方式。快捷方式的详情请参阅 Windows 95 文件。

注意：可在 Windows 中指定多个由空格分开的启动开关。

_____________

请参阅

SetPrivateProfileString

ToolsAdvancedSettings


ChooseButtonImage   示例

该示例将“宏”工具栏的“停止”按钮的图符改为按钮图符 50：

ChooseButtonImage .Face = 50, .Button = 9, .Context = 0, \

.Toolbar = "Macro"

下例为“工具栏自定义”快捷菜单中的“自定义按钮”对话框创建对话记录，然后显示对话框以便能够修改常用工具栏上的第三个按钮。注意：不像其它对话记录的指令，在 ChooseButtonImage 对话记录中设置值的指令必须在 GetCurValues 指令之前。

Dim dlg As ChooseButtonImage

dlg.Toolbar = "Standard"

dlg.Button = 3

GetCurValues dlg

Dialog dlg

ChooseButtonImage dlg


ChooseButtonImage

示例

ChooseButtonImage [.Face = number,] .Button = number, [.Context = number,] [.Text = text,] .Toolbar = text

改变指定工具栏按钮上的图符或文字。

参 数	解 释
.Face	对应内部按钮图符集中某按钮图符的编号。0 是无图符 （用于空白按钮  )，1 是第图符， 2 是第二个图符，等等。按钮图符列表及其相关编号请参阅工具栏按钮图符和编号。
.Button	对应指定工具栏上要修改的按钮位置编号。1 是第位置，2 是第二个位置，等等。注意：列表框和空格也算是位置。如果指定应对应空格的位置，Word 会将该按钮调至该空格右边。
.Context	确定保存对工具栏所做修改的位置： 0 或忽略   Normal 模板 1        活动模板
.Text	要在按钮上显示的文字。如果既指定了 .Face 也指定了 .Text，则 .Text 有优先权。
.Toolbar	列于“视图”菜单的 “工具栏”对话框中的工具栏名称。
注释

可为工具栏上的列表框选择按钮图符，但该按钮只在该工具栏垂直放置时显示。

_____________

请参阅

自定义语句和函数

AddButton

CopyButtonImage

EditButtonImage

MoveButton

PasteButtonImage

ResetButtonImage


CountKeys()

CountKeys([Context])

返回在“工具”菜单中“自定义”对话框的“键盘”选项卡上指定的与默认指定不同的按按键分配方案方案的数目。

参 数	解 释
Context	指定要在其中计算按按键分配方案方案的模板： 0 或忽略   Normal 模板 1 活动模板
 示例请参阅KeyCode() 示例.

_____________

请参阅

自定义语句和函数

KeyCode()

KeyMacro$()

ToolsCustomizeKeyboard


CountMenus()

CountMenus(Type [, Context])

返回指定类型的菜单的数目。

参 数	解 释
Type	要计数的菜单类型： 0    文档打开时菜单栏上的菜单 1 未打开文档时菜单栏上的菜单 2 快捷菜单
Context	指定计算了哪些菜单： 0    建于Normal 模板的文档是活动文档时的有效菜单。 1 或忽略   当前的有效菜单。 注意：有效菜单取决于活动模板、已装载的共用模板和 Normal 模板的自定义设置（如果有的话）。
 示例请参阅 MenuText$()。

_____________

请参阅

自定义语句和函数

CountMacros()

CountMenuItems()

MenuText$()


CountToolbarButtons()

CountToolbarButtons(Toolbar$ [, Context])

返回指定工具栏上的工具按钮数。注意：空格和列表框算作“按钮”。

参 数	解 释
Toolbar$	“视图”菜单的“工具栏”对话框中所列工具栏名称。
Context	指定要计算哪些按钮：  0   建于 Normal 模板的文档是活动文档时的有效按钮。  1 或忽略    当前的有效按钮。  注意：有效按钮取决于活动模板、已装载的共用模板和 Normal 模板的自定义设置（如果有的话）。
 示例请参阅 CountToolbars() 。

_____________

请参阅

自定义语句和函数

CountToolbars()

ToolbarButtonMacro$()

ToolbarName$()


CountToolbars()   示例

该示例新建文档，然后插入工具栏名称列表，后跟各工具栏上按纽的数目。

FileNewDefault

For i = 1 To CountToolbars(0)

name$ = ToolbarName$(i)

numbuttons = CountToolbarButtons(name$)

Insert name$ + "," + Str$(numbuttons) + Chr$(13)

Next i


CountToolbars()

示例

CountToolbars([Context])

返回“视图”菜单中“工具栏”对话框中所列工具栏的数目。注意：不是在所有情况下都列出全部工具栏，例如，至少要打开一个宏编辑窗口，“工具栏”对话框中才有宏工具栏。

参 数	解 释
Context	指定要计算哪些工具栏： 0    建于 Normal 模板的文档是活动文档时的有效工具栏。  1 或忽略     当前的有效工具栏 。  注意：有效工具栏取决于活动模板、已装载的共用模板和 Normal 模板的自定义设置（如果有的话）。
_____________

请参阅

自定义语句和函数

CountToolbarButtons()

ToolbarButtonMacro$()

ToolbarName$()


DeleteButton

DeleteButton Toolbar$, Position [, Context]

删除工具栏上的按纽、列表框或空格。

参 数	解 释
Toolbar$	“视图”菜单的“工具栏”对话框中所列工具栏名称。
Position	对应要删除项的位置的编号。1 代表第一个位置，2 代表第二个位置，等等。注意：列表框或空格也算作位置。
Context	确定保存工具栏变化的位置：   0 或忽略   Normal 模板 1  活动模板
 示例请参阅 AddButton。

_____________

请参阅

自定义语句和函数

AddButton

ChooseButtonImage

CopyButtonImage

EditButtonImage

MoveButton

PasteButtonImage

ResetButtonImage


EditButtonImage   示例

该示例打开图符编辑器并显示常用工具栏上的第一个按纽图符以供编辑：

EditButtonImage "Standard", 1, 0


EditButtonImage

示例

EditButtonImage Toolbar$, Position [, Context]

运行按纽图符编辑器以修改指定的工具栏按纽图符。

参 数	解 释
Toolbar$	“视图”菜单的“工具栏”对话框中所列工具栏名称。
Position	对应要编辑其图符的按纽的位置的编号。1 代表第一个位置，2 代表第二个位置，等等。  注意：列表框或空格也算作位置。
Context	确定保存新按纽图符的位置：   0 或忽略   Normal 模板 1  活动模板
_____________

请参阅

自定义语句和函数

ChooseButtonImage

CopyButtonImage

PasteButtonImage

ResetButtonImage


KeyCode()   示例

该示例将不同于默认指定的键码表和指定按键的宏名称插入活动模板：

If CountKeys(1) = 0 Then

MsgBox "No custom key assignments in active template."

Goto bye

End If

FormatTabs .ClearAll

FormatTabs .Position = "1in", .Set

Bold 1 : Underline 1

Insert "Key Code" + Chr$(9) + "Macro"

Bold 0 : Underline 0

For i = 1 To CountKeys(1)

Insert Chr$(13) + Str$(KeyCode(i, 1))

combo2 = KeyCode(i, 1, 2)

If combo2 <> 255 Then Insert "," + Str$(combo2)

Insert Chr$(9) + KeyMacro$(i, 1)

Next i

bye:


KeyCode()

示例

KeyCode(Count [, Context] [, FirstOrSecond])

返回代表不同于默认状态的按按键分配方案方案的数字。键码表及其代表的按键请参阅 ToolsCustomizeKeyboard。

参 数	解 释
Count	指定要为其返回键代码的自定义按按键分配方案方案的数字，其范围在 1 到 CountKeys() 之间。
Context	包含自定义按按键分配方案方案的模板。  0 或忽略   Normal 模板 1  活动模板
FirstOrSecond	如果该按键分配方案是连续两键的联合（例如，将 CTRL+S, N 指定到 NormalStyle)，就要指定哪个按键组合要返回代码：   1 连续键中的第一个按键组合。 2    连续键中的第二个按键组合。 如果指定 2 而该按键分配方案不是连续键，KeyCode() 会返回 255（空键码）。
_____________

请参阅

自定义语句和函数

CountKeys()

KeyMacro$()


MoveButton   示例

该示例将常用工具栏上的“显示/隐藏”按钮复制到“宏”工具栏的结尾（假定尚未定义这些工具栏）：

MoveButton "Standard", 26, "Macro", 18, 1, 0


MoveButton

示例

MoveButton SourceToolbar$, SourcePosition, TargetToolbar$, TargetPosition [, Copy] [, Context]

将工具栏按纽、列表框或空格移动或复制到另一工具栏，或同一工具栏的另一位置。

参 数	解 释
SourceToolbar$	“视图”菜单中的“工具栏”对话框中所列包含要移动或复制的项目的工具栏名称。
SourcePosition	要移动或复制的项目的位置。1 代表第一个位置，2 代表第二个位置，等等。注意：列表框或空格也算作位置。
TargetToolbar$	接受要移动或复制的项目的工具栏的名称。
TargetPosition	项目要移动或复制到的位置。
Copy	如果是 1，则复制而不移动工具栏项目。
Context	确定保存某个或多个工具栏的变化的位置：   0 或忽略   Normal 模板 1  活动模板
_____________

请参阅

自定义语句和函数

AddButton

ChooseButtonImage

CopyButtonImage

DeleteButton

EditButtonImage

PasteButtonImage

ResetButtonImage


NewToolbar

NewToolbar .Name = text [, .Context = number]

新建一个可用 AddButton 和 MoveButton 语句给其添加按纽的工具栏。

参 数	解 释
.Name	新工具栏名（允许有空格）。
.Context	保存该工具栏的模板 0 或忽略   Normal 模 板；该工具栏总出现于“视图”菜单的“工具栏”对话框中。 1  活动模板；该工具栏只在该模板是活动模板时才出现在“工具栏”对话框中。
_____________

请参阅

自定义语句和函数

AddButton

CountToolbars()

MoveButton

ToolbarName$()

ViewToolbars


PasteButtonImage

PasteButtonImage Toolbar$, Tool [, Context]

将指定工具栏按纽的图符设置为剪裁板中的图形。

参 数	解 释
Toolbar$	“视图”菜单的“工具栏”对话框中所列工具栏名。
Tool	对应要修改的按纽图符的位置的编号。0 代表指定工具栏上的第一个按纽，1 代表第二个，等等。
Context	确定保存修改的位置：   0 或忽略   Normal 模板 1  活动模板
使用 PasteButtonImage 的示例请参阅 CopyButtonImage 示例。

_____________

请参阅

自定义语句和函数

ChooseButtonImage

CopyButtonImage

EditButtonImage

ResetButtonImage


ResetButtonImage

ResetButtonImage Toolbar$, Tool [, Context]

将指定的工具栏按钮的图符重设为最初与该按钮所运行命令相关的图形。

参 数	解 释
Toolbar$	“视图”菜单的“工具栏”对话框中所列工具栏的名称。
Tool	对应要重设的按纽图符的位置的编号。1 代表指定工具栏上的第一个按钮，2 代表第二个，等等。
Context	确定保存修改的位置：   0 或忽略   Normal 模板 1  活动模板
_____________

请参阅

自定义语句和函数

ChooseButtonImage

CopyButtonImage

EditButtonImage

PasteButtonImage

ViewToolbars


ToolbarButtonMacro$()   示例

该示例在建于 Normal 模板的文档是活动文档时，用指定到常用工具栏的命令名填充数组。

size = CountToolbarButtons("Standard", 0) - 1

Dim standardmacro$(size)

For i = 0 To size

standardmacro$(i) = ToolbarButtonMacro$("Standard", i + 1, 0)

Next i


ToolbarButtonMacro$()

示例

ToolbarButtonMacro$(Toolbar$, Position [, Context])

返回分配至指定的工具栏按纽的内部命令、宏、字体、自动图文集词条或样式的名称。如果指定对应某一空格的位置，ToolbarButtonMacro$() 将返回空字符串（“”）。

参 数	解 释
Toolbar$	“视图”菜单的“工具栏”对话框中所列工具栏名称。
Position	对应指定工具栏上按纽位置的编号。1 是第一个位置，2 是第二个位置，等等。注意：列表框或空格也算作一个位置。
Context	指定要返回其名称的按纽：   0    建于 Normal 模板的文档是活动文档时显示在工具栏上的按纽。 1 或忽略   当前显示在工具栏上的按纽。 注意：显示在工具栏上的按纽取决于活动模板、已装载的共用模板和 Normal 模板中的自定义设置（如果有的话）。
_____________

请参阅

自定义语句和函数

CountToolbarButtons()

CountToolbars()

ToolbarName$()


ToolbarName$()

ToolbarName$(Toolbar [, Context])

返回“视图”菜单的”工具栏”对话框中出现的指定工具栏的名称。

参 数	解 释
Toolbar	1 到 CountToolbars() 之间的数，对应要返回其名称的工具栏。
Context	指定要从中返回 Toolbar 名称的工具栏列表。 0  在所有文档中都有效的工具栏的列表，包括已装载的共用模板中的那些工具栏。 1 或忽略   当前有效的所有工具栏的列表，包括那些只对建于活动模板的文档中有效的工具栏。
 示例请参阅 CountToolbars()。

_____________

请参阅

自定义语句和函数

CountToolbarButtons()

CountToolbars()

ToolbarButtonMacro$()


ToolbarState()   示例

显示绘图工具栏时，该示例切换到页面视图。

If ToolbarState("Drawing") Then ViewPage


ToolbarState()

示例

ToolbarState(Toolbar$)

如果 Toolbar$ 指定的工具栏显示，则返回 -1；否则返回 0。

_____________

请参阅

自定义语句和函数

ToolbarName$()

ViewRibbon

ViewRuler

ViewStatusBar

ViewToolbars


DateSerial() 示例

该示例提示使用者输入一个日期，然后出现一个信息框，指明那一天是星期几：

Dim days$(7)

days$(1) = "Sunday" : days$(2) = "Monday" : days$(3) = "Tuesday"

days$(4) = "Wednesday" : days$(5) = "Thursday"

days$(6) = "Friday" : days$(7) = "Saturday"

datestring$ = InputBox$("Please enter the date for which " + \

"you want to determine the weekday (mm/dd/yy):")

monthnum = Val(Left$(datestring$, 2))

daynum = Val(Mid$(datestring$, 4, 2))

yearnum = Val(Right$(datestring$, 2))

dayofweek = DateSerial(yearnum, monthnum, daynum)

MsgBox "The day of the week is " + days$(Weekday(dayofweek)) + "."


DateSerial()

示例

DateSerial(Year,  Month,  Day)

返回指定日期的序数。该序数对应 1899 年 12 月 30 日和指定日期 （最多到 4095 年 12 月 31 日） 之间的各天的编号。例如，序数 1 对应 1899 年 12月 31 日。如果指定日期在许可范围之外，则 DateSerial() 产生一个错误。

参数	解释
Year	在 0 （ 零 ） 和 4905 之间的数字（包括 0 和 4905） 或者数字表示式，若在指定 1900 和 1999之间的年份，可以只给出年份的最后两位数；若要指定1899 之前或 1999 之后的年份，则需给出所有四位数字。
Month	1 和 12 之间的数字 （ 包括 1 和 12） 或者数字表示式，表示一年的月份。
Day	1 和 31 之间的数字 （ 包括 1 和 31） 或者数字表示式，表示每月的天。
_____________

请参阅

日期和时间语句和函数

Date$()

DateValue()

Day()

Month()

Now()

TimeSerial()

Today()

Year()


DateValue() 示例

该示例提示使用者输入一个截止日期，然后显示从今天到所输入的截止日期之间的天数。

enddate$ = InputBox$("Please enter an end date:")

serialenddate = DateValue(enddate$)

numdays = serialenddate - Today()

numdays = Abs(numdays)

MsgBox "The number of days between now and " + enddate$ + \

" is" + Str$(numdays) + "."


DateValue()

示例

DateValue(DateText$)

返回 DateText$. 所表示的日期的序数。使用 DateValue() 可把文字表示的日期转换为序数，序数是日期、时间或日期和时间两者的十进制数表示，序数的内容请参阅 DateSerial()。

参数	解释
DateText$	表示 Word 日期格式的日期的字符串。例如，下面是 1991年 7 月 8 日的有效表示：  7/8/91 July 8, 1991 8 July 1991 如果 DateText$ 只包括数字， DateValue()  以月，日，年的顺序识别日期的各部分。
DateText$ 必须表示 1899 年 12 月 30 日与 4095 年 12 月 31 日之间的日期。 如果 DateText$ 不在这个范围内，DateValue() 就会出错。如果 DateText$ 的年份部分省略，则 DateValue() 使用计算机内部日历上的当前年。DateValue() 忽略 DateText$ 内的时间信息。

_____________

请参阅

日期和时间语句和函数

Date$()

DateSerial()

Now()

TimeValue()

Today()


Day() 示例

本示例使用 Day() 函数确定一个月中的一天，然后在一个信息框中显示加有适当后缀的结果（ 例如“3rd”）：

daynumber = Day(Now())

Select Case daynumber

Case 1, 21, 31

daysuffix$ = "st"

Case 2, 22

daysuffix$ = "nd"

Case 3, 23

daysuffix$ = "rd"

Case Else

daysuffix$ = "th"

End Select

MsgBox "Today is the" + Str$(daynumber) + \

daysuffix$ + " day of the month."


Day()

示例

Day(SerialNumber)

返回 1 与 31 之间的整数（ 包括 1 和 31），即 SerialNumber 中和天数对应的一部分。SerialNumber  是日期、时间或日期和时间两者的十进制数表示。序数的内容请参阅 DateSerial()。

参数	解释
SerialNumber	Word 计算日期和时间所用的序数。 SerialNumber  可以表示从 1899 年 12 月 30 日到 4095 年 12 月 3 1日之间的日期或时间（或同时表示二者），其中 1899 年 12 月 30 日是 0。
_____________

请参阅

日期和时间语句和函数

DateSerial()

Hour()

Minute()

Month()

Now()

Second()

Today()

Weekday()

Year()


Days360() 示例

该示例使用 Days360() 函数确定 1992 年 1 月 1日到 1993 年 1 月 1 日之间的天数，假设一年有 360 天。

numdays = Days360("1/1/92","2/1/93")


Days360()

示例

Days360(StartDate[$], EndDate[$])

返回两个日期之间的天数，前提是假设一年为 360 天（ 十二个 30 天的月份）。如果记账系统是基于十二个 30 天的月份的话，这个函数可帮助计算薪金，参数 StartDate 和 EndDate 是想知道其间天数的两个日期，如果 StartDate 在 EndDate 之后，则 Days360() 返回一个负数。

参数	解释
StartDate[$]	表示起始日期的文字字符串或序数， Word 中可用的日期格式请参阅DateValue()，序数的内容请参阅DateSerial()。
EndDate[$]	表示结束日期的文字字符串或序数。
_____________

请参阅

日期和时间语句和函数

DateSerial()

DateValue()

Day()


Hour() 示例

此示例把变量 thishour 设置为当前的时间的组合数：

thishour = Hour(Now())


Hour()

示例

Hour(SerialNumber)

返回 0 与 23 之间的整数（包括 0 和 23）。与 SerialNumber 的小时部分对应，SerialNumber 是日期、时间或日期和时间两者的十进制表示，序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Minute()

Month()

Now()

Second()

Today()

Weekday()

Year()


InsertDateField

InsertDateField

在插入点插入 DATE 域，日期格式与上一次用“插入”菜单中的“日期和时间”命令选择的格式相同。

_____________

请参阅

日期和时间语句和函数

InsertDateTime

InsertField

InsertPageField

InsertTimeField


InsertTimeField

InsertTimeField

插入 TIME 域，在插入点不需要任何域指令。

_____________

请参阅

日期和时间语句和函数

InsertDateField

InsertDateTime

InsertField

InsertPageField


Minute() 示例

本示例显示当前时间的分组件：

mins = Minute(Now())

MsgBox "It is" + Str$(mins) + " minute(s) after the hour."


Minute()

示例

Minute(SerialNumber)

返回 0（ 零）与 59 之间的整数（ 包括 0 和59）。与 SerialNumber 的分钟部分对应，SerialNumber 是日期、时间或日期和时间两者的十进制数表示，序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Hour()

Month()

Now()

Second()

Today()

Weekday()

Year()


Month() 示例

该示例显示从这个月到新年间的月数：

months = Month(Now())

MsgBox Str$(12 - months) + " full month(s) left in the year."


Month()

示例

Month(SerialNumber)

返回 1 与 12 之间的整数（ 包括 1 和 12）。与 SerialNumber 的月份部分对应，SerialNumber 是日期、时间或日期和时间两者的十进制数表示，序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Hour()

Minute()

Now()

Second()

Today()

Weekday()

Year()


Now() 示例

该示例显示一个到新年间天数的信息框。天数是由下一年 1 月 1 日的序数减去当前日期的序数而得到的。

yr = Year(Now())

rightNow = Now()

jan1 = DateSerial(yr + 1, 1, 1)

MsgBox "Days until the new year:" + Str$(jan1 - rightNow)

不足一天的部分出现在小数点的右边。严格返回没有小数的整天数则可在上一示例中从 Now() 中减去 Today()。


Now()

示例

Now()

返回一个序数，该序数根据计算机的系统日期和时间表示当前的日期和时间，小数点左侧的表示 1899 年 12 月 30 日和当前时间之间的天数；右侧表示不足一天的时间，序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

Date$()

DateSerial()

DateValue()

Today()


OnTime 示例

该示例为 Word 建立一个简单的闹钟功能。示例中第一个宏建立一个后台计时器。

'Alarm program: Prompts user to input time for alarm to sound

'Current time appears in title bar of input box

Sub MAIN

Alarm$ = InputBox$("Time? (HH:mm:ss), 24hr", "Alarm " + Time$())

'Set background timer to run macro called Beeper

'No tolerance is set, so alarm will always sound

OnTime Alarm$, "Beeper"

End Sub

下一宏则根据上一个宏所设定的计时器使闹钟闹响并显示一个报警信息。这个宏必须以 "Beeper" 命名才能与前一个宏配合正常地工作。

Sub MAIN	'嘟声闹响程序

For count = 1 To 7

Beep

Beep

For TL = 1 To 100	'在闹响间加入一个时间延迟

Next

Next

MsgBox "Preset alarm sounded", "Beeper " + Time$(), 48

End Sub


OnTime

示例

OnTime When[$], Name$ [, Tolerance]

设置一个后台计时器，该计时器在 When[$] 所指定的时间运行一个宏，如果在指定的时间 Word 正忙—例如，正显示一个对话框或正进行排序操作—则 等待 Word 空闲后宏就运行。如果在  When[$] 之前关闭了 Word，那么计时器就被取消，且当再启动 Word 时也不再被激活，若要每次启动 Word 时都重新设置计时器—例如，想在下一次 Word 操作时自动设置一个警示宏（参阅本词条的示例），要以“AutoExec” 命名包括 OnTime 指令的宏，AutoExec 和其他自动宏的内容请参阅自动宏。

参数	解释
When[$]	运行宏的时间，以 24 小时文字格式 (hours:minutes:seconds)。 或序数、日期或时间或两者的十进制数表示表示。序数的详细内容请参阅DateSerial()。 当以文字指定时间时，可以不包括 seconds 例如，下午 2：37 表示为 “14：37”。早上 2：37 表示为“ 02：37 ”或“ 2：37 ”，子夜为“ 00：00：00 ”。在时间之前可以包括进表示日期的字符串。有几种可用的日期格式。可以通过选择“控制面板” (Windows) 中的“国别设定”或“日期和时间”的控制面板 (Macintosh) 选项来控制默认的日期格式。如果日期没有指定，则宏只在第一次指定时间时才运行。
Name$	要运行的宏名。要运行的宏名必须是在 OnTime 指令运行和指定时间到达时可以使用的。因此，最好指定共用模板 NORMAL.DOT 不允许使用  MacroName.SubroutineName 的格式。
Tolerance	如果在 When 之后 Tolerance 秒内 Name$ 还示启动。Word 不会运行宏。如果 Tolerance 是 0 或省略，Word 总是运行。不管 Word 有空并能运行宏之前过去多少秒。
注释：

Word 一次只能运行一个 OnTime 宏。如果启动了第二个，则第一个 OnTime 就被取消。

_____________

请参阅

日期和时间语句和函数

Date$()

DateSerial()

DateValue()

Day()

Month()

Now()

TimeValue()

Today()

Year()


Second() 示例

该示例在宏启动之后五秒产生一个“嘟声”。注意，第二个 Now() 根据计算机内部时钟的当前时间返回秒组件。

n = Second(Now())

beepTime = n + 5

If beepTime > 59 Then beepTime = beepTime - 60

While Second(Now()) <> beepTime

Wend

Beep


Second()

示例

Second(SerialNumber)

返回 0 与 59 之间的整数 ( 包括 0 和 59 )。与 SerialNumber 的秒部分对应，SerialNumber 是日期、时间或日期和时间两者的十进制数表示。序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Hour()

Minute()

Month()

Now()

Today()

Weekday()

Year()


TimeSerial() 示例

该示例产生信息框，其中显示表示对应于当前一天中所过去时间部分的十进制数：

h = Hour(Now())

m = Minute(Now())

s = Second(Now())

fraction = TimeSerial(h, m, s)

MsgBox Left$(Str$(fraction), 5) + " of this day is over."


TimeSerial()

示例

TimeSerial(Hour, Minute, Second)

返回指定时间的序数，因为序数是表示天数的十进制数，TimeSerial() 返回的数在 0 至 0.99998842592593 之间，序数的详细内容请参阅 DateSerial()。

参数	解释
Hour	0 到 23 之间的数 （包括 0 和 23） 或数字表达式 。
Minute	表示小时后面的分的 0 到 59 之间的数（ 包括 0 和 59）或数字表达式 。
Second	表示分后面的秒的 0 到 59 之间 的数 （ 包括 0 和 59）或数字表达式 。
_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Month()

Now()

Time$()

TimeValue()

Today()

Year()


TimeValue() 示例

该示例将在状态栏显示代表当前时间的序数：

Print TimeValue(Time$())


TimeValue()

示例

TimeValue(TimeText$)

返回由 TimeText$ 所表示的时间的序数。用 TimeValue() 可把文字表示的时间转换为序数，序数是日期、时间或两者的十进制数表示。序数的内容请参阅 DateSerial()。

参数	解释
TimeText$	表示时间的字符串，例如，下面都是下午 4：30 的有效表示：  16:30:00 4:30 pm 4:30 PM TimeText$ 必须表示 24 小时制时钟上的 00：00：00 与 23：59：59 之间的一个时间，如果 TimeText$ 超出这个范围， TimeValue() 就产生一个错误。
_____________

请参阅

日期和时间语句和函数

DateSerial()

DateValue()

Day()

Month()

Now()

Time$()

TimeSerial()

Today()

Year()


Today() 示例

该示例显示一个到新年间的天数的信息框。天数是由下一年 1 月 1 日的序数减去当前日期的序数而得到的。

yr = Year(Today())

rightNow = Today()

jan1 = DateSerial(yr + 1, 1, 1)

MsgBox "Days until the new year:" + Str$(jan1-rightNow)


Today()

示例

Today()

返回一个序数，该序数根据计算机的系统日期来表示当前的日期。不象 Now() 返回一个带小数的数字来表示不足一天的时间。Today() 严格返回整数天数，序数的详细内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

Date$()

DateSerial()

DateValue()

Day()

Month()

Now()

Time$()

TimeSerial()

TimeValue()

Year()


Weekday() 示例

该示例定义一个包含这个星期中每天名称的数组，然后返回一个对应当前这一天的数字，利用这个数字与数组得到这一天的名称并将其显示在信息框内。

Dim days$(7)

days$(1) = "Sunday" : days$(2) = "Monday" : days$(3) = "Tuesday"

days$(4) = "Wednesday" : days$(5) = "Thursday"

days$(6) = "Friday" : days$(7) = "Saturday"

thisday = Weekday(Now())

MsgBox "Would you believe it's " + days$(thisday) + " already?"


Weekday()

示例

Weekday(SerialNumber)

返回一个 1 与 7 之间的整数（包括 1 和 7），对应于一个星期中中中的七天，（其中 1 是星期日），日期由 SerialNumber 来表示。序数是日期、时间或两者的十进制数表示，序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Hour()

Minute()

Month()

Now()

Second()

Today()

Year()


Year() 示例

此示例返回当前日期的年组件，然后将其转换为字符串并缩短到最后两位数字：

years = Year(Now())

years$ = Str$(years)

years$ = Right$(years$, 2)


Year()

示例

Year(SerialNumber)

返回 1899 与 4095 之间的整数 （包括这两个数），对应于 SerialNumber 中的年份，序数是日期、时间或两者的十进制数表示，序数的内容请参阅 DateSerial()。

_____________

请参阅

日期和时间语句和函数

DateSerial()

Day()

Hour()

Minute()

Month()

Now()

Second()

Today()

Weekday()


DDETerminateAll 函数

DDETerminateAll

关闭所有 Word 打开的动态数据交换(DDE)通道；DDETerminateAll 不关闭客户应用程序打开至 Word 的通道。对于每个打开的通道，用该语句与用 DDETerminate 语句一样。如果没有打开的 DDE 通道，DDETerminate 不会引发错误。

如果将打开 DDE 通道的宏中断，可能会不小心漏掉一个打开的通道。打开的通道不会在宏结束时自动关闭，并且每个打开通道都会使用系统资源。因此，建议在调试用于打开一个或多个 DDE 通道的宏时使用 DDETerminateAll 函数。

_____________

请参阅

DDE 语句和函数

DDEExecute

DDEInitiate()

DDEPoke

DDERequest$()

DDETerminate


Dim 函数示例

该示例声明由多个子程序共享的三个变量，其特征是置于 Sub MAIN 指令之前。

Dim Shared numDocs, docName$, savePath$

下例将一周中各天的名称存于数组 Days$ 中并在状态栏显示该数组的第三个元素“Tuesday”。

Dim Days$(6)

Days$(0) = "Sunday" : Days$(1) = "Monday" : Days$(2) = "Tuesday"

Days$(3) = "Wednesday" : Days$(4) = "Thursday"

Days$(5) = "Friday" : Days$(6) = "Saturday"

Print Days$(2)

下例将一周中各天的名称及其西班牙译名存于二维数组 Days$ 之中。最后一条指令在状态栏显示数组的第二列第三行的元素“Martes”。

Dim Days$(6, 1)

Days$(0, 0) = "Sunday" : Days$(0, 1) = "Domingo" : Days$(1, 0) = "Monday"

Days$(1, 1) = "Lunes" : Days$(2, 0) = "Tuesday" : Days$(2, 1) = "Martes"

Days$(3, 0) = "Wednesday" : Days$(3, 1) = "Mi閞coles" : Days$(4, 0) = "Thursday"

Days$(4, 1) = "Jueves" : Days$(5, 0) = "Friday" : Days$(6, 1) = "Viernes"

Days$(5, 1) = "Saturday" : Days$(6, 0) = "S醔ado"

Print Days$(2, 1)

下例将变量 num 申明为共享，并将该变量设为 6，然后调用 MyRoutine 子程序。该子程序将 10 添至 num，然后主程序显示新值。注意：Dim Shared num 指令必须置于两个子程序之外。

Dim Shared num	'Declare num as shared

Sub MAIN

num = 6	'Set the value of num

MyRoutine	'Call the routine

Print num	'Display the new value of num

End Sub

Sub MyRoutine

num = num + 10	'Increase the value of num

End Sub

在下例中，Dim 用于定义对话记录 Tovrec，该记录中储存了“工具”菜单中“选项”对话框的“视图”选项卡上的值。该宏切换“段落标记”复选框的设置。

Dim TOVrec As ToolsOptionsView	'Define dialog record

GetCurValues TOVrec	'Get the current state

If TOVrec.Paras = 1 Then	'If on

TOVrec.Paras = 0	'turn off

Else	'Else

TOVrec.Paras = 1	'turn on

End If

ToolsOptionsView TOVrec	'Apply new setting

在下例中，Dim 用于为用户定义的对话框定义对话记录 Dlg。

Begin Dialog UserDialog 320, 57, "A Simple Dialog Box"

Text 5, 16, 205, 18, "This is a simple dialog box."

OKButton 220, 4, 88, 21

CancelButton 220, 29, 88, 21

End Dialog

Dim Dlg As UserDialog	'Define the dialog record

Dialog Dlg	'Display the dialog box


Dim

示例

Dim [Shared] Var1 [(Size1 [, Size2] [, ...])] [, Var2 [(Size1 [, Size2] [, ...])]] [, ...]

Dim DialogRecord As DialogName

Dim DialogRecord As UserDialog

声明变量由多个子程序共享，定义数组变量或定义对话记录。声明共享变量的 Dim 语句必须置于宏的子程序之外，通常在主程序之前。

句法	用途
Dim Var(Size1 [, Size2] [, ...])	定义数组变量，对于一维数组，Size1 是数组中最后一个元素的下标。 对于多维数组，每个 Size 参数都是要定义数组的各维最后一个元素的下标。 在 WordBasic中，数组第一个元素常记做零，所以，要定义七个元素的单维数组（比如一周中各天）时 Size1 取 6；要定义一个 12 行乘 31 列的二维数组（比如按月组织一年中的天数），Size1 取 11 而 Size2 取 30。
Dim Shared Var[(Size1 [, Size2] [, ...])]	声明一个字符串，数字变量或由多个子程序所共享的数组变量。Dim 语句必须置于子程序之外。共享变量的声明通常置于主程序前宏的起始处。
Dim DialogRecord As DialogName	为 Word 对话框定义对话记录变量，DialogName 可以是对应于 Word 命令或对话框的任何 WordBasic 语句。例如： Formatfont 或 FileOpen 作为DialogName 均有效。
Dim DialogRecord As UserDialog	为用户自定义的对话框定义对话记录。
_____________

请参阅

定义和声明语句和函数

Declare

Dialog

Let

Redim


Let 函数示例

以下每个指令均给变量 A 赋值 100：

Let A = 100

A = 100


Let

示例

[Let] Var = Expression

将表达式的值赋予变量。Let 函数为可选项。

_____________

请参阅

定义和声明语句和函数

Dim


Redim函数示例

该示例说明了在完成应用第一套值后用 Redim 使数组变量中的存贮空间再循环的方法。这将有助于节省系统资源。

Dim BigArray$(100)

BigArray$(0) = "A long text string"

'Series of statements that define array elements 1 through 99

BigArray$(100) = "Another long text string"

'Series of statements that make use of the values in BigArray$()

Redim BigArray$(100)

'Series of statements that define and make use of new array elements

下列宏恢复“文件”菜单中“摘要信息”对话框中的作者姓名和“工具”菜单中“选项”对话框的“用户信息”选项卡上的用户姓名，然后比较这两个值，如不同则显示消息框。

Dim 语句存储对话记录 dlg 中的“摘要信息”对话框中值的数组，恢复作者姓名后，不再需要这些值。因此 Redim 能够使对话记录 dlg 再循环以储存“选项”对话框中“用户信息”选项卡上的的值。

Sub MAIN

Dim dlg As FileSummaryInfo

GetCurValues dlg

Author$ = dlg.Author

Redim dlg As ToolsOptionsUserInfo

GetCurValues dlg

UserName$ = dlg.Name

If Author$ <> UserName$ Then

MsgBox "Author does not match user."

End If

End Sub


Redim

示例

Redim [Shared] Var1[(Size1 [, Size2] [, ...])] [, Var2[(Size1 [, Size2] [, ...])]]

Redim Var As DialogName

Redim Var As UserDialog

使数组变量为空，以便能够重定义元素。Redim 代表“重维数”，它可在重定义数组变量时指定新 Size 值。注意：使用 Redim 时，已有数组的内容将会丢失。Redim 还可为 Word 对话框或用户自定义的对话框重定义对话记录。

_____________

请参阅

定义和声明语句和函数

Dim

Let


DialogEditor
对话框编辑器

对话框编辑器

如果“对话框编辑器”尚未运行，可将其启动并作为活动应用程序。如果“对话框编辑器”已在运行，DialogEditor 语句会使其成为活动应用程序。如果“对话框编辑器”缩为图标，DialogEditor 语句会将其还原并激活。“对话框编辑器”的详情请参阅《The Microsoft Word Developer's Kit》中的第五章“Using‘Custom Dialog Box’”。


DlgEnable 示例

该示例在对话框最初显示时用字符串标识符“Set”使该对话框控制无效（含对话框定义的主程序不显示）。

Function MyDlgFunction(identifier$, action, suppvalue)

Select Case action

Case 1	'The dialog box is displayed

DlgEnable "Set", 0

Case 2	'The user selects a control

'Statements that perform actions based

'on which control is selected go here

Case 3	'Text change (not applicable)

Case Else

End Select

End Function


DlgEnable, DlgEnable()

示例

DlgEnable Identifier[$] [, On]

DlgEnable(Identifier[$])

DlgEnable 语句用于在对话函数中使 Identibier[$] 标识符标识的对话框控制在显示对话框时有效或无效。对话框控制在无效时能在对话框中看到，但呈淡色显示且没有功能。

使用对话函数的详情请参阅“创建动态对话框”。

参数	解释
Identifier[$]	对话框控制的字符串或数字标识符
On	使对话框控制有效或无效： 1 使控制有效 0 使控制无效 忽略 切换该控制l.
DlgEnable 函数返回以下值

值	解释
-1	如果控制有效
0 (zero)	如果控制无效
_____________

请参阅

对话框定义及控制语句和函数

DlgVisible


DlgFouls 示例

该示例在对话框最初显示时将焦点设于“MyControl1”控制上（含对话框定义的主程序不显示）。

Function MyDlgFunction(identifier$, action, suppvalue)

Select Case action

Case 1	'The dialog box is displayed

DlgFocus "MyControl1"

Case 2	'The user selects a control

'Statements that perform actions based

'on which control is selected go here

Case 3	'Text change (not applicable)

Case Else

End Select

End Function


DlgFocus, DlgFocus$()

示例

DlgFocus Identifier[$]

DlgFocus$()

DlgFous 语句用于在对话函数中在对话框显示时将焦点设于 Identifier[$] 标志的对话框控制上。对话框控制有了焦点之后，就会处于活动状态，并对键盘输入出现反应。例如：如果文字框有了焦点，任何键入的文字就都会显示于该文字框。

DlgFouls$() 函数返回当前有焦点的对话框控制的字符串标识符。

使用对话函数详情请参阅“创建动态对话框”。

_____________

请参阅

对话框定义及控制语句和函数

DlgEnable

DlgVisible


DlgListBoxArray 示例

该示例在对话框显示时改变列表框的内容。主程序（不显示）中的对话框定义定义含列表框、“确定”按钮、“取消”按钮和“更改”按钮的对话框。选择“更改”按钮时，对话函数的 Case 2 中的 If 控制结构开始生效：定义新字符串数组，用 DlglistBoxArray 替换列表框的内容并且使“更改”按钮无效。通过默认，自定义对话框在选择像“更改”按钮这样的命令按钮时关闭。但是，该示例中的 KeepDisplayed=1 和 dlgTest=keepDisplayed 指令会保持对话框的显示（对话函数返回 1 时，对话框保持显示）。

Function dlgTest(identifier$, action, suppvalue)

Select Case action

Case 1	'The dialog box is displayed

Case 2	'The user selects a control

If identifier$ = "Change" Then

Dim MyArray2$(1)

MyArray2$(0) = "New first item"

MyArray2$(1) = "New second item"

DlgListBoxArray "MyListBox", MyArray2$()

DlgFocus "MyListBox"

DlgEnable "Change", 0

keepDisplayed = 1

End If

Case 3	'Text change (not applicable)

Case Else

End Select

dlgTest = keepDisplayed

End Function


DlgListBoxArray, DlgListBoxArray()

示例

DlgListBoxArray Identifier[$], ArrayVariable$()

DlgListBoxArray(Identifier[$] [, ArrayVariable$()])

DlgListBoxArray 语句在对话函数中用于将 ArrayVariable$() 的内容填入列表框、下拉列表框或组合框。用该语句可在自定义对话框显示时改变该对话框中列表框、下拉列表框或组合框中的内容。

使用对话函数的详情请参阅“创建动态对话框”。

参数	解释
Identifier[$]	对话框控制的字 符串或数字标识符。该控制必须是列表框、下拉列表框或组合框。
ArrayVariable$()	包含要在指定列表框、下拉列表框或组合框中显示的项目的字符串数组。
DlgListBoxArray() 函数用 Identibier[$] 指定的列表框、下拉列表框或组合框中的内容来填充 ArrayVariable$()，并返回列表框、下拉列表框或组合框中词条的数目。 ArrayVarialbe$() 对于 DlgListBoxArray() 函数是可任选的，如果忽略 ArrayVariable$()，DlgLitBoxArray() 会返回指定控制中的词条数目。

_____________

请参阅

对话框定义及控制语句和函数

DlgEnable

DlgFocus

DlgText


DlgValue 示例

该示例是对话函数（在选中带“MycheckBox”标识符的复选框时运行）的一部分。DlgValue() 用于确定复选框是打开状态还是关闭状态，如果是打开状态，该指令会重定义一个数组并将该数组中的项目填入列表框。

Case 2	'The user chooses a button

If identifier$ = "MyCheckBox" Then

If DlgValue("MyCheckBox") = 1 Then

ReDim MyArray$(1)

MyArray$(0) = "Alberto"

MyArray$(1) = "Gina"

DlgListBoxArray "MyListBox", MyArray$()

End If

End If


DlgValue, DlgValue()

示例

DlgValue Identifier[$], Value

DlgValue(Identifier[$])

DlgValue 语句用于在对话函数中通过设置与 Identibier[$] 指定的控制相关的数值来选定或清除对话框控制。例如：DlgValue“MycheckBox”，1 选中复选框，DlgValue“McheckBox”，0 清除复选框，DlgValue“MycheckBox”，-1 用灰色填充复选框。如果 Identibier[$] 指定像文字框或不能用数值设置的选项按钮这样的对话框控制，就会出错。

对话功参的其它功能请参阅“创建动态对话框”。

参数	解释
Identifier[$]	对话框控制的字符串或数字标识符。DlgValue 语句和 DlgValue() 函数可与下列语句创建的标识符一起使用；CheckBox、ComboBox、DroplistBox、ListBox 和 OptionGroup。
Value	设置由 Identibier[$] 标识的对话框控制的数值
DlgValue() 函数返回复选框、列表框、下拉列表框、组合框或 Identibier[$] 标识的选项组的数值。例如：DlgValue(“MycheckBox”) 在复选框选中时返回 1，在清除时返回 0，在填为灰色时返回 -1；DlgValue(“MyListBox”) 指令在列表框的首项选中时返回0，在第二项选中时返回 1，依此类推。

_____________

请参阅

对话框定义及控制语句和函数

DlgText


GetCurValues() 函数示例
GetCurValues() 示例

该 Word6.0 示例用 GetCurValues 从“文件”菜单的“摘要信息”命令中的“统计信息”对话框中检索活动文档创建的日期，然后该指令用日期函数计算自从该文档创建以来的天数，并根据结果显示信息框。

Dim dlg As DocumentStatistics

GetCurValues dlg

docdate$ = dlg.Created

age = Now() - DateValue(docdate$)

age = Int(age)

Select Case age

Case 0

MsgBox "This document is less than a day old."

Case Is > 0

MsgBox "This document was created" + Str$(age) + " day(s) ago."

Case Else

MsgBox "Check your computer's date and time."

End Select

使用 GetCurValues 的示例和切换复选框的演示请参阅 Abs() 示例。


GetCurValues

示例

GetCurValues DialogRecord

将以前为 Word 对话框定义的对话记录的当前值存在 DialogRecorrd 中。用 Dim 可定义对话记录（例如：Dim dlg As ToolsOptionsSave），用 GetCurValues 可存贮设置（例如：GetCurValuds dlg），用句法 DalogRecord.Argument Name 可返回特定设置（例如：save=dlg.FastSaves）。不需将带对话记录的 GetcurValus 用于自定义对话框，如果这样做，指令会无效。

_____________

请参阅

对话框定义及控制语句和函数

Dialog

Dim


Option Group() 函数示例
Option Group() 示例

该宏创建随其后显示的对话框，然后根据选择的选项按钮插入分页符或分栏符。为选项组定义的标识符为 .Brk。要注意第二个 If 指令根据 dlg.Brk 变量的值执行操作的方式。

Sub MAIN

Begin Dialog UserDialog 292, 78, "Example"

OKButton 188, 14, 88, 21

CancelButton 188, 38, 88, 21

GroupBox 12, 6, 164, 60, "Break"

OptionGroup .Brk

OptionButton 22, 23, 117, 16, "&Page Break"

OptionButton 22, 41, 133, 16, "&Column Break"

End Dialog

Dim dlg As UserDialog

If Dialog(dlg) Then

If dlg.Brk = 0 Then InsertPageBreak Else InsertBreak .Type = 1

End If

End Sub


OptionGroup

示例

OptionGroup .Identifier

在对话框定义中定义一系列相关的选项按钮。每个有关的 OptionButton 指令（必须直接跟在 OptionGroup 后面）系列都需要 OptionGroup 指令。在组中，每次只能选择一个选项按钮。OptionGroup 标识符返回相当于所选按钮的值。

参数	解释
.Identifier	. Identifier 与对话记录名一同创建一个变量，其值对应所选按钮。0 是组中第一个选项按钮，1 是第二个，依此类推。该变量形式为 DialogReword .Identibier（比如 dlg.Brk）。 作用于选项组的对话函数中的语句（比如 DlgEnable 和 DlbVisible）也使用标识符字符串（.Identibier 减去句号）。
_____________

请参阅

对话框定义以及控制语句和函数

Begin Dialog...End Dialog

GroupBox

ListBox

OptionButton


创建动态对话框

创建动态对话框，要以用 Begin Dialog...End Dialog 创建的标准对话框定义开始， 然后添加三个部分，从而使对话框成为动态：

 调用对话函数的 Begin Dialog 指令中的对话函数参数。.FunctionName 参数符合对话函数的名称。

 对话框控制（对话函数作用于该对话框控制或从中获取信息）的字符串标识符。自定义对话框定义中的大多数指令已含有它们定义的控制的标识符。

注意：也可以用数字标识符来表示对话框定义中的控制（0 代表第一项控制，1 代表第二项控制，依此类推）。尽管在对话框包含多项控制时，这样做可以改善执行效果，但使用数字标识符的指令要比比使用字符串标识符的指令更难阅读。

 对话函数。该对话函数响应事件并改变对话框的外观。在对话框显示时执行的所有指令都会置于该函数或子程序中，以及从该函数中调用的用户定义函数中。

下列主题说明了对话函数中使用的 WordBasic 语句和函数，并提供了它们的应用实例。详情请参阅“对话函数句法”。

DlgControlId()

DlgEnable, DlgEnable()

DlgFilePreview, DlgFilePreview$()

DlgFocus, DlgFocus$()

DlgListBoxArray, DlgListBoxArray()

DlgSetPicture

DlgText, DlgText$()

DlgUpdateFilePreview

DlgValue, DlgValue()

DlgVisible, DlgVisible()

在用 Dialog 或 Dialog() 显示动态对话框时，用于使 ESC 键在取消对话框时能正常工作。详情请参阅 DisableInput。

创建动态对话框的完整阐述请参阅《The Microsoft Word Developer's Kit》的第五章“Using 'Custom Dialog Box'”。

_____________

请参阅

对话函数语法


对话函数语法

Function FunctionName(ControlID$, Action, SuppValue)
Series of instructions
FunctionName = value
End Function

对话函数在 FunctionName 与 Begin Dialog 指令的 .FunctionName 参数匹配时与对话框定义相关。在默认情况下，当选择“确定”按钮、“取消”按钮或其它按钮时，对话函数返回 0，返回值为 0 会导致 Word 关闭对话框。要保持对话框的显示并允许从在同一对话框中执行多项命令，可用 FunctionName=value 句法将 FunctionName 设为非零值，这项技术的示例请参阅 DlgText 示例。

对话函数带有三个必要的参数。

参数	解释
ControlID$	接收与调用对话函数相关的对话框控制的标记符字符串。例如：如果选中复选框，就会调用对话函数，ControllD$ 参数会接收复选框的标识符。
Action	识别调用对话函数的操作。有六种可能调用对话函数的操作，每种都有相应的 Action 值。详情请下面的 Action 值表。
SuppValue	接收关于对话框控制中变化的补充信息。SuppValue 接收的信息取决于 Action 值以及调用对话函数的具体控制，详情请参阅下面的 SuppValues 表。
下表中说明了能调用对话函数的六种操作。

操作值	含义
1	对应对话框的初始化。在能看到对话框之前传递该值。
2	对应选择命令按钮或修改对话框控制的值（除了在文字框或组合框中键入以外）。Action 值等于 2 时，ControllD$ 对应被选或被修改的控制的标识符。
3	对应文字框或组合图框中的修改。在控制丢失焦点（例如：在按TAB 键移至另一控制时）或单击组合图框列表中的项目后传递该值。注意：如果不修改文字框或组合图框中的内容，就不传递 Action 的 3 值。Action 为 3 时，ControllD$ 对应内容已被修改的文字框或组合图框的标识符。
4	对应控制焦点的变化。Action 为 4 时，ControllD$ 对应正获焦点的控制的标识符。SuppValue 对应丢失焦点的控制的数字标识符。对于 Action 的值为 4，对话函数不显示信息框或 Word 对话框。
5	对应空闲状态。一旦对话框完成初始化，Word 就会在未进行其它操作时连续传递为 5 的 Action 值，如果对话函数响应，就应该返回非零值（如果对话函数返回 0，Word 就只是在鼠标移动时才连续发送空闲信息）。Action 为 5 时，ControllD$ 是空字符串（“”），SuppValue 相当于到目前为止传递为 5 的 Action 值的次数。
6	对应对话框的移动者。该值只是在用 ScreenUpdating 指令关闭了屏幕更新时才传递。在传递完该值并且对话函数结束后，Word 更新屏幕，然后打开屏幕更新返回。对话函数不总是需要响应为 6 的 Action 值，但有了它，就可用对话函数来更改刷新屏幕时将显示的内容。Action 为 6 时，ControllD$ 是空字符串（“”），SuppValue 等于 0。
下表中说明在 Action 为2 或 3 时，传递的 SuppValue 值。

控制	传递的 SuppValue
列表框、下拉列表框或组合框	所选项的编号。0 是列表框中的首项，1 是第二项，依此类推。
复选框	选中时为 1，清除时为 0。
选项按钮	所选选项键的编号。0 是组中第一个选项按钮，1 是第二个，依此类推。
文字框	文字框中的字符数
组合框	Action 是 3 时，组合框中的字符数
命令按钮	标识所选按钮的值。由于从 ControllD$ 值中能得到相同信息，所以该值不常用。如果选择“确定”按钮，SuppValue 为 1；如果选择“取消”按钮，SuppValue 为 2。按钮的SuppValue 是 Word 使用的内部编号。该编号与按钮的数字标识符不同，但是，当定义按钮的指令在对话框定义中改变位置时，它会发生变化。
_____________

请参阅

创建动态对话框


DrawArc

DrawArc

切换到页面视图查看，在当前文本层前面增加默认圆弧绘图对象。默认圆弧的形状和方向就象圆周的左下部分，并且插入到当前页面的左上角。

_____________

请参阅

绘图语句和函数

DrawEllipse

DrawFlipHorizontal

DrawFlipVertical

DrawGetType()

DrawLine

DrawRotateLeft

DrawRotateRight

FormatDrawingObject


DrawBringForward

DrawBringForward

将所选绘图对象移到绘图对象堆栈中对象的前面。DrawBring Forward并不将绘图对象从文本后面的层次移到文本前面的层次去。如果所选不是绘图对象，则出错。

_____________

请参阅

绘图语句和函数

DrawBringInFrontOfText

DrawBringToFront

DrawSendBackward

DrawSendBehindText

DrawSendToBack


DrawBringInFrontOfText

DrawBringInFrontOfText

将所选绘图对象由文本后面的层次移到文本前面的层次。该对象位于其它已在文本慨前面的绘图对象之后。如果该对象是文本层上面的绘图层已有的部分，或者所选不是绘图对象，则出错。

_____________

请参阅

绘图语句和函数

DrawBringForward

DrawBringToFront

DrawSendBackward

DrawSendBehindText

DrawSendToBack


DrawBringToFront

DrawBringToFront

将选定绘图对象移到绘图对象堆栈的最顶部。即 Bring To Front 并不将绘图对象由文本后面的层次移到文本前面的层次。如果所选不是绘图对象，则出错。

_____________

请参阅

绘图语句和函数

DrawBringForward

DrawBringInFrontOfText

DrawSendBackward

DrawSendBehindText

DrawSendToBack


 DrawCallout 示例

该示例将指向左侧的标注插入和规格化，DrawCallant结构插入默认标注，其类型由Format Callout指令位置。然后ForatDrawing object指令确定标注的位置和大小并加上添充颜色。标注内部的文本框的坐标定义有二维数目calloutpts$()中，接着调用。Draw Set CalloutTextBox。最后，文本插入到标注中。

DrawCallout

FormatCallout .Type = 1, .Gap = "10 pt", .Angle = 4, \

.Drop = "Center", .Length = "100 pt", .Border = 1, \

.AutoAttach = 0, .Accent = 0

FormatDrawingObject .FillColor = 0, .FillPatternColor = 7, \

.FillPattern = 5, .ArrowStyle = 2, \

.HorizontalPos = "173 pt", .HorizontalFrom = 1, \

.VerticalPos = "100 pt", .VerticalFrom = 1, \

.Height = "42 pt", .Width = "161 pt"

Dim calloutpts$(2, 2)

calloutpts$(1, 1) = "63 pt"

calloutpts$(1, 2) = "0 pt"

calloutpts$(2, 1) = "97 pt"

calloutpts$(2, 2) = "42 pt"

DrawSetCalloutTextbox calloutpts$()

Insert "This callout points to the left."


DrawCallout

示例

DrawCallout

在当前文本层前面插入标注绘图对象，位于当前文档左上角。标注包括文本框和在矩形边界里面的一条线段。首次插入标注时，文本框和矩形边界大小相同，因而线段没有显示出来。用DrawSet Callout TextBox语句可以改变文本框的大小。

用Format Drawing Object可以改变标注中矩形边界的大小和位置，添充颜色、和线型。用Format Callout可以改变标注的其它选项。

_____________

请参阅

绘图语句和函数

DrawGetCalloutTextbox

DrawSetCalloutTextbox

DrawTextBox

FormatCallout

FormatDrawingObject


DrawClearRange

DrawClearRange

清除绘图区，有关绘图区的一详情请参阅==。DrawSetRange.

_____________

请参阅

绘图语句和函数

DrawSetRange


DrawCount() 示例
DrawCount() Example

该示例显示信息框。给出活动文档中绘图对象个数。

DrawSetRange "\Doc"

numobjects = DrawCount()

MsgBox "There are" + Str$(numobjects) + " drawing objects" + \

" in the document."


DrawCount()

示例

DrawCount()

返回位于 DrawSetRange 设置的范围内的绘图对象数目。

_____________

请参阅

绘图语句和函数

DrawGetType()

DrawSetRange


DrawCountPolyPoints() 示例

该示例确定头两个绘图对象是不是手来多边形。如果是，则将第手来多边形的点装入数组PointsArray()第二个手来多边形绘图对象也同样处理。调用第二个手画多边形。

DrawSetRange "\Doc"

If DrawGetType(1) = 7 And DrawGetType(2) = 7 Then

size = DrawCountPolyPoints(1)

Dim pointsArray(size, 2)

DrawGetPolyPoints pointsArray(), 1

DrawSetPolyPoints size, pointsArray(), 2

Else

MsgBox "The first or second drawing object is " + \

"not a freeform shape."

End If


DrawCountPolyPoints()

示例

DrawCountPolyPoints([Object])

返回手画多边形绘图对象的点数。若选定对象不是示例手画多边形，则出错

参数	参数  示例
对象	选定绘图对象： 省略  所选绘图对象 〉0 位于BrwSetRange语句设置的范围内的对象，其中1为该范围第对象。2为第二个对象，依此类推。如果数字不在1到DrawCount()范围内，则出错。
_____________

请参阅

绘图语句和函数

DrawFreeformPolygon

DrawGetPolyPoints

DrawSetPolyPoints


DrawDisassemblePicture

DrawDisassemblePicture

将所选图形转换成一组绘图对象。如果所选图形不能分解，Word将它插入文本框绘图对象，如果未选定图形，则出错。

_____________

请参阅

绘图语句和函数

DrawGroup

DrawUngroup


DrawEllipse

DrawEllipse

切换到页面视图，在当前文本层前面增加默认椭圆绘图对象。默认椭图绘图对象是圆周，插入到当前页面左上角。

_____________

请参阅

绘图语句和函数

DrawGetType()

DrawRoundRectangle

FormatDrawingObject


DrawExtendSelect

DrawExtendSelect Count

选择由Count指定的位于DrawSet Range语句设置的范围内的绘图对象。Count是绘图对象相对文本层的位置=1对应最靠近文本层的对象，2对应一上，依此类推。如果选定了或多个绘图对象，将由Count指定的绘图对象加入到绘图对象组中。如果未设置绘图范围，或者Count大于位于该范围内的对象总数，则出错。

_____________

请参阅

绘图语句和函数

DrawGroup

DrawSelect


DrawFlipHorizontal

DrawFlipHorizontal

由左向右翻转所选绘图对象，DrawFH只对绘图工具栏生成的对象有效，如果选定对象是嵌入对象，则出错。

_____________

请参阅

绘图语句和函数

DrawFlipVertical

DrawRotateLeft

DrawRotateRight


DrawFlipVertical

DrawFlipVertical

由顶向底翻转所选绘图对象，DrawFV只对绘图工具栏生成的对象有效，如果选定对象是嵌入对象，则出错。

_____________

请参阅

绘图语句和函数

DrawFlipHorizontal

DrawRotateLeft

DrawRotateRight


DrawFreeformPolygon 示例

该示例例插入默认的手画多边形对象，然后用DrawSetP.P。改变它，从而在文本层前面增加N形绘图对象。因为N形线有四个顶点，所以要指定PointArray$()数组的八个元素(两个值为一对共四对)，顶点的测量相对当前页面的左上角。

DrawFreeformPolygon

Dim pointsArray$(4, 2)

pointsArray$(1, 1) = "150 pt"

pointsArray$(1, 2) = "200 pt"

pointsArray$(2, 1) = "150 pt"

pointsArray$(2, 2) = "100 pt"

pointsArray$(3, 1) = "200 pt"

pointsArray$(3, 2) = "200 pt"

pointsArray$(4, 1) = "200 pt"

pointsArray$(4, 2) = "100 pt"

DrawSetPolyPoints 4, pointsArray$()


DrawFreeformPolygon

示例

DrawFreeformPolygon

切换到页面视图，在文本层前面加默认手画多边形绘图对象。默认手画多边形包含单线段并插入到当前页面的左上角。可以使用DrawSet RolyPoints语句改变手画多边形的形状。

_____________

请参阅

绘图语句和函数

DrawCountPolyPoints()

DrawGetPolyPoints

DrawSetPolyPoints

FormatDrawingObject


DrawGetPolyPoints 示例

该示例将所选手画多边形绘图对象的坐标存入数组PointsArray()。如果未选定手画多边形绘图对象，则出错。

If DrawGetType() = 7 Then

size = DrawCountPolyPoints()

Dim pointsArray(size, 2)

DrawGetPolyPoints pointsArray()

Else

MsgBox "The selected drawing object is not a freeform shape."

End If

另一个示例请参阅 DrawCountPolyPoints() 示例。


DrawGetPolyPoints

示例

DrawGetPolyPoints TwoDimensionalArray[$]() [, Object]

将所选手画多边形绘图对象的顶点坐标填入二维数组中，如果所选对象不是手画多边形,则出错，可以将这个数组作为DrawSet Poly Points的参数(自变量)，从而使另手画多边形绘图和同样的坐标，运行DrawGetPolyPoints前必须先定义数组：使用DrawCountPolyPoints()来确定数组适当的大小。

参数	注释
二维数组[$]()	将所选手画多边形绘图对象的坐标填入预定义的二维数组，它可以是字符串或数值数组。字符串数组填入文本大小，包括数字后跟默认的度量单位，缩写字。数字数组只填入数字。
对象	选定绘图对象： 0 位于Draw Set Range语句设置的范围内的一人绘图对象，其中1为该范围内经对象，2为第二个，依此类推。如果数字不在1到DrawCount()范围内，则出错。
_____________

请参阅

绘图语句和函数

DrawCountPolyPoints()

DrawFreeformPolygon

DrawSetPolyPoints


DrawGetType() 示例

该示例将绘图范围设置为整个文档，用预定义的书签“.Doc”统计文档中圆弧的数目，然后在信息框里显示统计结果。

DrawSetRange "\Doc"

numarcs = 0

For i = 1 To DrawCount()

type = DrawGetType(i)

If type = 6 Then numarcs = numarcs + 1

Next

MsgBox "The document contains" + Str$(numarcs) + " arc(s)."


DrawGetType()

示例

DrawGetType([Count])

返回在1到Draw Count()范围内的数字，数字对应由Count Count指定的绘图对象的类型，对象号在Draw Set Range指定的范围内。如果省略Count则返回选定绘图对象的类型。

DrawGetType()返回以下值：.

返回值	注释
0 (zero)	未指定Count,不选定绘图对象。
1	未指定Count，选定多于绘图对象。
2	绘图对象是一条线。
3	绘图对象是文本框。
4	绘图对象是矩形。
5	绘图对象是椭圆。
6	绘图对象是圆弧。
7	绘图对象是手画多边形。
8	绘图对象是标注
_____________

请参阅

绘图语句和函数

DrawCount()

DrawSelect

DrawSetRange


DrawGroup 示例

该示例将当前段落设置为绘图范围，并选定位于该范围内的每个对象，如果该范围对象数目关于一，则它们构成一组对象。

DrawSetRange "\Para"

numobjects = DrawCount()

For i = 1 To numobjects

DrawExtendSelect i

Next i

If numobjects > 1 Then DrawGroup


DrawGroup

示例

DrawGroup

将所选对象构成一组，从而可以将它们作为单个对象处理。

_____________

请参阅

绘图语句和函数

DrawDisassemblePicture

DrawExtendSelect

DrawSelect

DrawSetRange

DrawUngroup


DrawInsertWordPicture

DrawInsertWordPicture

打开了临时文件(Word图片对象)并显示“图片”和“绘图”工具栏。如果运行了DrawInsertWodPicture。使用者关闭文档或者单击“图尺”工具栏中的“关闭”按钮时，该对象嵌入到活动文档中。。DrawInserWordPicture指令与InserObject.Class="Word.Picture.6"指令相同。_____________

See also

Drawing Statements and Functions

InsertDrawing

InsertObject

InsertPicture


DrawLine

DrawLine

在当前文本层前面添加默认，线性绘图对象。默认的线段插入当前页面的左上角。

_____________

请参阅

绘图语句和函数

DrawArc

DrawFlipHorizontal

DrawFlipVertical

DrawFreeformPolygon

DrawGetType()

DrawRotateLeft

DrawRotateRight

FormatDrawingObject


DrawNudgeDownPixel

DrawNudgeDownPixel

将所选绘图对象下移象素(屏幕最小单位)。

_____________

请参阅

绘图语句和函数

DrawNudgeDown

DrawNudgeLeftPixel

DrawNudgeRightPixel

DrawNudgeUpPixel


DrawNudgeLeftPixel

DrawNudgeLeftPixel

将所选绘图对象左移象素点(屏幕最小单位)。

_____________

请参阅

绘图语句和函数

DrawNudgeDownPixel

DrawNudgeLeft

DrawNudgeRightPixel

DrawNudgeUpPixel


DrawNudgeRightPixel

DrawNudgeRightPixel

将所选绘图对象右移象素点(屏幕最小单位)。

_____________

请参阅

绘图语句和函数

DrawNudgeDownPixel

DrawNudgeLeftPixel

DrawNudgeRight

DrawNudgeUpPixel


DrawNudgeUpPixel

DrawNudgeUpPixel

将所选绘图对象上的象素点(屏幕最小单位)。

_____________

请参阅

绘图语句和函数

DrawNudgeDownPixel

DrawNudgeLeftPixel

DrawNudgeRightPixel

DrawNudgeUp


DrawRectangle

DrawRectangle

在当前文本层前面添加默认的矩形图以象。默认的矩形绘图对象是正方形并插入当前页面的左上角。

_____________

请参阅

绘图语句和函数

DrawFreeformPolygon

DrawRoundRectangle

DrawTextBox

FormatDrawingObject


DrawResetWordPicture

DrawResetWordPicture

重新设置“Word”图片对象的边界，使它包括图片编辑窗口内的所有绘图对象。如果活动窗口不是图片编辑窗口，则出错。

_____________

请参阅

绘图语句和函数

DrawInsertWordPicture

FileClosePicture


DrawReshape

DrawReshape

在所选手画多边形绘图对象手柄间进和切换，是矩形边界(用控制点完成对象的缩放或者重置大小)，另是手画多边形顶点(用手柄完成，重新设置对象的形状)。在运行Draw ReShape之前，可以选定多个手画多边形绘图对象)。如果未选定手画多边形绘图对象，则出现错误。

_____________

See also

Drawing Statements and Functions

DrawFreeformPolygon

DrawGetType()

DrawSelect


DrawRotateLeft

DrawRotateLeft

将所选绘图对象逆时针方向旋转90。DrawRotatezeft仅对由“绘图”工具栏生成的绘图对象有效。如果所选对象是嵌入对象，则出错。

_____________

See also

Drawing Statements and Functions

DrawFlipHorizontal

DrawFlipVertical

DrawRotateRight


DrawRotateRight

DrawRotateRight

将所选绘图对象顺时针旋转90。DrawRotateRight仅对由“绘图”工具栏生成的对象有效。如果所选对象是嵌入对象，则出错。

_____________

请参阅

绘图语句和函数

DrawFlipHorizontal

DrawFlipVertical

DrawRotateLeft


DrawRoundRectangle

DrawRoundRectangle

在当前文本层前面添加默认的圆角矩形绘图对象。默认的圆角矩形有等长的边并插入当前页面的左上角。

_____________

请参阅

绘图语句和函数

DrawEllipse

DrawFreeformPolygon

DrawRectangle

DrawTextBox

FormatDrawingObject


DrawSelect 示例

该示例选定文档中，最后绘图对象，将它放到同一绘画层的最顶端位置。

DrawSetRange "\Doc"

numobjects = DrawCount()

DrawSelect numobjects

DrawBringToFront


DrawSelect, DrawSelect()

示例

DrawSelect Object

DrawSelect(Object)

DrawSelect语句选择指定的绘图对象并删除其它已选择的绘图对象。如果要选定绘图对象，而不删除其它对象，可使用DrawExtendSelect语句。Draw Select()函数和语句功能相同，如果选择了指定的对象，则返回-1。

参数(自变量)	注释
对象	选定位于由Draw SetRange设置的范围内的绘图对象，这里1代表该范围内第对象，2代表第二个对象，依此类推。如果这个数字不在1～DrawCount()范围内，则发生错
_____________

See also

Drawing Statements and Functions

DrawExtendSelect

DrawSetRange


DrawSelectNext

DrawSelectNext

选定下绘图对象，这里“下”是指最底端的对象，则Word选定最顶端的对象。为运行Draw Select Next()时未选定绘图对象，则出现错误。注意，使用Draw SelectNext时无需使用Draw SetRange设置绘图范围。

_____________

See also

Drawing Statements and Functions

DrawExtendSelect

DrawSelect

DrawSelectPrevious


DrawSelectPrevious

DrawSelectPrevious

选定上绘图对象。这里“上”是指最靠近绘图对象堆栈栈底的上对象。如果选择了最顶端的对象，则Word选定最底端的对象。若运行DrawSelect Previaus时未选定绘图对象，则出现错误。注意，使用DrawSelectPrevious时无需使用DrawSetRange设置绘图范围。

_____________

See also

Drawing Statements and Functions

DrawExtendSelect

DrawSelect

DrawSelectNext


DrawSendBackward

DrawSendBackward

在绘图对象堆栈中将所选绘图对象移到上的后面。DrawSelect BackWord并不将绘图对象从文本层前面的层次移到文本后面的层次。如果未选定绘图对象则出错。

_____________

请参阅

绘图语句和函数

DrawBringForward

DrawBringInFrontOfText

DrawBringToFront

DrawSendBehindText

DrawSendToBack


DrawSendBehindText

DrawSendBehindText

在绘图对象堆栈中将所选绘图对象移到上的后面。DrawSelect BackWord并不将绘图对象从文本层前面的层次移到文本后面的层次。如果未选定绘图对象则出错。

_____________

请参阅

绘图语句和函数

DrawBringForward

DrawBringInFrontOfText

DrawBringToFront

DrawSendBackward

DrawSendToBack


DrawSendToBack

DrawSendToBack

将所选绘图对象移到绘图对象堆栈中所有先前绘图对象之后，Draw Send t0Back并不将绘图对象从文本前面的层次移到文本后面的层次去。如果未选定绘图对象，则出错。

_____________

请参阅

绘图语句和函数

DrawBringForward

DrawBringInFrontOfText

DrawBringToFront

DrawSendBackward

DrawSendBehindText


DrawSetCalloutTextbox

DrawSetCalloutTextbox TwoDimensionalArray[$]() [, Object]

用保存在二维数组中的位置和大小确定所选“标注”绘图对象的文本区。

参数	注释
二维数组[$]()	一个二维数组，它包含一个标注绘图对象文本区相对于矩表边界的位置和大小坐标。可以用一个包含默认测量单位数值的数字数组，或者用一个包含文本的测量值的字符串数组。 有关如何把数值存入数组的详细内容，请参阅DrawGetCalloutTextbox。
对象	指定一个绘图对象： >0(Zero)  一个位由 DrawSetRange 语句设置的范围中的对象，这里 1 代表该范围内第一个对象，2 代表第二个，依此类推。如果这个数字不在 1 到 DrawCount() 范围内，则发生错误。
示例请参阅 DrawCallout 示例。

_____________

请参阅

绘图语句和函数

DrawCallout

DrawGetCalloutTextbox

DrawSetInsertToTextbox


DrawSetInsertToAnchor

DrawSetInsertToAnchor [Object]

将插入点移到指定绘图对象所在段落的起始点。

参数	示例
对象	对象所选绘图对象: 省略  所选绘图对象 >0  位于DrawSetRange()语句设置的范围内的绘图对象。这里，1人表该范围的第对象，2代表第二个，依此类推。如果这个数字不在1到DrawCount()范围内，则出错。
_____________

See also

Drawing Statements and Functions

DrawSetInsertToTextBox


DrawSetInsertToTextbox 示例

该示例将整个文档设置为绘图范围，然后选定第绘图对象。如果该绘较对象是文本框或者标注，Word将插入点移到文本区并插入一些文本。

DrawSetRange "\Doc"

Select Case DrawGetType(1)

Case 3	'Text box

DrawSetInsertToTextbox 1

Insert "Text box text"

Case 8	'Callout

DrawSetInsertToTextbox 1

Insert "Callout text."

Case Else

End Select


DrawSetInsertToTextbox

示例

DrawSetInsertToTextbox [Object]

将插入点移到所选文本框或者标注绘图对象的文本区。如果所选对象不是文本框或者标注绘图对象，则出现错误。

参数	注释
对象	指定绘图对象 省略  所选绘图对象 >0 位于DrawSetRange语句设置的范围内的绘图对象。这里，1代表该范围内第对象，2代表第二个，依此类推，如果这个数字不在1到DrawCount()范围内，则出错.
_____________

See also

Drawing Statements and Functions

DrawCallout

DrawSelect

DrawSetInsertToAnchor

DrawTextBox


DrawSetPolyPoints

DrawSetPolyPoints NumPoints, TwoDimensionalArray[$]() [, Object]

用保存在二维数组中的坐标确定平手画多边形绘图对象。如果选定对象不是手画多边形，则出错。

参数	注释
点数	二维数组中用于手画多边形的数标数目。“点数”不能超过数组的大小。
二维数组[$]() 一	二维数组[$]() 包含手画多边形，顶点坐标的二维数组。可以用包含默认测量单位数值的数值数组，或者用包含文本测量值的字符串数组。有点如何将数值存入数组的详细情请参阅 DrawGetPolyPoints。
对象	指定绘图对象。 省略  所选绘图对象。 >0 位于由Draw SetRgange()设置的范围内的绘图对象。这里，1代表该范围内第对象，2代表第二个依此类推。如果这个数字不在1到DrawCount()范围内，则出错
示例请参阅= DrawCountPolyPoints() Example.

_____________

See also

Drawing Statements and Functions

DrawCountPolyPoints()

DrawFreeformPolygon

DrawGetPolyPoints

DrawReshape


DrawSnapToGrid

DrawSnapToGrid . = number [, .XGrid = number or text] [, .YGrid = number or text] [, .XOrigin = number or text] [, .YOrigin = number or text]

建立网格，以限定绘图对象可解的位置和大小。想要对齐和连接绘图对象时，网格是很有用的。DrawSnap To Grid 的参数对应于“格线对齐”对话框中的选项(“格线对齐”)按钮，“绘图”工栏栏)。

参数	注释
. 格线对齐	若为1，激活绘图对象位置处的限定网络。
. 水平网格线	垂直网格线间的一段距离，单位是点或文本度量单位(换句语说，即绘图对象水平放置的增量)。
.YGrid	The distance, in points or a text measurement, between horizontal gridlines (in other words, the increments in which drawing objects can be positioned vertically).
.XOrigin	. 由页面左边界到垂直网格线之间的距离，单位是点或文本度量单位。Word 从这条垂直网格起辅设其它所有垂直网格线。选定0或.XGrid测量值的倍数无效。
.YOrigin	. 由页面顶边界到水平网格线之间的距离，单位是点或者文本度量单位。Word 从这条网格线起铺设其它所有的水平网格线。选定0或.Y Grid测量值的倍数无效。
_____________

请参阅

绘图语句和函数

DrawAlign


DrawTextBox

DrawTextBox

向当前文本层前面的绘图层添加默认的带边框文本区。默认的文本框为一英寸见方并插入到当前页面的左上角。

_____________

请参阅

绘图语句和函数

DrawCallout

DrawRectangle

DrawSetInsertToAnchor

DrawSetInsertToTextBox

FormatDrawingObject


DrawUngroup

DrawUngroup

删除Draw Group语句先前建立的绘图对象之间的联系，从而能够独立地移动和缩放每对象。如果未选取一组绘图对象，则出现错误。

_____________

请参阅

绘图语句和函数

DrawExtendSelect

DrawGroup

DrawSelect


DrawUnselect

DrawUnselect

将已所选绘图对象除名，并将插入点移到该绘图对象所在段落的起始点。如果选定了不止绘图对象，则Draw Unselect()将插入点移到第包括以上选定对象的段落的起始点。

_____________

请参阅

绘图语句和函数

DrawExtendSelect

DrawSelect

DrawSelectNext

DrawSelectPrevious


FormatCallout

FormatCallout [.Type = number] [, .Gap = number or text] [, .Angle = number] [, .Drop = text] [, .Length = number or text] [, .Border = number] [, .AutoAttach = number] [, .Accent = number]

设置标注绘图对象的选项。FormatCallout语句的参数对应“标注格式”对话框的选项（“规格化标注”按钮，“绘图”工具栏）。

参数	注释
.Type	指定标注类型： 0   一条线段(垂直或者水平) 1 一条线段(垂直、水平或者斜线) 2  两条线段 3 三条线段
.Type	指定标注类型： 0  一条线段(垂直或者水平) 1 一条线段(垂直、水平或者斜线) 2  两条线段 3 三条线段
.Gap	指定标注线与文本区矩形边界之间的距离，单位是点或者文要度量单位。
.Angle	指定标注线的角度(类型设置为2或者3时，影响远离中心的线段)： 0  任何角度：Word在您移动和缩放标注时，自动调整角度。 1  30度 2 45度 3 60度 4  90度
.AutoAttach	If 1, changes the starting position of the callout line automatically when the callout origin or the callout text is switched from left to right.
.Accent	如果为1，紧挨文本区添加一条垂直线。
示例  请参阅==DrawCallout Example.

_____________

See also

Drawing Statements and Functions

DrawCallout

DrawGetCalloutTextBox

DrawSetCalloutTextBox

FormatDrawingObject


FormatDrawingObject 示例

该示例将所选绘图对象下移10点，再后移10点，“点；指当前测量单位。

Dim dlg As FormatDrawingObject

GetCurValues dlg

dlg.HorizontalPos = Val(dlg.HorizontalPos) + 10

dlg.VerticalPos = Val(dlg.VerticalPos) + 10

FormatDrawingObject dlg


FormatDrawingObject

示例

FormatDrawingObject [.Tab = number] [, .FillColor = number or text] [, .LineColor = number or text] [, .FillPatternColor = number or text] [, .FillPattern = number or text] [, .LineType = number] [, .LineStyle = number] [, .LineWeight = number or text] [, .ArrowStyle = number] [, .ArrowWidth = number] [, .ArrowLength = number] [, .Shadow = number] [, .RoundCorners = number] [, .HorizontalPos = number or text] [, .HorizontalFrom = number] [, .VerticalPos = number or text] [, .VerticalFrom = number] [, .LockAnchor = number] [, .Height = number or text] [, .Width = number or text] [, .InternalMargin = number or text]

改变选定绘图对象的填充颜色、线型、大小和位置。FormatDrawingObject 语句的参数对应“绘图对象”对话框中的选项（“格式”菜单）。

参数	示例
.Tab	在执行 Dialog或Dialog()指令显示对话框时，指定要选则的栏目： 0 填充栏 1  线型栏 2  大小和位置栏
.FillColor	指定填充颜色。要指定灰色的百分比，先加倍想要的灰尘色的百分比，再使之为负。(例如，想要百分之5的灰度，指定-10；想要百分之37.5的灰度，指定-75)。用1到16之间的值指定一种颜色。数值的含义在CharColor中有描述，这里0指示设有颜色。
.LineColor	指定画线颜色。对应的数值请参阅.FillColor。
.FillPatternColor	指定调色板颜色，对应的数值请参阅.FillColor.
.FillPattern	指定填充调色板： 0   将.FillColor和FillPattern都设置为“None”。 1 到 25   指定“调色板”框里“填充”表中的一项；1对应第一项(“None”)，2对应第二项，依此类推。
.LineType	指定是否显示边线： 0 隐藏边线；只显示填充和箭头(如果有的话)。 1  按照.LineColor,.LineStyle,和LineWeight显示边框。
.LineStyle	在样式“框的”线型表中选取一种线型。这里0对应第一项，1对应第二项，依此类推直到4。
.LineWeight

.ArrowStyle	指定线型绘图对象为箭头样式：0 对应样式框中“箭头”下面的第一项，1对应第二项，依此类推直到6。
.ArrowWidth	指定箭头线型对象的宽度： 0  宽 1 中等 2  宽
.ArrowLength	指定 箭头线型对象的长度： 0  短 1 中等 2  长
.Shadow	如果为1，给绘图对象内加阴影。
.RoundCorners	如果为1，把矩形绘图对象变成圆角的。
.HorizontalPos	指定的参数考点到绘图对象的距离，单位是点或文本度量单位。
.HorizontalFrom	指定测量绘图对象水平位置的参考点： 0  页边距 1  页  面 2  列
.HorizontalFrom	指定测量绘图对象水平位置的参考点： 0 页边距 1  页面 2 列
.VerticalPos	指定的参考点到绘图对象的距离，单位是点或文本度量单位。
.VerticalFrom	指定测量绘图对象垂直位置的参考点 0  页边距  1  页  面 2  段  落
.LockAnchor	如果为1，替换相关的绘图对象时，保持原绘图对象的位置。 不能替换指定的驻留点。
.Height	绘图对象的高度，单位是点或者文本度量单位
.Width	绘图对象的宽度，单位是点或者文本度量
.InternalMargin	以缓(20缓p=1点)为单位，文本框或者标注绘图对象的内部空白的测量值，单位是920=1点)
_____________

See also

绘图语句和函数

DrawAlign

DrawReshape

DrawSnapToGrid


FormatPicture 示例

该示例将所选图形大小变为原来宽度和高度的百分之75。

FormatPicture .ScaleX = "75%", .ScaleY = "75%"


FormatPicture

示例

FormatPicture [.SetSize = number] [, .CropLeft = number or text] [, .CropRight = number or text] [, .CropTop = number or text] [, .CropBottom = number or text] [, .ScaleX = number or text] [, .ScaleY = number or text] [, .SizeX = number or text] [, .SizeY = number or text]

规格在选定的图形。如果当前的选项不是图形或者是图一与文本的混合，则发生错误。FormatPictures 语句的参数对应“格式”菜单的“图片”对话框中的选项。

参数	注释
.SetSize	表明在缩放和大小都指定时，用什么参数决定图形的大小： 0(Zero) 用 ScaleX 和 ScaleY 来规格化图形。 1  用 SizeX 和 SizeY 来规格化图形。
.CropLeft, .CropRight, .CropTop, .CropBottom	剪裁图形的总数，以点（ 72点=1 英寸）或者文本度量。如果指定一个负值，则不剪裁图形，而是啬图形周围的空白总数。
.ScaleX, .ScaleY	图形的水平和垂直比例，即原宽度和高度的百分比。
.SizeX, .SizeY	图形的水平和垂直尺度，以点或者文本度量。
_____________

请参阅

绘图语句和函数

InsertPicture


InsertDrawing

InsertDrawing

如果计算机中安装了“ Microsoft Draw ”，启动“ Microsoft Draw ”，显示一个空白窗口。当使用者退出“ Microsoft Draw ”时，所绘图形嵌入活动文本框中。InsertDrawing 指令与 InsertObject.Class="MSDraw" 指令相同。

_____________

请参阅

绘图语句和函数

DrawInsertWordPicture

InsertChart

InsertEquation

InsertExcelTable

InsertObject

InsertPicture

InsertSound

InsertWordArt


SelectDrawingObjects

SelectDrawingObjects

在标准鼠标点取器与所选绘图对象之间切换鼠标点取器的形状。可以拖点线矩形包围要选取的绘图对象。

_____________

请参阅

绘图语句和函数

DrawExtendSelect

DrawSelect


ToggleMainTextLayer

ToggleMainTextLayer

显示页眉和页脚时，同时显示主文本层。如果选则不在页眉或页脚内，则发生错误。

_____________

请参阅

节和文档的格式

ViewHeader


ViewDrawingToolbar

ViewDrawingToolbar

如果“绘图”工具栏为隐藏的，显示它。

_____________

请参阅

绘图语句和函数

ViewBorderToolbar

ViewToolbars


在文档中搜索时使用特殊字符

在 FileFind 指令中，通过用大致条件代替精确条件，在文档中搜索时可使用特殊字符。在将摘要信息指定为搜索条件时，可用通配符和搜索操作符来控制特定方式下的搜索。

字符	含义
?（问号）	匹配任意单个字符。例如：指定“gr?y”可匹配“gray”和“grey”。
*（星号）	匹配任意数量的字符。例如：给 .Title 指定 "summar*" 可查找所有标题含“Summary”或“Summaries”的文件。
“”（引号）， Chr$(34）)	匹配引号内的所有字符，包括空格或标点。例如：指定 Chr$(34) +"modern dance" + Chr$(34) 可查找词组 modern dance。
\（反斜杠）	将后面的字符（空格、星号、问号，逗号、and 号或否定号）作为普通字符处理。例如：指定“\?”可表明真正的问号。
，（逗号）	“逻辑或”。信息可匹配任意一个或所有项目，但必须至少匹配一项。 例如：指定"dance, modern" 可查找所有含“dance”或“modern”的文档。
& （and 号）或（空格）	“逻辑与”。信息必须匹配列表中的所有项目。 例如：指定"dance&modern" 或 "dance modern" 可查找所有含这两个单词的文档。
~（否定号）	“逻辑非”，信息必须不匹配该项。 例如：指定 "~modern" 将排除所有含单词“modern”的文档。
_____________

请参阅

FileFind

高级搜索条件


高级搜索条件

如果在 FileFind、EditFind 或 EditReplace 指令中将 .PatternMatch 参数设为 1，就可指定下列高级搜索条件。

查找内容	操作符	示例
任意的单个字符	?	“s?t”查找“sat”、“set”和“sit”。
任意字符串	*	“s*d”查找“sad”、“started”和“said”
指定字符之一	[ ]	“W[io]n”查找“win”和“won
该范围中的任意单个字符	[-]	“[r-t]ight”查找“right”、“sight”和“tight”。
除方括号内的字符以外的任意单个字符。	[!]	“m[!a]st”查找“mist”、“most”和“must”，但不查找“mast”；“t[!ou]ck”查找“tack”和“tick”，但不查找“tock”或“tuck”。
除方括号内范围中的字符以外的任意单个字符	[!x-z]	“t[!a-m]ck”查找“tock”和“tuck”而不查找“tack”或“tick”。
前一字符或表达式准确地出现 n 次	{n}	“fe{2}d”查找“feed”，但不查找“fed”。
前一字符或表达式至少出现 n 次	{n,}	“fe{1,}d”查找“fed”和“feed”。
前一字符或表达式出现 n 次到 m 次	{n,m}	“10{1,3}”查找 “10”、“100”和“1000”。
前一字符或表达式出现一次或多次	@	“lo@t”查找“lot”和“loot”。
单词的开头	<	“inter”查找“interesting”和“intercept”，但不查找“splintered”。
单词的结尾	>	“in>”查找“in”和“within”，但不查找“interesting”。
可给搜索条件部分加上括号，以表明操作顺序并组合表达式部分。

在操作符前加反斜框（\）可将其作为字符搜索。例如：在 EditFind 指令中指定 .Find=“\?”可查找问号。

另一个可在 EditReplace 指令中为 .Replace 指定的操作符是 \num，该操作符将按 .Replace 指定的顺序重排 .Find 指定的表达式。如果指定 .Find="(Newton) (Christie)" 和 .Replace = "\2\1"，该文字会从“Newton Christie”变成“Christie Newton”。

_____________

请参阅

EditFind

EditReplace

FileFind

用键盘码查找并替换特殊字符

在文档中搜索时使用特殊字符


用键盘码查找并替换特殊字符
用键盘码查找和替换特殊字符

为 .Find 和 .Replace 参数指定下列代码后，可用 EditFind 或 EditReplace 指令来查找和替换特殊字符。按 SHIFT+6 可得到 ^ 符号，而且一定要用小写字母。

特殊字符

要指定	给该参数	指定
段落标记 ( [image])	.Find 或 .Replace	"^p"
制表符 ( [image])	.Find 或 .Replace	"^t"
批注标记	.Find	"^a"
ANSI 或 ASCⅡ字符	.Find 或 .Replace	“^0nnn”，其中 nnn 为字符的数
任意字符	.Find	"^?"
任意数字	.Find	"^#"
任意字母	.Find	"^$"
脱字号字符	.Find 或 .Replace	"^^"
剪贴板内容	.Replace	"^c"
.Find 指定的文字	.Replace	"^&"
尾注标记	.Find	"^e"
域	.Find	"^d"
脚注标记	.Find	"^f"
图形	.Find	"^g"
分隔符

要指定	给该参数	指定
分栏符 ( [image])	.Find 或 .Replace	"^n"
换行符 ( [image])	.Find 或 .Replace	"^l"
人工分行符 ( [image])	.Find 或 .Replace	"^m"
分节符 ( [image])	.Find	"^b"
连字符和空格

要指定	给该参数	指定
全身破折号	.Find 或 .Replace	"^+"
半身破折号	.Find 或 .Replace	"^="
不间断空格 ( [image])	.Find 或 .Replace	"^s"
不间断连字符 ( [image])	.Find 或 .Replace	"^~"
可选连字符 ( [image]) ( [image])	.Find 或 .Replace	"^-"
空白区域 ( [image])	.Find	"^w"
不能搜索 Word 用“工具”菜单中的“断字”命令自动插入的连字符。

注意

（ [image] ）如果忽略可选连字符代码，Word 就会查找所有相符的文字，包括带有可选连字符的文字。如果包含可选连字符代码，Word 就只在同一位置查找带可选连字符的单词。例如：如果指定 .Find=“type^-writer”，Word 就会查找“type-writer”，而不查找“typewriter”。

（ [image] ）任何数字以及普通空格、不间断空格、制表符和段落标记的组合。

_____________

请参阅

EditFind

EditReplace

高级搜索条件


AutoMarkIndexEntries

AutoMarkIndexEntries ConcordanceFilename$

用 ConcordanceFilename$ （索引文件的路径和文件名）自动为活动文档编制索引。索引文件是含有两栏表格的 Word 文档，第一栏中是要索引的词汇，第二栏中是索引项。AutomMarkIndexEntries 语句在每个出现索引文件第一栏中所列词汇的位置之后以适当的词目文字插入 XE（索引项）域。

_____________

请参阅

编辑语句和函数

MarkIndexEntry


Cancel 示例

该示例将剪贴板的内容粘贴到文档，选定粘贴过的文字，再将所选文字置于变量中。要完成这项任务，该宏在插入点插入书签，粘贴文字，然后用 ExtendSelection 选定粘贴过的文字。Cancel 语句关闭扩展方式，以便在最后一条指令将插入点移至文档尾时不选定文字。

CopyBookmark "\Sel", "temp"

EditPaste

ExtendSelection

EditGoTo "temp"

pasted$ = Selection$()

Cancel

EndOfDocument


Cancel

示例

Cancel

取消 ColumnSelect、CopyFormat、CopyText 或 ExtendSelection 语句激活的方式。

_____________

请参阅

编辑语句和函数

OK


DeleteBackWord

DeleteBackWord

删除紧邻插入点或选定部分之前的单词，但不置于剪贴板。

如果有选定部分，DeleteBackWord 就会像有插入点一样运行；该语句不删除选定部分但删除紧邻它之前的单词。如果插入点在单词中间，DeleteBackWord 删除插入点和该单词词首之间的字符。

注意：如果单词和插入点之间有空格字符，DeleteBackWord 删除该空格字符，同时也删除该单词。如果插入点在标点符号之后（比如逗号或句号），DeleteBackWord 只删除标点符号。

_____________

请参阅

编辑语句和函数

DeleteWord

EditClear

EditCut

WordLeft


DeleteWord

DeleteWord

删除紧邻插入点或选定部分所含第前一单词或单词的一部分之后的单词，但不置于剪贴板。如果插入点在单词的中间，DeletWord 删除插入点和单词尾之间的字符。

注意：如果插入点和单词之间有空格字符，DeleteWord 删除该空格字符，同时也删除该单词。如果插入点在标点符号之前（比如逗号或句号），DeleteWord 只删除标点符号。

_____________

请参阅

编辑语句和函数

DeleteBackWord

EditClear

EditCut

WordRight


EditCopy

EditCopy

将选定部分复制到剪贴板。如果没有选定部分，就会发生错误。

_____________

请参阅

编辑语句和函数

EditCut

EditPaste

EditPasteSpecial


EditGoTo 示例

该示例统计文档中的表格数。书签“Temp”定义在每个连续的插入点位置，故此 CmpBookmarks() 可确定最近的 EditGoTo（或 RepeatFind）指令是否移动了插入点。RepeatFind 不再移动插入点（即不再有表格）时，Word 退出 While…Wend 循环。

StartOfDocument

EditBookmark "Temp", .Add

count = 0

If SelInfo(12) = - 1 Then count = 1

EditGoTo .Destination = "t"

While CmpBookmarks("\Sel", "Temp") <> 0

EditBookmark "Temp", .Add

count = count + 1

RepeatFind

Wend

EditBookmark "Temp", .Delete

MsgBox "There are" + Str$(count) + " tables in the document"


EditGoTo

示例

EditGoTo .Destination = text

将插入点或选定部分移至指定位置或项目，例如：页、书签、脚注、行或域。要将插入点移至下表所列目的地，可结合数字、加号（＋）、减号（－）或字符串使用相应的标识符。

目的地	标识符	.Deatination 的示例文字
页	p（或忽略）	文字“p5”或“5”定位至第五页。
节	s	文字“s”定位至下一节。
行	l	文字“1＋5”定位至当前插入点之后的第五行。
书签	（无）	文字“Temp”定位至书签“Temp”。
批注	a	文字“a‘Sara.Lavine’”定位至 Sara Lavine 所作下一批注标记。
脚注	f	文字“f－”定位至前一脚注引用标记。减号（－）的意思是从插入点往回数。
尾注	e	文字“e5”定位至第五个尾注引用标记。
域	d	文字“d‘TIME’”定位至下一 TIME 域。单引号将标识符与域类型分开。
表格	t	文字“t”定位至下一表格。
图形	g	文字“g10”定位至文档中第十个图形。
公式	q	文字“q－”定位至前一公式。
对象	o	文字“o－‘WordArt’”定位至前一 Microsoft WordArt 对象。单引号将标识符与对象类型分开。
下表总结了在 EditGoTo 指令中数字和加号或减号结合目的地标识符的使用。加号或减号及数字可以用于除书签外的各种目的地类型。

标识符结合	结果
数字	根据项目在文档中的位置定位至该项目。例如：EditGoto“l30”定位至文档中第三十行；EditGoTo“f200” 定位至第二百个脚注。
＋〔数字〕或－〔数字〕	定位至相对于当前位置的项目。例如：EditGoTo“l＋2”，定位至当前行后第二行。同样，EditGoTo“l－2”定位至当前行前第二行；EditGoTo“l－”指令定位至上一行；EditGoTo“＋”定位至下一行。
忽略	定位至指定的下一项。例如：EditGoto“s” 定位至文档中下一节。
_____________

请参阅

编辑语句和函数

EditFind

GoBack

GoToNextItem

GoToPreviousItem

NextField

NextObject

NextPage

PrevField

PrevObject

PrevPage

RepeatFind


EditPaste

EditPaste

将剪贴板的内容插至插入点。如果选中“工具”菜单的“选项”对话框中的“编缉”选项卡上的“用键入替换选定内容”复选框，EditPaste 会替换选定内容。

_____________

请参阅

编辑语句和函数

CopyText

EditCopy

EditCut

EditPasteSpecial

MoveText


EditRedo

EditRedo

重做撤消过的上次操作（与 EditUndo 相反）。

_____________

请参阅

编辑语句和函数

EditRepeat

EditUndo


EditRepeat

EditRepeat

如果可能，重复最近的编缉操作。

_____________

请参阅

编辑语句和函数

EditRedo

EditUndo


EditTOACategory 示例

该示例将分类列表中的第九项改为“Case Histories”：

EditTOACategory .Category = 8, .CategoryName = "Case Histories"


EditTOACategory

示例

EditTOACategory .Category = number, .CategoryName = text

修改用于引文目录的引文类别的名称。EditToACategory 命令的参数对应“插入”菜单中“索引和目录”命令的“标记引文”对话框的“编辑分类”对话框中的选项。

参数	解释
.Category	要修改的类别：1 对应于列表中第一个名称，2 对应于第二个名称，依此类推。
.CategoryName	引文类别的新名称。
_____________

请参阅

编辑语句和函数

InsertTableOfAuthorities

MarkCitation


EditUndo

EditUndo

如果可能，撤消上次操作。大多数编缉和格式编排的操作是可以撤消的，但不能撤消像修改样式这样的一些操作。

_____________

请参阅

编辑语句和函数

EditRedo

EditRepeat


ExtendMode() 示例

该示例切换扩展模式的状态：

If ExtendMode() = 0 Then ExtendSelection Else Cancel


ExtendMode()

示例

ExtendMode()

如果扩展模式打开，则返回－1。在扩展模式下，正常移动插入点的操作会扩展选定内容。ExtendMode() 不指示列选定方式是否打开。

_____________

请参阅

编辑语句和函数

Cancel

ColumnSelect

ExtendSelection


InsertAddCaption 示例

该示例将“Diagram”添至有效的题注标签列表：

InsertAddCaption .Name = "Diagram"


InsertAddCaption

示例

InsertAddCaption [.Name = text]

给“插入”菜单的“题注”对话框中的“标签”框添加新项。该新项成为用于 InsertCaption 指令中 .Label 参数的有效字符串。

参数	解释
.Name	用于新题注标签的名称。
_____________

请参阅

编辑语句和函数

InsertAutoCaption

InsertCaption

InsertCaptionNumbering


InsertBreak 示例

该示例在活动文档中每个“标题 1”段落前插入分页符：

StartOfDocument

EditFindClearFormatting

EditFindStyle .Style = "Heading 1"

EditFind .Find = "", .Direction = 0, .Wrap = 0

While EditFindFound()

CharLeft

InsertBreak .Type = 0

EditFind .Find = "", .Direction = 0, .Wrap = 0

Wend


InsertBreak

示例

InsertBreak [.Type = number]

在插入点插入分页符、分栏符或分节符。.Type 参数的有效值对应“插入”菜单中“分隔符”对话框中的选项。

参数	解释
.Type	要插入的分隔符的类型： 0 或忽略 分页符 1        分栏符 2        下一页分节符 3        连续分节符 4        偶数页分节符 5        奇数页分节符 6        换行符(新行字符)
_____________

请参阅

编辑语句和函数

InsertColumnBreak

InsertPageBreak

InsertSectionBreak

ParaPageBreakBefore

TableSplit


InsertCaptionNumbering 示例

该示例为含有“图表”标签的题注定义编号格式。章节号不包含在序列号中。

InsertCaptionNumbering .Label = "Figure", .FormatNumber = 3, \

.ChapterNumber = 0


InsertCaptionNumbering

示例

InsertCaptionNumbering [.Label = text] [, .FormatNumber = number] [, .ChapterNumber = number] [, .Level = number] [, .Separator = text]

为特定类型的项目的题注中的顺序编号定义格式。InsertCaptionNumbering 语句的参数对应于“插入”菜单中“题注”命令的“题注自动编号”对话框中的选项。

参数	解释
.Label	要为其定义顺序编号格式的标签。如果该标签尚未定义，则会发生错误。用 InsertAddCaption 可定义新标签。
.FormatNumber	为含有指定标签的题注中的顺序编号指定默认格式： 0  1，2，3，… 1  a，b，c，… 2  A，B，B，… 3  i，ii，iii，… 4  I，II，III，…
.ChapterNumber	若为 1，按照含有指定标签的题注的默认设置，则包括章节号。章节由 .Level 指定的标题样式确定。
.Level	对应活动文档中章节标题所用标题样式的编号： 1 对应于“标题 1”，2 对应于“标题 2”，依此类推。
.Separator	在章节号和顺序号之间用作分隔符的字符。
_____________

请参阅

编辑语句和函数

InsertAddCaption

InsertAutoCaption

InsertCaption


InsertColumnBreak

InsertColumnBreak

在插入点插入分栏符。如果插入点在表格中，InsertColumnBreak 在含有插入点的行的上方插入段落标记，拆分该表格。InsertColumnBreak 指令与 InsertBreak .Type ＝ 1 指令相同。

_____________

请参阅

编辑语句和函数

InsertBreak

InsertPageBreak

InsertSectionBreak

TableSplit


InsertIndex 示例

该示例插入替换当前索引的简单缩进索引，如果有当前索引的话：

InsertIndex .Type = 0, .HeadingSeparator = 0, .Replace = 1


InsertIndex

示例

InsertIndex  [.HeadingSeparator = number] [, .Replace = number] [, .Type = number] [, .RightAlignPageNumbers = number] [, .Columns = number]

编制索引并在插入点插入，或替换已有的索引。索引是在索引项变化时可更新的 INDEX 域的结果。

参数	解释
.HeadingSeparator	指定域名分隔符： 0 或忽略 无 1        空行 2        字母
.Replace	如果索引存在，指定是否替换： 0 或忽略   不替换已有索引（除选定索引外，指令无效）。 1          替换已有索引。
.Type	指定索引类型： 0 或忽略    缩进 1           平行式
.RightAlignPageNumbers	若为1，将页码与栏的右边界对齐。
.Columns	索引中所需栏数。
_____________

请参阅

编辑语句和函数

AutoMarkIndexEntries

MarkIndexEntry


InsertPageBreak

InsertPageBreak

在插入点插入分页符。InsertPageBreak 指令与 InsertBreak.Type ＝ 0 指令相同。

_____________

请参阅

编辑语句和函数

InsertBreak

InsertColumnBreak

InsertSectionBreak

ParaPageBreakBefore

TableSplit


InsertPageNumbers 示例

该示例将右对齐的页码添至页眉并指定首页不显示页码：

InsertPageNumbers .Type = 0, .Position = 2, .FirstPage = 0


InsertPageNumbers

示例

InsertPageNumbers [.Type = number] [, .Position = number] [, .FirstPage = number]

在页眉或页脚中将 PAGE 域插入图文框并按指定的位置定位图文框。InsertPageNumbers 语句的参数对应“插入”菜单的“页码”对话框中的选项。

参数	解释
.Type	指定添加页码域的位置： 0   页眉 1   页脚
.Position	指定带图文框的 PAGE 域的位置： 0   左 1   居中 2   右 3   内侧（奇数页在左，偶数页在右） 4   外侧（奇数页在右，偶数页在左）
.FirstPage	若为 1，该域包含在首页的页眉或页脚中。
_____________

请参阅

编辑语句和函数

FormatPageNumber

InsertPageField

ViewHeader


InsertSpike

InsertSpike

清空特殊的“自动图文集”词条：“图文场”，并在插入点插入其内容。示例请参阅 Spike 示例。

_____________

请参阅

编辑语句和函数

EditAutoText

InsertAutoText

Spike


InsertSymbol 示例

该示例在插入点插入双向箭头：

InsertSymbol .Font = "Symbol", .CharNum = "171"


InsertSymbol

示例

InsertSymbol .Font = text, .Tab = number, .CharNum = number or text

在插入点插入符号。注意：InsertSymbol 与在 Word for Windows2.X 中不同，不插入 SYMBOL 域。InsertSymmbol 语句的参数对应“插入”菜单的“符号”对话框中的选项。

参数	解释
.Font	含有该符号的字体的名称。装饰性字体的名称显示于“符号”对话框的“字体”框中。
.Tab	用 Dialog 或 Dialog() 指令显示“符号”对话框时，指定要选择的选项卡： 0   “符号”选项卡 1   “特殊字符”选项卡
.CharNum	31 与对应符号表格上该符号的位置（从左向右数）的数字的和。例如：要指定“Symbol”字体中符号表格上 56 位置的 ，可将 .CharNum 设为 87。
_____________

请参阅

编辑语句和函数

Chr$()


InsertTableOfAuthorities

InsertTableOfAuthorities [.Replace = number] [, .Passim = number] [, .KeepFormatting = number] [, .Category = number]

收集 TA（引文目录项）域的引文并在插入点插入 TOA（引文目录）域。

参数	解释
.Replace	指定是否替换以前编制的引文目录： 0 或忽略   不替换已有的引文目录（除选定域结果外，指令无效）。 1          替换已有的引文目录。
.Passim	若为1，Word 用“Passim”将五个或更多的不同页引用替换为同一引文。
.KeepFormatting	若为1，Word 保留长引文的格式。
.Category	对应于“分类”框中项目（指定要收集的引文的类型）的数字：0 对应于第一项（“All”），1 对应于第二项，依此类推。
_____________

请参阅

编辑语句和函数

InsertTableOfContents

InsertTableOfFigures

MarkCitation


MarkCitation

MarkCitation [.LongCitation = text] [, .LongCitationAutoText = text] [, .Category = number] [, .ShortCitation = text] [, .NextCitation] [, .Mark] [, .MarkAll]

将 TA（引文目录项）域插至所选文字旁，或每次出现所选文字时插至其旁边。

MarkCitation 语句的参数对应于“插入”菜单中“索引和目录”命令的“引文目录”选项卡的“标记引文”对话框中的选项。

参数	解释
.LongCitation	目录项的长引文，其外观与在引文目录中一样。
.LongCitationAutoText	含有要显示于引文目录中的长引文文字的“自动图文集”词条的名称（ 忽略“长引文”）。
.Category	与目录项相关的分类号（按“标记引文”对话框中类别列表的顺序）： 1 对应于列表中的第一个类别，2 对应于列表中的第二个类别，依此类推。
.ShortCitation	外观与在“标记引文”对话框中“短引文”下的列表中一样的目录项的短引文。
.NextCitation	找到下一处由 .ShortCitation 指定的文字。
.Mark	将 TA（引文目录项）域插至所选文字的右边。
.MarkAll	将 TA（引文目录项）域插至所有出现的所选文字的右边。
如果不指定 .NextCitation、.Mark 或 .MarkAll，Word 将 TA 域插至所选文字右边。

_____________

请参阅

编辑语句和函数

InsertTableOfAuthorities

MarkIndexEntry

MarkTableOfContentsEntry


MarkIndexEntry

MarkIndexEntry [.MarkAll] [, .Entry = text] [, .Range = text] [, .Bold = number] [, .Italic = number] [, .CrossReference = text] [, .EntryAutoText = text] [, .CrossReferenceAutoText = text]

将 XE（索引项）域插至所选文字旁，或每次出现的选定内容的旁边。

MarkIndexEntry 语句的参数对应于“插入”菜单中“索引和目录”命令的“索引”选项卡的“标记索引项”对话框中的选项。

参数	解释
.MarkAll	在每次出现的所选文字的右面插入 XE 域。
.Entry	要以 MainEntry[:Subentry] 的形式在索引中出现的文字。
.Range	标记索引中要出现的的页面范围的书签的名称。如不指定 .Range，含有 XE 域的页的页码出现于索引中。
.Bold	若为 1，索引项的页码在索引中为粗体。
.Italic	若为 1，索引项的页码在索引中为斜体。
.CrossReference	将出现于索引中的交叉引用。
.EntryAutoText	“自动图文集”词条的名称，包含将出现于索引中的文字（忽略了 .Entry）。
.CrossReferenceAutoText	含有交叉引用文字的“自动图文集”词条的名称（忽略了 .Entry）。
_____________

请参阅

编辑语句和函数

InsertIndex

MarkCitation

MarkTableOfContentsEntry


MarkTableOfContentsEntry

MarkTableOfContentsEntry [.Entry = text] [, .EntryAutoText = text] [, .TableId = text] [, .Level = text]

将 TC（目录项）域插至所选文字旁。

参数	解释
.Entry	要在目录中显示的文字。
.EntryAutoText	包含要在目录中出现的文字的“自动图文集”词条的名称（忽略了 .Entry ）。
.TableId	项目类型的单字母标识符（例如：“i”表示插图）。
.Level	目录中项目的级别。
_____________

请参阅

编辑语句和函数

InsertTableOfContents

MarkCitation

MarkIndexEntry


MoveText 示例

该示例将插入点所在行移至文档首：

StartOfLine

EndOfLine 1

MoveText

StartOfDocument

OK


MoveText

示例

MoveText

移动文字而不改变剪贴板的内容（与在 Windows 中按 F2 键相同）。为使 MoveText 工作，宏指令必须紧邻 MoveText 指令前进行选定，再紧邻 MoveText 后进行新选定，然后用 OK 语句移动文字。

_____________

请参阅

编辑语句和函数

CopyFormat

CopyText

OK


OK 示例

该示例在不改变剪贴板内容的情况下将插入点所在行复制到文档首：

StartOfLine

EndOfLine 1

CopyText

StartOfDocument

OK


OK

示例

OK

完成 CopyText 或 MoveText 操作（与在操作进行中按 Enter 键相同）。_____________

请参阅

编辑语句和函数

Cancel

CopyText

MoveText


Overtype 示例

如果打开了改写方式，该示例显示带“是”和“否”按钮的消息框询问是否关闭改写方式。如果选择“是”，则返回 －1，同时关闭改写方式。

If Overtype() = -1 Then

Button = MsgBox("Overtype is on. Turn off?", 4)

If button = -1 Then Overtype 0

End If


Overtype, Overtype()

示例

Overtype [On]

Overtype()

OverType 语句在改写和插入方式间切换。在改写方式下，所键入字符逐个替换已有字符；在插入方式下，所键入字符向右移动已有文字。

参数	解释
On	指定方式： 0     切换到插入方式。 1     切换到改写方式（状态栏上显示“改写”）。 忽略  切换改写和插入方式。
OverType() 函数返回以下值：

值	解释
0	如果改写方式关闭。
-1	如果改写方式打开。
注意：用 Insert 语句插入的文字不改写文档中的文字，不管文档是在插入方式还是在改写方式下。

_____________

请参阅

编辑语句和函数

ToolsOptionsGeneral


Err() 示例

该宏提示用户键入随后将应用于所选段落的样式名。该宏含有说明 Select Case 控制结构中 Err 的用法的错误处理语句。该宏中的 Select Case 控制结构可描述如下：

 如果错误代码是 102（在取消 InputBox $ 对话框时出现），宏防止显示“命令失败”的错误消息。

 如果错误代码是 24（样式名不存在时出现），Word 显示自定义消息框来代替“坏参数”错误信息，用 Err=0 指令重设错误陷阱，并再次显示 InputBox $ 对话框，以便用户能键入另一样式名。注意：Case 24 是唯一需要重设其中错误陷阱的条件，在其它条件中，宏会终止而且不再需要有错误陷阱。

 如果错误代码既不是 102 也不是 24，Error Err 指令就显示错误。

Sub MAIN

On Error Goto trap

start:

apply$ = InputBox$("Type a style name:", "Apply Style")

Style apply$

trap:

Select Case Err

Case 102	'Input box was canceled

Case 24	'Bad parameter

MsgBox "No such style; try another name."

Err = 0

Goto start

Case Else	'Any other error condition

Error Err

End Select

End Sub


Err

示例

Err = 0

Error Err

ErrorNum = Err

Err 是一个特殊变量，其值是最近错误原因的错误代码。

 Err=0 用于在错误出现后重设错误陷阱，通常位于错误陷阱结束处。

 Error Err 显示与最近错误原因相关的信息并终止宏。

 Errornum=Err 将 Err 的值赋予 ErrorNum 变量。

捕获错误的详情请参阅Error。

_____________

请参阅

环境语句和函数

Error

Goto

On Error


Error() 示例

该示例生成 53 号 WordBasic 错误原因，以测试对该错误的处理。53 号错误原因发生时，Word 显示自定义消息框。所有其它错误运行 Error Err 指令，该指令显示与错误号相关的内部消息。

On Error Goto trap

Error 53	'Generate error condition

trap:

If Err = 53 Then

MsgBox "Error 53 successfully trapped"

Err = 0

Else

Error Err

End If


Error

示例

Error Err

Error ErrorNumber

Error Err 生成最近的错误原因并终止宏。Error ErrorNumber 生成与 ErrorNumber 相关的错误原因，对编号小于 1000 的 WordBasic 错误原因，Error 显示错误信息；对编号大于 1000的 Word 错误，Error 生成错误原因，但不显示错误信息。Error 可用于测试错误陷阱。

错误陷阱的详情请参阅 On Error 和 Err，错误列表及其编号请参阅错误信息。

_____________

请参阅

环境语句和函数

Err

Goto

On Error


IsDocumentDirty() 示例

如有修改未保存，该示例保存活动文档：

If IsDocumentDirty() = -1 Then FileSave


IsDocumentDirty()

示例

IsDocumentDirty()

返回值来说明活动文档自上次保存后是否作过修改（即是否“不洁”）。文档是否“不洁”确定关闭文档时 Word 是否提示保存修改。

值	解释
0	如果文档自上次保存后未作修改。
-1	如果文档自上次保存后作过修改。
_____________

请参阅

环境语句和函数

IsTemplateDirty()

SetDocumentDirty

SetTemplateDirty


ISTemplate() 示例

如果有未保存的修改，该示例活动模板。

If IsTemplateDirty() = -1 Then SaveTemplate


IsTemplateDirty()

示例

IsTemplateDirty()

返回值来说明活动模板自上次保存后是否作过修改（即是否“不洁”）。模板是否“不洁”确定模板关闭时 Word 是否提示保存修改。

值	解释
0	如果模板自上次保存后未作修改。
-1	如果模板自上次保存后作过修改。
_____________

请参阅

环境语句和函数

IsDocumentDirty

SaveTemplate

SetDocumentDirty()

SetTemplateDirty


LockDocument, LockDocument()

LockDocument [Lock]

LockDocument()

LockDocument 语句为整个主控文档或其中某个子文档添加或取消只读保护。如果插入点在主控文档中，但不在子文档中，LockDocument 将锁定整个文档或解除整个文档的锁定；如果插入点在子文档中，LockDocument 将只锁定子文档或解除子文档的锁定。

参数	解释
Lock	指定是否为子文档或主文档添加或取消只读保护： 0   取消只读保护，注意：如果解除对整个主控文档的锁定，Word 会解除所有预先锁定的子文档的锁定。 1   添加只读保护。 忽略 切换只读
LockDocument() 函数在子文档或主控文档是只读时返回 -1，否则返回 0。注意：插入点在子文档中时，LockDocument() 只返回有关子文档只读状态的信息，而不是整个主控文档。

_____________

请参阅

环境语句和函数

ToolsProtectDocument

ToolsProtectSection

ToolsUnprotectDocument


SelInfo 示例
Sellnfo() 示例

该示例确定当前选定的内容是否延伸过了分页符（人工分页符或自动分页符）。注意：Sellnfo(3) 用了两次，一次是返回选定内容结束位置的页码，第二次是选定内容开始位置的页码。然后宏就能比较这些值，确定选定内容中分页符的数量。

ToolsRepaginate

EditBookmark .Name = "Tmp"

endPage = SelInfo(3)

SelType 1

startPage = SelInfo(3)

EditGoTo .Destination = "Tmp"

numBreaks = endPage - startPage

If numBreaks = 1 Then

MsgBox "Selection extends over one page break."

ElseIf numBreaks > 1 Then

MsgBox "Selection extends over" + Str$(numBreaks) + \

" page breaks."

End If

EditBookmark .Name = "Tmp", .Delete

下例将显示比例增大了 10%：

n = SelInfo(19)

If n < 190 Then

ViewZoom .ZoomPercent = n + 10

ElseIf n = 200 Then

MsgBox "Already zoomed to maximum."

Else

ViewZoom .ZoomPercent = 200

End If


SelInfo()

示例

SelInfo(Type)

该函数返回有关选定内容的 37 种信息之一，其中 Type 为下表描述的某个值，在解释中，选定内容的活动结尾涉及按 SHIFT+箭头键时移动的结尾。

类型	解释
1	选定内容的活动结尾所在页码。如果设置起始页码或进行其它人工调整，则返回调整过的页码（与 SelInfo(3) 不同）。 如果选定内容在普通视图下位于页眉或页脚窗格中，则返回 -1；如果选定内容在脚注或批注窗格中，则返回选定内容的第一个脚注或批注的页码。
2	选定内容的活动结尾所在节号。
3	选定内容的活动结尾所在页码，从文档首起计。不考虑编制页码时的任何人工调整（与 Sellnfo(1) 不同）。
4	文档中的页码。
类型 5 只在页面视图中有效；如果选中“工具”菜单中“选项”对话框的“常规”选项卡上的“后台重新分页”复选框并删除“视图”选项卡上的“草稿字体”复选框，类型 6 在页面视图或普通视图中均有效。

类型	解释
5	选定内容的水平位置；选定内容的左边界与页左边界的间距，按 twips 计量（1 磅=20 twips，1 英寸=72 磅）。如果看不到选定内容，则返回 -1。
6	选定内容的垂直位置；选定内容的上边界与页的上边界的间距，按 twips 计量（1 磅=20 twips，1 英寸=72 磅）。如果看不到选定内容，则返回 -1。
类型 7 和 8 在页面视图中最有用，在这种视图中，可选中“工具”菜单中“选项”对话框的“视图”选项卡上的“正文边框”复选框来显示文本边界。正文边框包括表格单元格、图文框、页边界、文本栏，等等。完整的正文边框列表请参阅 NextObject。

类型	解释
7	选定内容的水平位置，相对于最近的包含该选定内容的正文边框的左边界，按 twips 计量（1 磅=20 twips，1 英寸=72 磅）。如果看不到选定内容，则返回 -1。
8	选定内容的垂直位置，相对于最近的包含该选定内容的正文边框的上边界，按 twips 计量（1 磅=20 twips，1 英寸=72 磅）。对在图文框或表格单元格中确定插入点的位置尤其有用。完整的正文边框列表请参阅NextObject。 如果看不到选定内容，则返回 -1。
9	选定内容中第一个字符或未选定内容时插入点（与在状态栏上“列”后的字符列数相同）右边的字符的字符位置。
10	选定内容中第一个字符的行号，清除“后台重新分页”或选中“草稿字体”时返回 -1。
11	选定内容为整个图文框时返回 -1。
12	选定内容在表格中时返回 -1。
类型 13 到 18 只应用于选定内容位在表格中时；选定内容不在表格中时函数返回 -1。

类型	解释
13	选定内容起点所在行数。
14	选定内容终点所在行数。
15	表格中的行号。
16	选定内容起点所在表格列号。
17	选定内容终点所在表格列号。
18	选定内容中任意行中的最大列数。
类型 19 到 36 返回混杂信息。

类型	解释
19	ViewZoom 所设当前放大倍率。
20	选定当前内容的方式：正常选定返回 0；扩展选定返回 1；列选定返回 2。对应于状态栏上的“扩展”框或“列”框。
21	“Caps Lock”启用时返回 -1。
22	“Num Lock”启用时返回 -1。
23	Word 处于改写方式时返回 -1。
24	修订标记打开时返回 -1。
25	选定内容在脚注或尾注窗格中或在页面视图中的脚注或尾注中时返回 -1。请参阅 35 和 36 值。
26	选定内容在批注窗格中时返回 -1。
27	选定内容在宏编辑窗口中时返回 -1。
28	选定内容在页眉或页脚窗格中或在页面视图的页眉或页脚中时返回 -1。
29	选定内容起点所在书签号，0 表示无书签号或书签号无效。编号对应于文档中书签的位置： 1 表示第一个，2 表示第二个，依此类推。
30	在选定内容前或其同一位置开始的最后一个书签号，0 表示没有或无效。
31	插入点在表格中的行结束标记处时返回 -1。
32	根据选定内容与脚注、尾注或批注等引用相关的位置，返回下面某个值： -1  如果选定内容包括但又不限于脚注、尾注或批注等引用。 0   如果选定内容不在脚注、尾注或批注等引用中。 1   如果选定内容在脚注引用中 2   如果选定内容在尾注引用中 3   如果选定内容在批注引用中
33	选定内容所在页眉或页脚的种类： -1   无（选定内容不在页眉或页脚中） 0   偶数页页眉 1   奇数页页眉（如果没有奇、偶数页眉，就指唯一的页眉） 2   偶数页页脚 3   奇数页的脚（如果没有奇、偶数页脚，就指唯一的页脚） 4   首页页眉 5   首页页脚
34	活动文档是主控文档（即如果它至少包含一个子文档）时返回 -1。
35	选定内容在脚注窗格或页面视图中的脚注中时返回 -1。
36	同 35，不过是对尾注而言。
37	根据当前选定内容是否在 WordMail 消息中，返回下面某个值： 0   如果选定内容不在 WordMain 消息中 1   如果选定内容在 WordMail 发送注释中 2   如果选定内容在 WordMail 接收注释中
_____________

请参阅

环境语句和函数

Selection$()

SelType


SelType 示例

该示例选定下一处单词“background”，然后取消选定，让插入点位于该单词开始处：

EditFind .Find = "background", .Direction = 0

If EditFindFound() Then SelType 1


SelType, SelType()

示例

SelType Type

SelType()

SelType 语句指定在文档中表示插入点或所选文本的方法。例如：可指定所选文本用点下划线表示，而不用某些视频显示方式上常用的反色显示。

SelType 在将插入点定位至当前选定内容的起点时更为常用。所以，SelType 要优于 Charleft，因为在没有当前选定内容时插入点不向左移。

参数	解释
Type	突出显示的类型： 1   实型插入点（默认）。 2   实型选定内容（默认）。 4   点型选定内容或插入点（当前）。 注意：SelType() 函数从不返回该值，因为 5 和 6 两种类型提供了更详细的信息。 5   点型插入点（在 CopyText 和Move Text 方式中可见）。 6   点型选定内容（在 Copy Text 和 MoveText 方式中可见）。
SelType() 函数返回对应突出显示类型的编号。

_____________

请参阅

环境语句和函数

Selection$()

SelInfo()


SetDocument Dirty()示例

该示例假定邮件合并主文档为活动文档。指令将套用信函打印到文档，随后就清空该文档。关闭该文档时 Word 不提示保存修改。

MailMergeToDoc

SetDocumentDirty 0


SetDocumentDirty

示例

SetDocumentDirty [Dirty]

控制 Word 是否将文档是识别为“不洁”棗即自上次保存该文档后作过修改。关闭“不洁”文档时 Word 会提示是否要保存修改。

如果修改文档并将 Dirty 设置为 0，Word 会将该文档识别为未作修改，或“干净”。关闭该文档时，Word 既不提示，也不保存修改。

参数	解释
Dirty	指定是否要使活动文档“不洁”： 0   将文档作为“干净”处理。 1 或忽略   将文档识别为“不洁”。
_____________

请参阅

环境语句和函数

IsDocumentDirty()

IsTemplateDirty()

SetTemplateDirty


WordBasic 帮助的重要示例（WordBasic 帮助的重要示例）
WordBasic 帮助的重要示例

怎样得到文件夹中文件的列表

用 File$() 函数可返回文件夹中文件的列表。关键要先用 File$() 指定要返回的文件的列表，然后用循环中的 File$() 返回文件夹中剩余的文件。

示例

怎样显示自定义对话框

用 Dialog 语句或 Dialog() 函数可显示自定义对话框。通常都喜欢用 Dialog () 函数，因为它返回所选命令按钮的值。如果用 dialog 语句，在选择对话框中的 “取消”按钮时就会出现错误（用 On Error 指令可捕获该错误）。在能够显示自定义对话框之前，必须用 Begin Dialog...End Dialog 语句创建对话框定义，并用 Dim 语句创建对话记录。

示例

怎样显示 Word 对话框

用 Dialog 语句或 Dialog() 函数可显示 Word 对话框。如果用 Dialog 语句，在选择对话框中的“取消”按钮时会出现错误（用 OnError 指令可捕获该错误）。在能够显示 Word 对话框之前，必须用 Dim 语句创建对话记录，并用 GetCurValues 语句将对话框的当前值置于对话记录中。

示例

怎样从 Word 对话框中检索数值

检索一个或多个 Word 对话框设置的值的方法是：用 Dim 语句定义对话框的对话记录并用 GetCurValues 语句将对话框的当前值置于对话记录中。然后可用语法 DialogRecord.ArgumentName 检索对话框值，其中 ArgumentName 是对应于对话框的 WordBasic 语句的参数的名称。

示例

怎样得到“自动图文集”词条、书签或有效字体的列表

许多以“Count”开头的 WordBasic 函数返回活动文档或模板中所存不同项目的数量。例如：CountAutoTextEntries() 函数返回模板中“自动图文集”词条的数量；CountBookmarks() 函数返回活动文档中书签的数量；CountFonts() 函数返回活动打印机上有效字体的数量。可将这些函数与 AutoTextName$()、BookmarkNames$() 和 Font$() 等函数合用，以返回“自动图文集”词条、书签或字体的列表。

AutoText Entries 示例

Bookmarks 示例

Fonts 示例

怎样在文档的某部分工作

可用书签和 CmpBookmarks() 函数将宏操作限制到文档的特定部分。

示例

怎样在窗口间切换

在活动窗口间切换通常用于宏。可用 Activate 或 WindowList 语句激活文档窗口或宏编辑窗口。

示例

怎样创建“永久型”变量

用 SetPrivateProfileString 和 SetDocumentVar 语句可创建在宏结束运行后仍存留的变量。SetDocumentVar 语句在活动文档中创建文档变量。在 Word 6.0 for Windows 中，SetPrivateProfileString 语句创建设置文件（存于 Windows 目录中）中的变量设置。

Document Variable 示例

Settings File 示例

怎样将文字插入文档

可用 Insert 语句将文字插入文档。Insert 语句可将任何能用键盘插入的内容插入文档，包括制表符这样的非打印字符。

示例

怎样从文档中检索文字

通常用 Selection$() 函数将文字从文档返回到宏。Selection$() 函数返回当前选定的文字。还可用 GetBookmark$() 函数返回活动文档中的书签文字。

Selection$() 示例

GetBookmark$() 示例


DoFieldClick

DoFieldClick

将插入点移到 GOTOBUTTON 域指定的位置，或者运行所选的 MACROBUTTON 域指定的宏（与在域内双击鼠标左键，或按下 ALT+SHIFT+F9 键效果相同）。

_____________

请参阅

域语句和函数


GetFieldData$()

GetFieldData$()

当插入点位于 ADDIN 域时，提取保存在域内的文本数据。保存在 ADDIN 域中的数据是不可见的，即使当前显示的是域代码。如果存在选定范围，则选定范围开头必须是 ADDIN 域，否则产生错误。

_____________

请参阅

域语句和函数

PutFieldData


InsertFieldChars

InsertFieldChars

在插入点位置插入域字符 ({})，然后把插入点移到域字符之间。

_____________

请参阅

域语句和函数

InsertField


InsertPageField

InsertPageField

在插入点位置插入不带任何指令的 PAGE 域。

_____________

请参阅

域语句和函数

InsertDateField

InsertField

InsertPageNumbers

InsertTimeField


LockFields 示例

下例插入一个 DATE 域，然后立即锁定该域。如果您想插入日期，但不想在在打印时更新日期，此例比较适用。

InsertDateField

PrevField

LockFields


LockFields

示例

LockFields

LockFields 禁止更新选定范围内的域。

_____________

请参阅

域语句和函数

UnlinkFields

UnlockFields

UpdateFields


PutFieldData

PutFieldData FieldData$

当插入点位于 ADDIN 域中时，将 FieldData$ 指定的文本数据保存到域中。数据保存在域的内部，而且无法看见（即使当前显示的是域代码）。如果存在选定范围，则选定部分的开头必须是 ADDIN 域，否则出现错误。

_____________

请参阅

域语句和函数

GetFieldData$()


ToolsManageFields 示例

下例将 Name1 域更名为 FirstName 域。

ToolsManageFields .FieldName = "Name1", .NewName = "FirstName", \

.Rename


ToolsManageFields

示例

ToolsManageFields [.FieldName = text] [, .Add] [, .Remove] [, .Rename] [, .NewName = text]

在邮件合并数据源或域名源中添加、删除域或更改域名。如果活动文档不包含第一行中具有指定域的表格，则出现错误。

参数	说明
.FieldName	要添加、删除或更名的域
.Add	把指定的域名添加到新的表格列中
.Remove	删除指定域名和相应的表格列。
.Rename	更该指定的域的名称
.NewName	域的新名称，与 .Rename 共同使用
_____________

请参阅

域语句和函数

MailMergeEditDataSource


UnlinkFields示例

下例在活动文档中解除所有域的链接。首先，Word 显示一消息框，使用户在解除链接前可以更新所有的域。然后，按照用户的应答，Word 进行相应的操作。

answer = MsgBox("Update all fields before unlinking?", \

"Unlink All Fields", 35)

On Error Goto trap

Select Case answer

Case -1	'Yes

EditSelectAll

UpdateFields

UnlinkFields

Case 0	'No

EditSelectAll

UnlinkFields

Case 1	'Cancel

Goto bye

trap:

If Err = 102 Then MsgBox "No fields to unlink." Else Error Err

bye:

End Select


UnlinkFields

示例

UnlinkFields

用最近的域内容替换该域本身。解除域链接后，域变成普通的文本或图形，不能再自动更新。注意某些域不能解除链接，比如 XE （索引项）域，这些域没有域内容。如果选定范围内不包含可解除链接的域，则出现错误。

_____________

请参阅

域语句和函数

LockFields

UnlockFields

UpdateFields


UnlockFields

UnlockFields

UnlockFields 使先前被 Lookfields 锁定的域能够更新。

_____________

请参阅

域语句和函数

LockFields

UnlinkFields

UpdateFields


UpdateFields

UpdateFields

更新选定的域。

_____________

请参阅

域语句和函数

LockFields

UnlinkFields

UnlockFields


UpdateSource

UpdateSource

把对 INCLUDETEXT 域内容的修改结果保存到源文档中。源文档必须是 Word 文档。

_____________

请参阅

域语句和函数

UpdateFields


关闭示例
Close 示例

下例打开一个文件，在其中插入 Normal 模板及其他共用模板中的自动图文集词条，然后关闭文件。

Open "AUTOTEXT.TXT" For Output As #1

For count = 1 To CountAutoTextEntries(0)

Print #1, AutoTextName$(count)

Next count

Close #1


关闭
Close

示例

Close [[#]FileNumber]

关闭一个打开的顺序文件。FileNumber 是在用 Open 指令打开文件用于输入、输出或添加时指定的序号。如果省略 FileNumber ，用 Open 命令打开的所有文件将关闭。

顺序文件（用 Open 命令打开，用 Close 命令关闭）并不在文档窗口中显示。虽然用 Open 命令可以打开任何文件，但 Open 和 Close 主要用于文本文件。用 Close 命令关闭文件时不显示提示信息。有关顺序文件的详细内容，请参阅《 Microsoft Word Developer's Kit 》第九章“More WordBasic Techniques”。

_____________

请参阅

基本文件输入/输出语句和函数

Eof()

Input

Input$()

Line Input

Lof()

Open

Print

Read

Seek

Write


Eof()

Eof([#]FileNumber)

判断是否到达一个打开的顺序文件的尾部。文件数是在用 Open 指令打开文件用于输入时指定的序号。顺序文件的详细内容请参阅《 Microsoft Word Developer's Kit 》的第九章“More WordBasic Techniques”。

该函数不能用于检查文档窗口中打开的 word 文档是否到达尾部。要检查是否到达 word 文档的尾部，可用 CmpBookmarks() 命令比较预定义书签“\EndOfDoc”。预定义书签的详细内容请参阅预定义书签。

Eof() 返回下列值。

返回值	说明
-1	到达 FileNumber 指定的文件的尾部
0	未到达文件的尾部
示例请参阅 Read 示例。

_____________

请参阅

预定义书签

基本文件输入/输出语句和函数

Close

Input

Input$()

Line Input

Lof()

Open

Print

Read

Seek

Write


Line Input 示例

下例将 #1 文件的一行放到 sample$ 变量中。

Line Input #1, sample$

下例在状态栏上显示默认的提示符（一个问号），变量 key$ 定义为问号后的输入的文本。

Line Input key$

下例在状态栏上显示提示文字“Search text: ”，变量 target$ 定义为提示符后的输入的文本。

Line Input "Search text: ", target$


Line Input

示例

Line Input #FileNumber, Variable$

Line Input [Prompt$,] Variable$

从一个打开的顺序文件中读取一整行，放在一个字符串变量中。在顺序文件中，一行的结束是由回车 (ANSI 13) 和换行 (ANSI 10) 字符定义的。FileNumber 是在 Open 命令打开文件用于输入时指定的序号。有关顺序文件的详细内容，请参阅《 Microsoft Word Developer's Kit 》的第九章“More WordBasic Techniques”一节。

Line Input 与 Input 和 Read 语句类似，但 Line Input 并不在逗点处把一行分为独立的值。它把整行放在一个单独的字符串变量中。一行最多可容纳 65,280 个字符，如果更长，行尾将被截断。Line Input 与 Read 语句不同，Read 语句只读取引号之内的字符，而 Line Input 并不把引号和其他字符区别对待。

如果省略 #FileNumber，状态栏中将出现问号 ( ? ) ，提示用户键入字符串。用户按 ENTER 键结束键盘输入。如果指定了提示文字 Prompt$，问号将不出现。

_____________

请参阅

基本文件输入/输出语句和函数

Close

Eof()

Input

Input$()

Lof()

Open

Print

Read

Seek

Write


Lof() 示例

下例用 Open 命令打开 MYDATA.TXT 文件用于顺序输入，然后在状态栏中显示 MYDATA.TXT 文件的大小。

Open "MYDATA.TXT" For Input As #1

Size = Lof(1)

Print Size; " bytes"

Close #1


Lof()

示例

Lof([#]FileNumber)

返回打开的顺序文件的长度，以字节为单位。FileNumber 是在 Open 命令打开文件用于输入时设定的文件序号。有关顺序文件的详细内容，请参阅《 Microsoft Word Developer's Kit 》的第九章“More WordBasic Techniques”。

_____________

请参阅

基本文件输入/输出语句和函数

Close

Eof()

Input

Input$()

Line Input

Open

Print

Read

Seek

Write


AddInState AddInState()

AddInState AddIn, Load

AddInState AddIn$, Load

AddInState(AddIn)

AddInState(AddIn$)

AddInState 语句装入或卸除（“模板”命令，“文件”菜单）“模板和加载项”对话框中列出的共用模板和加载项。您可以用数字或文本指定共用模板或加载项。

参数	说明
AddIn	对应于共用模板或加载项在中的位置，1 是第一个模板或第一个加载项，2 是第二个模板或第二个加载项，依次类推。
AddIn$	共用模板或加载项的路径和文件名。
Load	指定是装入还是卸除共用模板或加载项： 0          卸除共用模板或增加文件 1          装入共用模板或加载项
AddInState() 返回下列值。注意返回值实际上是各值的和，例如，如果装入 Startup 文件夹中的加载项，AddInState() 返回 7 （1、2、4之和）。

返回值	说明
0	如果下面关于共用模板和加载项的叙述没有一项为真。
1	共用模板或加载项被装载。
2	是 word 的加载项 (WLL)。
4	共用模板或加载项被自动装入。如果模板和加载项位于（“工具”菜单中）“选项”对话框“文件位置”选项卡上的“启动”选项指定的文件夹中，这些模板和加载项将被自动装入。
_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

ClearAddIns

CountAddIns()

DeleteAddIn

GetAddInID()

GetAddInName$()


ClearAddIns

ClearAddIns RemoveFromList

卸除（“文件”菜单，“模板”命令）“模板和加载项”对话框“共用模板及加载项”列表中列出的所有共用模板和加载项。

参数	说明
RemoveFromList	指定卸除这些模板和加载项后，是否从列表中将其删掉： 0     “共用模板”和加载项仍保留在列表中。 1           从列表中删去这些共用模板和加载项（在 Startup 文件夹中的模板和加载项除外）。
_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

AddInState()

CountAddIns()

DeleteAddIn

GetAddInId()

GetAddInName$()


ClearAddIns
CountFiles() 示例

下例打开最近使用过的文件。您可以在 AutoExec 宏中使用这一指令。用 CountFiles() 可以检查“文件”菜单中是否列出了最近使用过的文件。

If CountFiles() Then File1 Else MsgBox "Sorry, no file listed."


CountFiles()

示例

CountFiles()

返回列在“文件”菜单底部的、最近使用过的文件名的数目。

_____________

请参阅

文档、模板和加载项语句和函数

FileList

FileName$()

FileNumber


CountFoundFiles() 示例

下例判断上次 FileFind 搜索命令是否成功：

If CountFoundFiles() = 0 Then MsgBox "No files found."

其他例子，参见 FileFind 示例。


CountFoundFiles()

示例

CountFoundFiles()

返回上次用 FileFind 命令进行的搜索中发现的文件数目。如果上次搜索没有找到文件，或者本次 word 工作期间未进行搜索，CountFoundFiles() 返回 0。

_____________

请参阅

文档、模板和加载项语句和函数

FileFind

FoundFileName$()


DeleteAddIn

DeleteAddIn AddIn

DeleteAddIn AddIn$

从（“文件”菜单，“模板”命令）“模板和加载项”对话框的“共用模板和加载项”列表中删除共用模板和加载项。

参数	说明
AddIn	对应于共用模板或加载项在列表中的位置。1 是第一个模板或加载项，2 是第二个模板或加载项，依次类推。
AddIn$	共用模板或加载项的路径和文件名。
_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

AddInState()

ClearAddIns

CountAddIns()

GetAddInId()

GetAddInName$()


DocumentStatistics 示例

下例用 DocumentStatistics 对话框记录来获取当前文档的字数。这个例子可以作为获取 DocumentStatistics 任一参数值的样板。

FileSummaryInfo .Update	'Update document statistics

Dim dlg As DocumentStatistics	'Create a dialog record

GetCurValues dlg	'Fill record with values

MsgBox "Number of words: " + dlg.Words


DocumentStatistics

示例

DocumentStatistics [.FileName = text] [, .Directory = text] [, .Template = text] [, .Title = text] [, .Created = text] [, .LastSaved = text] [, .LastSavedBy = text] [, .Revision = text] [, .Time = text] [, .Printed = text] [, .Pages = text] [, .Words = text] [, .Characters = text] [, .Paragraphs = text] [, .Lines = text] [, .FileSize = text]

DocumentStatistics 与对话记录一同使用，返回当前文档的有关信息。在 Word 6.0 中，DocumentStatistics 语句的参数对应于（“文件”菜单，“摘要信息”命令）“统计信息”对话框中的信息，另外，这些参数是只读的，这意味着 DocumentStatistics 不象其他 WordBasic 语句，不能用来设置值。 DocumentStatistics 对话框记录与 DocumentStatistics 函数一样，也只能用来返回信息。

在 word7.0 版本中保留这个语句是为了保证向下兼容。您可以使用文档属性语句和函数来获得当前文档的统计信息。

参数	说明
.FileName	文档的名称（不包括路径）。
.Directory	文档保存的路径。
.Template	文档选用的模板的路径和文件名。
.Title	文档的标题。
.Created	文档的创建日期和时间。
.LastSaved	文档上次保存的日期和时间。
.LastSavedBy	文档的作者。
.Revision	文档保存的次数。
.Time	编辑文档的总时间。
.Printed	文档上次打印的日期和时间。
.Pages	文档的页数。
.Words	文档的字数。
.Characters	文档的字符数。
.Paragraphs	文档的段落数。
.Lines	文档的行数。
.FileSize	文档的大小。以 36,352 字节的形式来计算
注释：

用 DocumentStatistics 对话框记录返回文档统计信息前， 为了保证得到的是最新信息，可在定义对话框记录的语句前使用 FileSummaryInfo .Update 指令。

_____________

请参阅

文档、模板和加载项语句和函数

FileSummaryInfo

SelInfo()


FileConfirmConversions, FileConfirmConversions()

FileConfirmConversions [On]

FileConfirmConversions()

FileConfirmConversions 语句决定当打开的文件不是 word 文档或模板格式时，是否显示确认对话框。FileConfirmConversions 选中或清除（“文件”菜单）“打开”对话框中的“确认转换”复选框。

参数	说明
On	指定 word 是否显示“确认转换”对话框： 0        不显示对话框。 1        显示对话框。 忽略     切换“确认转换”复选框。
FileConfirmConversions() 函数返回下列值。

返回值	说明
0	“确认转换”复选框处于清除状态。
-1	“确认转换”复选框处于选中状态。
_____________

请参阅

文档、模板和加载项语句和函数

MailMergeAskToConvertChevrons


FileNameFromWindow$()

FileNameFromWindow$([WindowNumber])

返回指定窗口中文档的路径和文件名。

参数	说明
WindowNumber	对应于该窗口在“窗口”菜单中的位置。1 是第一个窗口，2 是第二个窗口， 依次类推。如果 WindowNumber 是 0 或忽略，FileNameFromWindow$() 命令返回当前文档的路径和文件名，如果当前文档从未保存过，则返回空字符串（“”）。
_____________

请参阅

文档、模板和加载项语句和函数

CountWindows()

FileName$()

WindowName$()


FileNewDefault

FileNewDefault

用 Normal 模板创建一个新文档。

_____________

请参阅

文档、模板和加载项语句和函数

FileNew


FileNumber

FileNumber

打开“文件”菜单底部列出的某一个最近使用过的文件（“使用过”指的是保存或打开过）。File1 打开第一个文件，File2 打开第二个文件，依此类推，一直到 File9。列出文件的最大数目为 9。如果未列出任何文件，或者 Number 超过列出的文件数，则发生错误。如果指定的文件已经打开，Word 激活该文档。

用“工具”菜单“选项”对话框“常规”选项卡上的“列出最近使用过的文件数”，可以指定列出的文件数目。

_____________

请参阅

文档、模板和加载项语句和函数

CountFiles()

FileList

FileName$()

WindowNumber


FilePrintPreview, FilePrintPreview()

FilePrintPreview [On]

FilePrintPreview()

FilePrintPreview 语句使当前文档切换到打印预览中，或从打印预览中切换回来。

参数	说明
On	在打印预览中显示文档，或切换回到原来的视图中： 忽略      切换打印预览。 0         取消打印预览。 1         关闭打印预览。
FilePrintPreview() 函数返回下列值：

返回值	说明
-1	如果当前文档正处于打印预览下。
0	如果当前文档处于其他视图中。
_____________

请参阅

文档、模板和加载项语句和函数

ClosePreview

FilePrintPreviewFullScreen

FilePrintPreviewPages

ViewZoom


FilePrintPreviewFullScreen

FilePrintPreviewFullScreen

在打印预览中，切换标尺、滚动条、状态栏和菜单栏的显示。如果当前文档不在打印预览中，将出现错误。

_____________

请参阅

文档、模板和加载项语句和函数

ToolsOptionsView


FilePrintPreviewPages, FilePrintPreviewPages()

FilePrintPreviewPages PagesAcross

FilePrintPreviewPages()

FilePrintPreviewPages 语句指定在页面视图和打印预览下，显示单页还是双页。PagesAcross 只能是 1 或 2。如果要显示更多的页面，可以使用 ViewZoom。FilePrintPreviewPages() 函数返回当前显示的页面数。如果当前文档未在页面视图或打印预览下，将出现错误。

_____________

请参阅

文档、模板和加载项语句和函数

FilePrintPreview

ViewPage

ViewZoom


FileSave

FileSave

保存当前文档或模板。如果文档没有命名，FileSave 显示“另存为”对话框（“文件”菜单）。

_____________

请参阅

文档、模板和加载项语句和函数

FileSaveAll

FileSaveAs

IsDocumentDirty()

IsTemplateDirty()


FileSaveAll

FileSaveAll [Save] [, OriginalFormat]

保存对所有文件的修改，其中包括对文档选用的 Normal 模板和其他模板的修改。如果用宏命令改变自动图文集词条、其他宏命令、键盘、菜单和工具栏等，最好加上一条 FileSaveAll 语句。

参数	说明
Save	指定如果文档或模板自从上次保存后发生了改变，是否提示保存： 0   提示使用者保存任何修改过的文档或模板。 1   自动保存所有修改过的文档和模板。
OriginalFormat	指定当一个文件是外部文件格式，不在用该格式保存时，是否给出提示： 0            用 Word 文档格式保存文档。 1            用原来的格式保存文档。 2 或忽略      提示用户用 word 文档格式保存文档。
_____________

请参阅

文档、模板和加载项语句和函数

FileSave

FileSaveAs

IsDocumentDirty()

IsTemplateDirty()


FileSummaryInfo 示例

下例为设置当前文档的标题。

FileSummaryInfo .Title = "Exploration of the Upper Amazon."

下例为定义 author$ 变量来保存当前文档的作者：

Dim dlg As FileSummaryInfo

GetCurValues dlg

author$ = dlg.Author


FileSummaryInfo

示例

FileSummaryInfo [.Title = text] [, .Subject = text] [, .Author = text] [, .Keywords = text] [, .Comments = text] [, .FileName = text] [, .Directory = text] [, .Template = text] [, .CreateDate = text] [, .LastSavedDate = text] [, .LastSavedBy = text] [, .RevisionNumber = text] [, .EditTime = text] [, .LastPrintedDate = text] [, .NumPages = text] [, .NumWords = text] [, .NumChars = text] [, .NumParas = text] [, .NumLines = text] [, .Update] [, .FileSize = text]

设置活动文档的摘要信息，并提供存取文档统计信息的能力。在 Word 6.0 版本，FileSummaryInfo 语句的参数对应于“摘要信息”对话框（“文件”菜单）和“统计信息”对话框（“摘要信息”命令，“统计”按纽）中的选项。“统计信息”对话框中的选项，除了“总共编辑时间”之外，都是只读的。

在 Word 7.0 中保留这个语句的目的是为了向下兼容。您可以使用文档属性语句和函数 来设置或获取当前文档的摘要信息。

参数	说明
.Title	文档的标题。
.Subject	文档的主题。
.Author	文档的作者。
.Keywords	用来识别文档的关键字。
.Comments	文档的备注。
.FileName	如果使用的是 FileSummaryInfo 语句，则指要修改摘要信息的文档名（文件必须是打开的）；如果使用的是用于返回信息的 FileSummaryInfo 对话框记录，则为当前文档的文件名（不包括路径）。
.Directory	文档的位置（只读）。
.Template	文档的模板（只读）。
.CreateDate	创建日期（只读）。
.LastSavedDate	文档上次保存的日期（只读）。
.LastSavedBy	文档上次保存者的姓名（只读）。
.RevisionNumber	文档保存的次数。
.EditTime	文档打开的时间总计，以分钟为单位。
.LastPrintedDate	文档上次打印的日期（只读）。
.NumPages	页数（只读）。
.NumWords	字数（只读）。
.NumChars	字符数（只读）。
.NumParas	段落数（只读）。
.NumLines	行数（只读）。
.Update	更新摘要信息。
.FileSize	以 36,352 字节来计算文档的大小（只读）。
注释：

使用 FileSummaryInfo 对话框记录返回摘要信息或统计信息时，为了保证获得的是最新信息，可在对话框记录的定义之前加一条 FileSummaryInfo .Update 指令。

_____________

请参阅

文档、模板和加载项语句和函数

DocumentStatistics


FileTemplates

FileTemplates [.Template = text] [, .LinkStyles = number]

改变当前文档选用的模板。使用 AddAddIn、AddInState 和 DeleteAddIn 命令可以增加或删除共用模板。FileTemplate  语句的参数对应于“模板和加载项”对话框（“模板”命令，“文件”菜单）中的选项。

参数	说明
.Template	模板的路径和文件名。
.LinkStyles	如果是 1，当前文档的样式与活动模板相连。每次打开文档时， Word 将从选用的模板中复制样式。
录制一个宏时，如果从“文件”菜单中选择“模板”命令，Word 会在FileTemplates 语句中录制一个 .Store 参数。 这个参数是为了保证对 word 2.x 宏的向下兼容性。在 word 6.0 及更高版本中，.Store 参数将被忽略。

_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

AddInState

DeleteAddIn

FileNew

Organizer


FoundFileName$()

FoundFileName$(Number)

返回在最近的 FileFind 操作中的找到文件名。参数 Number 在 1 和CountFoundFiles() 返回的数字之间。示例请参阅 FileFind 示例。

_____________

请参阅

文档、模板和加载项语句和函数

CountFoundFiles()

FileFind


GetAddInName$() 示例

本例在消息框中列出当前共用模板和加载项的名称。

size = CountAddIns() - 1

Dim GlobalAddIns$(size)

For i = 0 To size

GlobalAddIns$(i) = GetAddInName$(i + 1)

msg$ = msg$ + GlobalAddIns$(i) + Chr$(13)

Next

MsgBox msg$, "Current Global Templates and Add-Ins"


GetAddInName$()

示例

GetAddInName$(AddInID)

返回“模板和加载项”对话框（“模板”命令，“文件”菜单）的“共用模板和加载项”列表中 AddInID 指定位置上的模板或加载项的名称。1是第一个模板或加载项，2 是第二个模板或加载项，依此类推。

_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

AddInState

ClearAddIns

CountAddIns()

DeleteAddIn

GetAddInID()


GetDocumentVar$() 示例

AutoOpen 判断是否有提示性的附注，如果有，则显示。

Sub MAIN

worknote$ = GetDocumentVar$("reminder")

If worknote$ <> "" Then

MsgBox worknote$, "Note from last time"

End If

End Sub

在关闭之前提示保存提示信息的示例请参阅 SetDocumentVar 示例。


GetDocumentVar$()

示例

GetDocumentVar$(VariableName$)

返回与 VariableName$ 相关的字符串。VariableName$ 是上次用 SetDocumentVar 语句为活动文档设置的字符串。如果插入点不在文档中（例如，当前活动窗口为宏编辑窗口），将出现错误。

_____________

请参阅

文档、模板和加载项语句和函数

SetDocumentVar


GetDocumentVarName$()

GetDocumentVarName$(VariableNumber)

返回用 SetDocumentVar 或 SetDocumentVar() 命令设置的文档变量的名称。

参数	说明
VariableNumber	文档变量的数目，其值在 1 和保存在当前文档中变量的总数之间（总数可以用 CountDocumentVars() 命令获得）。
示例请参阅 CountDocumentVars() 示例。

_____________

请参阅

文档、模板和加载项语句和函数

CountDocumentVars()

GetDocumentVar$()

SetDocumentVar


SaveTemplate

SaveTemplate

保存对活动模板的修改，除非活动模板是 Normal 模板。如果用户的宏对非 Normal 模板中的自动图文集词条、键盘、工具栏和菜单项进行了修改，可以用SaveTemplate 指令来保存这些修改。要保存对所有模板（包括 Normal 模板）的修改，可以使用 FileSaveAll 命令。

SaveTemplate 在保存修改之前并不要求确认。您可以在运行 SaveTemplate 之前，用 MsgBox() 命令来确认保存对模板的修改。

_____________

请参阅

文档、模板和加载项语句和函数

FileSave

FileSaveAll


SetDocumentVar 示例

下例在关闭文档之前，提醒用户随文档保存一条提示信息。如果宏命名为 FileClose，每次用户从“文件”菜单中选择“关闭”命令时，都会运行这个宏（FileClose 指令运行的是内置的命令）。

On Error Goto CloseNow 用于当用户取消 InputBox$() 对话框时，阻止 WordBasic 错误信息的显示。指令 Err = 0 和 On Error Resume Next用于当用户在取消保存修改的提示时，阻止错误信息的显示。

On Error Goto CloseNow

worknote$ = InputBox$("Type a note for next time:")

SetDocumentVar "reminder", worknote$

CloseNow:

Err = 0

On Error Resume Next

FileClose

每次打开文档时，显示提示信息的 AutoOpen 宏的示例，请参阅GetDocumentVar$() 示例。


SetDocumentVar, SetDocumentVar()

示例

SetDocumentVar VariableName$, VariableText$

SetDocumentVar(VariableName$, VariableText$)

SetDocumentVar 语句将字符串与 VariableText$ 当前文档相关联。文档变成活动文档时，用 GetDocumentVar$() 函数的参数 VariableName$ 可以返回相关字符串。变量与文档一起保存。一个文档可以设置多个文档变量。要删除一个文档变量，可将 VariableText$ 设置为空字符串 (摂) 。如果插入点不在文档中（例如，当宏编辑窗口处在激活状态时），将产生错误。

SetDocumentVar() 函数效果与语句一样，并且如果变量设置成功，返回 -1 。

_____________

请参阅

文档、模板和加载项语句和函数

GetDocumentVar$()


EditFindFount() 示例
EditFindFound() 示例

该宏计算“Pillbox”在文档中出现的次数，并且在消息框中显示计算结果。EditFindFound() 通常与 While...Wend 循环语句一起使用，用于在找到指定的文本或格式后重复指令组。

Sub MAIN

count = 0

StartOfDocument

EditFind .Find = "pillbox", .WholeWord = 1, .Format = 0, .Wrap = 0

While EditFindFound()

count = count + 1

EditFind

Wend

MsgBox "The word " + Chr$(34) + "pillbox" + Chr$(34) + \

" was found" + Str$(count) + " times."

End Sub


EditFindFound()

示例

EditFindFound()

EditFindFound() 返回一个值，指明最近的 EditFind 操作是否成功的。

返回值	说明
-1	查找操作成功。
0	查找操作不成功。
_____________

请参阅

查找和替换语句和函数

EditFind

EditReplace

While...Wend


RepeatFind 示例

该示例计算单词“success”在活动文档中出现的次数，并且在消息框中显示计算结果。

StartOfDocument

EditFind .Find = "success", .Direction = 0, .WholeWord = 1, \

.MatchCase = 0, .Format = 0, .Wrap = 0

While EditFindFound()

count = count + 1

RepeatFind

Wend

MsgBox "The word " + Chr$(34) + "success" + Chr$(34) \

+ " occurs" + Str$(Count) + " times."


RepeatFind

示例

RepeatFind

RepeatFind 重复最近的 EditFind 或 EditGoto 操作。注意当重复 EditFind 指令时，.Direction、.WholeWord、.MatchCase、.PattenMatch、.Format 以及 .Wrap 的设置均保留。

_____________

请参阅

查找和替换语句和函数

EditFind

EditGoTo

EditRepeat


AnnototionRefFronSel$() 示例

该示例定位到下一个批注标记，并把变量 mark$ 设置为批注标记中的字符。

EditGoTo "a"

mark$ = AnnotationRefFromSel$()


AnnotationRefFromSel$()

示例

AnnotationRefFromSel$()

AnnotationRefFromSel$() 返回与插入点或与选定内容开头有关的批注标记。插入点必须正好位于文档窗口中的批注标记之前，或者批注窗格中的批注内。否则，返回字符串�[0]�。

需要特别指定的是，Word 把整个批注标记看作一个字符，因此不能使用 Selection$() 函数返回批注标记之内的字符。

_____________

请参阅

脚注、尾注和批注语句和函数

EditGoTo

GoToAnnotationScope

GoToNextItem

GoToPreviousItem

ShowAnnotationBy


EditConvertAllEnduotes 示例

该示例将全部尾注转换成脚注。当出现 WordBasic 错误 509 （“此命令无效”）时，错误处理语句将显示“No endnotes to convert”信息，而不显示标准的 WordBasic 错误信息。当出现其他错误，则显示标准的错误信息。

On Error Goto trap

EditConvertAllEndnotes

trap:

Select Case Err

Case 509 : MsgBox "No endnotes to convert."

Case Else : Error Err

End Select


EditConvertAllEndnotes

示例

EditConvertAllEndnotes

EditConvertAllEndnotes 将活动文档中全部尾注转换成脚注。如果没有尾注，则出现错误。

_____________

请参阅

脚注、尾注和批注语句和函数

EditConvertAllFootnotes

EditConvertNotes

EditSwapAllNotes


EditConvertAllFootnotes

EditConvertAllFootnotes

EditConvertAllFootnotes 将活动文档中的全部脚注转换成尾注。如果没有脚注，则出现错误。其他使用类似语句的示例，请参阅 EditConvertAllEndnotes 示例。

_____________

请参阅

脚注、尾注和批注语句和函数

EditConvertAllEndnotes

EditConvertNotes

EditSwapAllNotes


EditConvertNotes

EditConvertNotes

EditConvertNote 将选定的脚注转换成尾注，或反之，将选定的尾注转换成脚注。当插入点或选定内容不在脚注或尾注窗格中时，或窗格中没有注释时，均会出现错误。

_____________

请参阅

脚注、尾注和批注语句和函数

EditConvertAllEndnotes

EditConvertAllFootnotes

EditSwapAllNotes


EditSwapAllNotes

EditSwapAllNotes

EditSwapAllNotes 将文档中全部脚注转换尾注，全部尾注转换成脚注。插入点可能在文档中，也可能在脚注或尾注窗格中。如果没有脚注或尾注，将出现错误。

_____________

请参阅

脚注、尾注和批注语句和函数

EditConvertAllEndnotes

EditConvertAllFootnotes

EditConvertNotes


GoToAnnototionScope 示例

该示例将与插入点所在的批注有关的文档文本复制到剪贴板中。第一条 If 指令保证批注窗格打开，使插入点在批注窗格中。然后，GoToAnnototionScope 选定相关的文档文本。第二个 If 指令保证在运行 EditCopy 之前，文本已被选定。

If ViewAnnotations() = -1 And WindowPane() = 3 Then

GoToAnnotationScope

If SelType() = 2 Then

EditCopy

Else

MsgBox "No text to select."

End If

OtherPane

Else

MsgBox "Please place the insertion point in an annotation."

End If


GoToAnnotationScope

示例

GoToAnnotationScope

选定与插入点所在的批注有关的文档文本。如果插入点不在批注窗格中的批注内，将出现错误。

批注范围可以定义为：插入批注标记时选定的文本。当插入点位于批注窗格中的批注范围时，这些文本将以带底纹的方式显示出来。如果插入批注时没有选定文本，GoToAnnototionScope 将插入点移动到文档文本中的批注标记之前的位置上。

_____________

请参阅

脚注、尾注和批注语句和函数

GoToNextItem

GoToPreviousItem

OtherPane

ViewAnnotations()

WindowPane()


InsertAnnotation

InsertAnnotation

在插入点的位置插入批注标志，打开批注窗格，将插入点移到批注窗格中。如果选定了文本，批注标记将插在选定的文本之后。当插入点位于批注窗格中的相关批注内时，这些文本以带底纹的形式出现。如果文档窗口太小，不能显示批注窗格时，将出现错误。

_____________

请参阅

脚注、尾注和批注语句和函数

GoToAnnotationScope

InsertFootnote

ShowAnnotationBy

ViewAnnotations


InsertFootnote示例

该示例在插入点的位置插入一个自动编号的脚注引用标注。先插入脚注，然后关闭脚注窗格。

InsertFootnote .NoteType = 0

Insert "Sara Levine, "

Italic 1 : Insert "The Willow Tree"

Italic 0 : Insert " (Lone Creek Press, 1993)."

ClosePane


InsertFootnote

示例

InsertFootnote [.Reference = text] [, .NoteType = number]

在插入点的位置上插入脚注或者尾注引用标记，打开脚注或尾注窗格，并将插入点放到窗格中。语句 InsertFootnote 的参数对应于“插入”菜单中“脚注和尾注”命令的“脚注和尾注”对话框中的选项。

参数	说明
.Reference	自定义引用标记。如果忽略，Word 插入自动编号的引用标记。 若要指定符号，可使用句法 {FontName CharNum}。FontName 是包含符号的字体名，装饰字体名称列在（“插入”菜单）“符号”对话框的“字体”框中。CharNum 是31和要插入的符号所对应的位置的数字之和（在符号表格中从左到右计算）。例如，若要指定在“符号”字体中的符号表格中56 的位置上的  符号，应包含变量 .Reference="{Symbol 87}"。
.NoteType	指定插入脚注或尾注： 0         插入脚注。 1         插入尾注。 忽略      采用最近插入的类型。
_____________

请参阅

脚注、尾注和批注语句和函数

InsertAnnotation

NoteOptions

ViewFootnoteArea

ViewFootnotes


ResetNoteSepOrNotic 示例

该示例先打开脚注接续说明窗格，然后确定是否有接续说明。如果该窗格既包含段落标记，又包含其他内容，ResetNoteSepOrNotice 将删除该说明。如果没有 If 条件语句，则当该说明已设置为默认值时，示例将产生错误。

ViewFootnoteContNotice

EditSelectAll

paraMark$ = Chr$(13)

If Selection$() <> paraMark$ Then ResetNoteSepOrNotice

ClosePane


ResetNoteSepOrNotice

示例

ResetNoteSepOrNotice

重新把脚注或尾注的分隔符、接续说明、接续分隔符设置为默认的形式。如果第一次打开的不是分隔符窗格，ResetNoteSepOrNotice 将导致错误。

_____________

请参阅

脚注、尾注和批注语句和函数

NoteOptions

ViewEndnoteContNotice

ViewEndnoteContSeparator

ViewEndnoteSeparator

ViewFootnoteContNotice

ViewFootnoteContSeparator

ViewFootnoteSeparator


ViewAnnotations, ViewAnnotations()

ViewAnnotations [On]

ViewAnnotations()

语句 ViewAnnotations 打开或关闭批注窗格。如果活动文档中没有批注，将出现错误。

参数	说明
On	指定是打开还是关闭批注窗格： 0         关闭批注窗格。 1         打开批注窗格。 忽略      切换批注窗格的显示。
函数 ViewAnnotations() 返回下列值：

值	说明
0	如果批注窗格是关闭的
-1	如果批注窗格是打开的
_____________

请参阅

脚注、尾注和批注语句和函数

InsertAnnotation

ViewEndnoteArea

ViewFootnoteArea

ViewFootnotes


ViewEndnoteArea, ViewEndnoteArea()

ViewEndnoteArea [On]

ViewEndnoteArea()

在普通视图和大纲视图中，语句 ViewEndnoteArea 打开或关闭尾注窗格。在页面视图中，语句 ViewEndnoteArea 将插入点移入或移出尾注区。如果活动文档中没有尾注，将出现错误。

参数	说明
On	指定是打开还是关闭尾注窗格： 0          在普通视图和大纲视图中，关闭尾注窗格，在页面视图中，不起作用。 1          在普通视图和大纲视图中，打开尾注窗格。在页面视图中，在尾注及文档文本中与尾注有关的引用标记之间移动插入点。 忽略       在普遍视图和大纲视图中，切换尾注窗格的显示。在页面视图中，在尾注及文档文本中与尾注有关的引用标记之间移动插入点。
函数 ViewEndnoteArea() 返回以下值：

值	说明
0	如果尾注窗格是关闭的。
-1	如果尾注窗格是打开的。
_____________

请参阅

脚注、尾注和批注语句和函数

ViewAnnotations

ViewFootnoteArea

ViewFootnotes


ViewEndnoteContNotice

ViewEndnoteContNotice

打开包含尾注接续说明窗格。尾注接续说明用于说明尾注在下一页中继续。

_____________

请参阅

脚注、尾注和批注语句和函数

ResetNoteSepOrNotice

ViewEndnoteContSeparator

ViewEndnoteSeparator

ViewFootnoteContNotice


ViewEndnoteContSeparator

ViewEndnoteContSeparator

打开包含尾注接续分隔符的窗格。尾注接续分隔符出现在接续上一页的尾注文本前面。

_____________

请参阅

脚注、尾注和批注语句和函数

ResetNoteSepOrNotice

ViewEndnoteContNotice

ViewEndnoteSeparator

ViewFootnoteContSeparator


ViewEndnoteSeparator

ViewEndnoteSeparator

打开包含尾注分隔符的窗格。尾注分隔符出现在文档文本与尾注之间。

_____________

请参阅

脚注、尾注和批注语句和函数

ResetNoteSepOrNotice

ViewEndnoteContNotice

ViewEndnoteContSeparator

ViewFootnoteSeparator


ViewFootnoteContNotice

ViewFootnoteContNotice

打开包含脚注接续说明的窗格。脚注接续说明用于说明脚注在下一页继续。

_____________

请参阅

脚注、尾注和批注语句和函数

ResetNoteSepOrNotice

ViewEndnoteContNotice

ViewFootnoteContSeparator

ViewFootnoteSeparator


e    ViewFootnoteContSeparator
ViewFootnoteContSeparator

ViewFootnoteContSeparator

打开包含脚注接续分隔符的窗格。脚注接续分隔符出现在续上一页的脚注文本前面。

_____________

请参阅

脚注、尾注和批注语句和函数

ResetNoteSepOrNotice

ViewEndnoteContSeparator

ViewFootnoteContNotice

ViewFootnoteSeparator


ViewFootnotes, ViewFootnotes()

ViewFootnotes

ViewFootnotes()

在普通视图中，语句 ViewFootnotes 根据以下规则打开或关闭脚注窗格或尾注窗格：

  	当文档包含脚注时，打开脚注窗格。

当文档包含尾注，但不包含脚注时，打开尾注窗格。

当脚注窗格或尾注窗格打开时，关闭窗格。

在页面视图中，语句 ViewFootnotes 根据以下规则移动插入点：

如果文档只有脚注，将插入点移入脚注区。如果文档只含尾注，将插入点移入尾注区。

如果文档既含有尾注又含有脚注，显示对话框，要示用户在脚注区和尾注区两者之间作出选择。

{bmcb.bmp}	如果插入点已在脚注区或尾注区内，将插入点移至文档区。

如果文档既不包含脚注，又不包含尾注，语句 ViewFootnotes 不起作用。

函数 ViewFootnotes 返回以下值：

值	说明
0	脚注窗格，尾注窗格均未打开。
-1	脚注窗格或者尾注窗格打开。
_____________

请参阅

脚注、尾注和批注语句和函数

ViewEndnoteArea

ViewFootnoteArea


ViewFootnoteSeparator

ViewFootnoteSeparator

打开包含脚注分隔符的窗格。脚注分隔符出现在文档文本和脚注之间。

_____________

请参阅

脚注、尾注和批注语句和函数

ResetNoteSepOrNotice

ViewEndnoteSeparator

ViewFootnoteContNotice

ViewFootnoteContSeparator


AddDropDownItem 示例

此例为书签“Dropdown1”标记的下拉型表单域添加三项。

AddDropDownItem "Dropdown1", "Red"

AddDropDownItem "Dropdown1", "Blue"

AddDropDownItem "Dropdown1", "Green"


AddDropDownItem

示例

AddDropDownItem BookmarkName$, ItemText$

为下拉型表单域添加列表项。下拉型表单域最多能容纳 25 项。如果给下拉型表单域添加的项目多于 25 个，将会出现错误。

参数	说明
BookmarkName$	标记下拉型表单域的书签名。如果指定的书签标记的不是下拉型表单域，将出现错误。
ItemText$	添加到下拉型表单域中的列表项。
_____________

请参阅

表单语句和函数

DropDownFormField

RemoveAllDropDownItems

RemoveDropDownItem


CheckBoxFormField

CheckBoxFormField

在插入点插入复选框型表单域。CheckBoxFormField 相当于“表单”工具栏上的“复选框型表单域”按钮。

_____________

请参阅

表单语句和函数

DropDownFormField

InsertFormField

TextFormField


ClearFormField 示例

此例的目的是当焦点移到文字型表单域时，运行此宏。如果用户用 TAB 键将焦点移到表单域，其内容将被选定，这样， GetSelStartPos() <> GetSelEndPos() 条件为真， Word 将清除表单域。如果用户用鼠标单击表单域，那么条件为假，Word 不执行任何操作。

If GetSelEndPos() <> GetSelStartPos() Then ClearFormField


ClearFormField

示例

ClearFormField

在已设置表单保护的文档中，清除文字型表单域内的文本。ClearFormField 的作用和 BACKSPACE 键一样。注意在解除表单保护的文档中。ClearFormField 会删除选定的文字型表单域（除非表单域是在文档被保护期间选定的。在这种情况下，将清除表单域的文本，而不会删除表单域）。如果没有选定的文字型表单域，将出现错误。该语句不能用于清除下拉型表单域和复选框型表单域。

_____________

请参阅

表单语句和函数

SetFormResult

TextFormField


DropDownFormField

DropDownFormField

在插入点位置插入下拉型表单域。DropDownField 相当于“表单”工具栏中“下拉型表单域”按钮。

_____________

请参阅

表单语句和函数

AddDropDownItem

CheckBoxFormField

InsertFormField

RemoveAllDropDownItems

RemoveDropDownItem

TextFormField


EnableFormField 示例

此例根据（“工具”菜单）“选项”对话框“用户信息”选项卡上指定的用户姓名，允许或阻止对某个表单域的修改。可以把这个宏作为 Auto New 宏的一部分，这样每次创建基于表单模板的文档时，此宏就会运行。

Dim dlg As ToolsOptionsUserInfo

GetCurValues dlg

If dlg.Name = "Stella Richards" Then

EnableFormField "TotalSales", 1

Else

EnableFormField "TotalSales", 0

End If


EnableFormField

示例

EnableFormField BookmarkName$, Enable

填充表单时，允许或阻止对指定的表单域的更改。

参数	说明
BookmarkName$	标记表单域的书签名。
Enable	指定是否可以填充或更改表单域： 0   不可更改表单域。 1   可以更改表单域。
_____________

请参阅

表单语句和函数

InsertFormField


FormFieldOptions 示例

此例为选定的表单域指定帮助文字。帮助文字既用于状态栏上，也用于用户按 F1 键时 Word 显示的信息框中。

FormFieldOptions .OwnHelp = 1, .HelpText = "Briefly summarize " + \

"your favorite activity. Provide specific details.", \

.OwnStat = 1, .StatText = "What you like to do best..."

此例用 FormFieldOptions 对话框记录使变量 curType 的数值等于选定表单域中 .Type 设置的数值。此例给出了一个样板，说明怎样用 FormFieldOptions 返回选项信息。

Dim dlg As FormFieldOptions

GetCurValues dlg

curType = dlg.Type


FormFieldOptions

示例

FormFieldOptions [.Entry = text] [, .Exit = text] [, .Name = text] [, .Enable = number] [, .TextType = number] [, .TextWidth = number or text] [, .TextDefault = text] [, .TextFormat = text] [, .CheckSize = number] [, .CheckWidth = number or text] [, .CheckDefault = number] [, .Type = number]  [, .OwnHelp = number] [, .HelpText = text] [, .OwnStat = number] [, .StatText = text]

更改选定表单域的属性。FormFieldOptions 语句的参数对应于选定表单域之后，单击“表单”工具栏上的“表单域选项”按钮，或者从快捷菜单中选择“表单域选项”命令后，Word 显示的对话框中的选项。如果选定的表单域多于一个，FormFieldOptions 将更改选定范围内第一个表单域的属性。如果没有选定表单域，或者设置的选项与表单域的类型不符，那么将会出现错误。

参数	说明
.Entry	表单域获得输入焦点时运行的宏。
.Exit	表单域丢失输入焦点时运行的宏。
.Name	标记表单域的书签名。
.Enable	如果是 1，那么填充表单时允许更改表单域。
.TextType	对文字型表单域，指定类型： 0    “常规文字”。 1    “数字”。 2    “日期”。 3    “当前日期”。 4    “当前时间”。 5    “计算”。
.TextWidth	对文字型表单域，指定最大宽度： 0       “无限制”。 ＞0      最多允许字符数。
.TextDefault	文字型表单域的默认文本。
.TextFormat	对文字型表单域，指定一个适合于 .TextType 的格式。对于“常规文本”，如果 .TextType 设置为 0，可以使用下列值：“大写”、“小写”、“句首字母大写”、“词首字母大写”。要查阅其他文本类型可使用的格式，可浏览“文字型表单域选项”对话框“文本格式”框中列出的项目。
.CheckSize	对复选框型表单域，指定是否要设置固定尺寸： 0   “自动”（大小由周围文本的字体大小决定）。 1   “调整”（由 .CheckWidth指定尺寸）。
.CheckWidth	对复选框型表单域，如果 .CheckSize 设置为1，此参数指定按磅值或文本度量单位的宽度和高度。
.CheckDefault	对复选框型表单域，指定默认情况下，复选框是清除状态，还是处于选中状态： 0      清除。 1      选定。
.Type	指定表单域的类型： 0 或者省略   文字型表单域。 1            复选框型表单域。 2            下拉型表单域。
.OwnHelp	指定当表单域有焦点时，用户按 F1 键后，信息框中显示的文本的来源。 0    由 .HelpText 指定的自动图文集词条中的文本。如果 .HelpText 是空串 (摂)，则不显示信息框。 1    由 .HelpText 指定的文本。
.HelpText	如果 .OwnHelp 设置成 0，为含有表单域帮助文本的自动图文集词条名称。如果 .OwnHelp 设置为 1，则为帮助文本。
.OwnStat	当表单域有焦点时，指定在状态栏中显示的文本的来源： 0    由 .StatText 指定的自动图文集词条中的文本。如果 .StatText 指定一空串 (摂)，将不显示文本。 1    由 .StatText 指定的文本。
.StatText	如果 .Ownstat 是 0，则为含有表单域状态栏文本的自动图文集词条名称。如果 .Ownstat 是 1，则为状态栏中显示的文本。
用 FormFieldOptions 对话框记录可以提取选定的表单域有关信息。详细内容，请参阅本参考条目的第二个示例。

_____________

请参阅

表单语句和函数

EnableFormField

InsertFormField


FormShading, FormShading()

FormShading [On]

FormShading()

Formshading 陈述控制活动文档中表单域的底纹。

参数	说明
On	指定是否显示或不加底纹的表单域： 1  显示加底纹的表单域。 0  显示不加底纹的表单域。 省略  切掉表单域底纹。
如果表单域不加底纹，FormShading()函数返回为0。如果表单域加底纹，FormShading()函数返回为1。

_____________

请参阅

表单语句和函数

FormFieldOptions


GetFormResult() 示例

这是一个当用户将焦点移到其它表单域时，测试选定于下拉型表单域中的项目的“退出”宏的例子。如果项目是“巴黎”，那么显示信息框。将退出宏指定到用书签“下拉型1”标记的域中。

Sub MAIN

city$ = GetFormResult$("Dropdown1")

If city$ = "Paris" Then

MsgBox "We offer daily excursions to Versailles!"

End If

End Sub

有关退出宏的详细内容，请参阅Microsoft Word Developer's Kit.第九章“More WordBesic Techniqnls”。


GetFormResult(), GetFormResult$()

示例

GetFormResult(BookmarkName$)

GetFormResult$(BookmarkName$)

GetFormResmt() 将返回一个数字，此数字相当于复选框型表单域或者标有书签 BookmarkName $ 的下拉型表单域的设置。（插入表单域时，Word 会自动添加书签。）GetFormResm()返回值如下：

    对复选框型表单如果清除复选框，返回为0，如果选择复选框，返回为1。

    对下拉型表单域，如果选定界一项，返回为0，如果选定第二项，返回为1，等等。

注意如果将 GutFormResmt()同文字型表单域一起使用，将会出现错误。

GetFormField $()将返回一个串，此串相当于标有书签 BakmarkName $的表单域的设置。GutFormResmt$ 返回值如下：

    对复选框型表单域，如果清除复选框，返回为0，如果选复选框，返回为1。

    对下拉型表单域，返回当前选的项目。

    对文字型表单域，返回当前文本。

_____________

请参阅

表单语句和函数

SetFormResult


InsertFormField 示例

此例插入一个指定状态栏文本的下拉型表单域，然后给表单域添加三个城市的名称。

InsertFormField .Name = "Cities", .Enable = 1, .Type = 2, \

.OwnStat = 1, .StatText = "Select a city."

AddDropDownItem "Cities", "Bonn"

AddDropDownItem "Cities", "Paris"

AddDropDownItem "Cities", "Tokyo"

以下示例是插入一个由默认选定的高和宽为8磅的复选框型表单域。当复选框型表单域丢失焦点时，指定 WriteSetting 作为运行的“退出”宏。在宏里，宏后的指令可以用 GutFormResmt()和 SetPrivateProfileString 记录文本文件中用户是否选定或清除复选框。

InsertFormField .Exit = "WriteSettings", .Name = "Check1", \

.Enable = 1, .CheckSize = 1, .CheckWidth = "8 pt", \

.CheckDefault = 1, .Type = 1

下例插入文字型表单域。参数 Text Type=1指定此文本是一个数字，Text Format=“0%”指定用百分数显示这一数字，默认百分数是100%。

InsertFormField .Name = "PercentComplete", .Enable = 1, \

.TextType = 1, .TextWidth = "4", \

.TextDefault = "100%", .TextFormat = "0%", .Type = 0


InsertFormField

示例

InsertFormField [.Entry = text] [, .Exit = text] [, .Name = text] [, .Enable = number] [, .TextType = number] [, .TextDefault = text] [, .TextWidth = number or text] [, .TextFormat = text] [, .CheckSize = number] [, .CheckWidth = number or text] [, .CheckDefault = number] [, .Type = number] [, .OwnHelp = number] [, .HelpText = text] [, .OwnStat = number] [, .StatText = text]

在插入点插入表单域。InsertFormField 表述的参数相当于“表单域”（“插入”菜单）命令中和“表单域选项”对话框中的选项。

参数	说明
.Entry	表单域收到焦点时运行的宏。
.Exit	表单域丢失焦点时运行的宏。
.Name	标记表单域的书签名。
.Enable	如果是1，那么填充表单时允许更改表单域。
.TextType	插入文字型表单域时，指定类型： 0   “常规文本”。 1       “数字”。 2       “日期”。 3       “当前日期”。 4       “当前时间”。 5       “计算”。
.TextDefault	文字型表单域的默认文本。
.TextWidth	插入文字型表单域时，指定最大宽度： 0 “无限制”。 ＞0  字符中的最大宽度。
.TextFormat	插入文字型表单域时，指定一个适合于“文本类型”的格式。对于“常规文本”，如果“文本类型”设置为0，可得到以下值：“大写”、“小写”、“句首字母大写”、“首字母大写”。要得到其它文本类型的格式，可审阅“文字型表单域选项”对话框中“文本格式”框中的项目。
.CheckSize	插入复选框型表单域时，指定是否要设置固定的大小尺寸： 0  “自动”设置（大小尺寸由周围文本的字体大小决定）。 1  “精确”设置（由 Check Width 指定的大小尺寸来决定）。
.CheckWidth	插入复选框型表单域时，如果 Check Size 设置为1，指定磅值里的固定宽度和高度或者文本尺寸。
.CheckDefault	插入复选框型表单时，指定是否清除复选框或者默认选定复选框： 0  清除 1   选定
.Type	指定插入的表单域的类型： 0 或者省略   文字型表单域 1     复选框型表单域 2     下拉型表单域
.OwnHelp	当表单域有焦点，并且用户按F1键(Windows)或者按 COMMAND+／或者按 HELP(Macintosh)时，指定信息框中显示的文本来源： 0  由“帮助文本”指定的“自动图文集词条”中的文本，如果“帮助文本”指定一空串(“”)，将不显示信息框。 1   由“帮助文本”指定的文本。
.HelpText	如果“自动图文集词条”名称含有表单域帮助文本，OwnHelp 设置为0，如果是帮助文本，那么 OwnHelp 设置为1。
.OwnStat	Ownstat   在表单域有焦点时，指定在状态栏中显示的文本来源： 0  由 Stat Text 指定的“自动图文集词条”文本如果 Stat Text 指定一空串(“”)，将不显示文本。 1  由 Stat Text 指定的文本。
.StatText	如果“自动图文集词条”名称含有表单域状态栏文本，则 Ownstat 设置为0。如果在状态栏中显示文本，则 Ownstat 设置为1。
_____________

请参阅

表单语句和函数

AddDropDownItem

CheckBoxFormField

DropDownFormField

EnableFormField

FormFieldOptions

RemoveAllDropDownItems

RemoveDropDownItem

TextFormField


RemoveAllDropDownItems

RemoveAllDropDownItems BookmarkName$

删除下拉型表单域中所有项目。

参数	说明
BookmarkName$	标有下拉型表单域的书签名。如果指定一个没标有下拉型表单域的书签，将出现错误。
_____________

请参阅

表单语句和函数

AddDropDownItem

DropDownFormField

RemoveDropDownItem


RemoveDropDownItem 示例

此例是删除在标有书签“下拉型”的下拉型单表域中的三个项目。

RemoveDropDownItem "Dropdown1", "Red"

RemoveDropDownItem "Dropdown1", "Blue"

RemoveDropDownItem "Dropdown1", "Green"


RemoveDropDownItem

示例

RemoveDropDownItem BookmarkName$, ItemText$

删除下拉型表单域中的一个项目。

参数	说明
BookmarkName$	标有下拉型表单域的书签名。如果指定没有标有下拉型表单域的书签，将出现错误。
ItemText$	要从下拉型表单域中删除的项目。
_____________

请参阅

表单语句和函数

AddDropDownItem

DropDownFormField

RemoveAllDropDownItems


SetFormResult 示例

下例是当每次创建表单时一个运行的 AutoNew 宏， 它给文字型表单域“Name Text”，复选框型表单域“Age Check”和下拉型表单域“Pufesenccslist”设置默认结果，然后保护表单中的文档。

Sub MAIN

SetFormResult "NameText", "John Jones", 1

SetFormResult "AgeCheck", 1, 1

SetFormResult "PreferencesList", 2, 1

ToolsProtectDocument .Type = 2

End Sub

下例是更新用书签“日期域”识别的文字型表单域，用 SetFormResult 指令来更新的表单域含有日期域。

SetFormResult "DateField"


SetFormResult

示例

SetFormResult BookmarkName$, Result[$] [, DefaultResult]

设置标有书签 BookmmRName $ 表单域的结果（在插入表单域时，Word 自动添加书签）。根据表单域的类型，可以指定 Result $ 作为串工数字，如下所示：

{bmcb.bmp}    对于复选框表单域，可指定用“0”来代表清除复选框，或者用1代表选定复选框。

{bmcb.bmp}    对于下拉型表单域，可指定用来代表选择第一项，用1选择第二项，等等，也可指定项目本身作为一个串。

{bmcb.bmp}    对于文字型表单域，指定串。

如果没有指定 Result $，SetFormResult 会更新指定表单域中的任何域。

如果 Default Result 是1，那么结果会成为域的默认结果。当每次给表单保护含有表单域的文档时，会显示默认结果。

_____________

请参阅

表单语句和函数

GetFormResult()


TextFormField

TextFormField

在插入点插入文字型表单域，TextFormField 与表单工具栏中“文字型表单域”按钮相一致。

_____________

请参阅

表单语句和函数

CheckBoxFormField

DropDownFormField

InsertFormField


ToolsProtectDocument

ToolsProtectDocument [.DocumentPassword = text] [, .NoReset = number] [, .Type = number]

防止文档改变。根据“类型”值，用户可以进行如添加批注或修订标记的有限修改。如果是已经保护的文档，将会出现错误。

参数	说明
.DocumentPassword	在选择“解除文档保护”命令后（“工具”菜单中），需要“解除保护”文档的口令。
.NoReset	如果是1，当用 ToolsProlect Document 来防止表单改变时，Word 不会给默认结果重新设置表单域（仅当“类型”是2时用），这一选项允许表单设计者创建一个“输入”或“退出”宏，此宏可以删除表单中的保护，修改表单，然后不用重新设置表单域而再次保护它。注意当用“表单”工具栏或者“保护文档”对话框（“工具”菜单中）来保护表单时，总会重新设置表单域。
.Type	保护类型： 0或者省略  用户可以选定和编辑文本，但是所有改变会用修订标记来跟踪。 1  用户只能添加批注。 2   用户只给选定和修改表单域中的文本。 用 ToolsProtect Section 指定应该保护多节表单中的哪节和不该保护哪个。
不象 FileSaveAs 或者 ToolsOptionsSave 那样，您可以用来防止打开或者保存文档，ToolsProtectDocument 控制的是当文档打开时，允许用户做的内容。

_____________

请参阅

表单语句和函数

DocumentProtection()

FileSaveAs

ToolsOptionsSave

ToolsProtectSection

ToolsUnprotectDocument


ToolsProtectSection 示例

此例保护表单中的文档，但是不能保护文档的第二节。

ToolsProtectDocument .Type = 2

ToolsProtectSection .Section = 2, .Protect = 0


ToolsProtectSection

示例

ToolsProtectSection .Protect = number [, .Section = number]

如果对于批注和修订标记文档是保护的，那么 ToolsProtectSection 将不产生影响。

参数	说明
.Protect	指定是否可以或不可以保护指定的节： 0或者省略  不可以保护。 1   可以保护。
.Section	想要可以或不可以保护的节： 1  相当于第一节。 2  相当于第二节等等。
_____________

请参阅

表单语句和函数

DocumentProtection()

ToolsProtectDocument

ToolsUnprotectDocument


ToolsUnprotectDocument

ToolsUnprotectDocument [.DocumentPassword = text]

删除活动文档中的保护，如果没有保护文档，将会出现错误。

参数	说明
.DocumentPassword	用于保护文档的任意口令。注意口令是区分大小写的。如果用口令保护文档而没有指定 Document Password，那么对话框会给用户提示口令。
_____________

请参阅

表单语句和函数

DocumentProtection()

ToolsProtectDocument

ToolsProtectSection


Help
“帮助”

“帮助”

在 Word 6.0 中显示关于所选文本的“帮助”信息。如果没有活动文本，比如插入点在 Word 文档中但不在域中，“帮助”会显示“Word 帮助目录”屏幕。

在 Word 7.0 中，“帮助”显示“帮助主题”对话框中的 Answer Wizard 选项卡。

_____________

请参阅

帮助语句和函数

HelpActiveWindow

HelpTool


HelpActiveWindow

HelpActiveWindow

显示描述与活动视图或窗格相关的指令的“帮助”主题。

_____________

请参阅

帮助语句和函数

Help

HelpTool


HelpContents

HelpContents

显示“帮助主题”对话框（Word 7.0 ）或“帮助”目录（Word 6.0） 。

_____________

请参阅

帮助语句和函数

Help

HelpIndex


HelpIndex

HelpIndex

显示“帮助主题”对话框（Word 7.0）或显示“帮助”索引（Word 6.0） 。

_____________

请参阅

帮助语句和函数

Help

HelpContents


HelpKeyboard

HelpKeyboard

显示关于键盘和鼠标快捷方式的“帮助主题”列表。

_____________

请参阅

帮助语句和函数


HelpPSSHelp

HelpPSSHelp

在“帮助”中显示关于 Microsoft Word 可得到的支持服务的信息。

_____________

请参阅

帮助语句和函数


HelpSearch

HelpSearch

显示“帮助主题”对话框（Word 7.0）或用于在“帮助”中时行键盘搜索的“搜索”对话框（Word 6.0）。

_____________

请参阅

帮助语句和函数


HelpTipOfTheDay

HelpTipOfTheDay .StartupTips = number

在启动 Word 时控制是否出现“日积月累”对话框。该语句在在 Word 7.0 中忽略。

参数	解释
.StartupTips	如果是 1，每次启动 Word 时都出现“日积月累”对话框。该参数在 Word 7.0 中无效。
_____________

请参阅

帮助语句和函数


HelpTool

HelpTool

将鼠标指针变为问号，表明在选择下一命令或单击下一个 Word 的屏幕元素时将得到有关的区分上下文的“帮助”信息。如果单击文本，Word 将显示描述当前的段落格式和字符格式的方框。

_____________

请参阅

帮助语句和函数

Help

HelpActiveWindow


HelpUsingHelp

HelpUsingHelp

显示描述“帮助”用法的“帮助”主题列表。

_____________

请参阅

帮助语句和函数


工具栏按钮图符和编号

可在 AddButton 和 ChooseButtonImage 指令中通过指定相关的图符编号来为工具栏按钮选择图符。


WordBasic 语句和函数索引

-A-

Abs()

Activate

ActivateObject

AddAddress

AddAddIn, AddAddIn()

AddButton

AddDropDownItem

AddInState, AddInState()

AllCaps, AllCaps()

AnnotationRefFromSel$()

AOCEAddRecipient

AOCEAuthenticateUser()

AOCEClearMailerField

AOCECountRecipients()

AOCEGetRecipient$()

AOCEGetSender$()

AOCEGetSubject$()

AOCESendMail

AOCESetSubject

AppActivate

AppClose

AppCount()

AppGetNames, AppGetNames()

AppHide

AppInfo$()

AppIsRunning()

AppMaximize, AppMaximize()

AppMinimize, AppMinimize()

AppMove

AppRestore, AppRestore()

AppSendMessage

AppShow

AppSize

AppWindowHeight, AppWindowHeight()

AppWindowPosLeft, AppWindowPosLeft()

AppWindowPosTop, AppWindowPosTop()

AppWindowWidth, AppWindowWidth()

Asc()

AtEndOfDocument()

AtStartOfDocument()

AutomaticChange

AutoMarkIndexEntries

AutoText

AutoTextName$()

-B-

Beep

Begin Dialog...End Dialog

Bold, Bold()

BookmarkName$()

BorderBottom, BorderBottom()

BorderInside, BorderInside()

BorderLeft, BorderLeft()

BorderLineStyle, BorderLineStyle()

BorderNone, BorderNone()

BorderOutside, BorderOutside()

BorderRight, BorderRight()

BorderTop, BorderTop()

-C-

Call

Cancel

CancelButton

CenterPara, CenterPara()

ChangeCase, ChangeCase()

CharColor, CharColor()

CharLeft, CharLeft()

CharRight, CharRight()

ChDefaultDir

ChDir

CheckBox

CheckBoxFormField

ChooseButtonImage

Chr$()

CleanString$()

ClearAddIns

ClearFormField

Close

ClosePane

ClosePreview

CloseUpPara

CloseViewHeaderFooter

CmpBookmarks()

ColumnSelect

ComboBox

CommandValid()

Connect

ControlRun

Converter$()

ConverterLookup()

ConvertObject

CopyBookmark

CopyButtonImage

CopyFile

CopyFormat

CopyText

CountAddIns()

CountAutoCorrectExceptions()

CountAutoTextEntries()

CountBookmarks()

CountDirectories()

CountDocumentProperties()

CountDocumentVars()

CountFiles()

CountFonts()

CountFoundFiles()

CountKeys()

CountLanguages()

CountMacros()

CountMenuItems()

CountMenus()

CountMergeFields()

CountStyles()

CountToolbarButtons()

CountToolbars()

CountToolsGrammarStatistics()

CountWindows()

CreateSubdocument

-D-

Date$()

DateSerial()

DateValue()

Day()

Days360()

DDEExecute

DDEInitiate()

DDEPoke

DDERequest$()

DDETerminate

DDETerminateAll

Declare

DefaultDir$()

DeleteAddIn

DeleteBackWord

DeleteButton

DeleteDocumentProperty

DeleteWord

DemoteList

DemoteToBodyText

Dialog, Dialog()

DialogEditor

Dim

DisableAutoMacros

DisableInput

DlgControlId()

DlgEnable, DlgEnable()

DlgFilePreview, DlgFilePreview$()

DlgFocus, DlgFocus$()

DlgListBoxArray, DlgListBoxArray()

DlgLoadValues, DlgLoadValues()

DlgSetPicture

DlgStoreValues

DlgText, DlgText$()

DlgUpdateFilePreview

DlgValue, DlgValue()

DlgVisible, DlgVisible()

DocClose

DocMaximize, DocMaximize()

DocMinimize, DocMinimize()

DocMove

DocRestore

DocSize

DocSplit, DocSplit()

DocumentHasMisspellings()

DocumentPropertyExists()

DocumentPropertyName$()

DocumentPropertyType()

DocumentProtection()

DocumentStatistics

DocWindowHeight, DocWindowHeight()

DocWindowPosLeft, DocWindowPosLeft()

DocWindowPosTop, DocWindowPosTop()

DocWindowWidth, DocWindowWidth()

DoFieldClick

DOSToWin$()

DottedUnderline, DottedUnderline()

DoubleUnderline, DoubleUnderline()

DrawAlign

DrawArc

DrawBringForward

DrawBringInFrontOfText

DrawBringToFront

DrawCallout

DrawClearRange

DrawCount()

DrawCountPolyPoints()

DrawDisassemblePicture

DrawEllipse

DrawExtendSelect

DrawFlipHorizontal

DrawFlipVertical

DrawFreeformPolygon

DrawGetCalloutTextbox

DrawGetPolyPoints

DrawGetType()

DrawGroup

DrawInsertWordPicture

DrawLine

DrawNudgeDown

DrawNudgeDownPixel

DrawNudgeLeft

DrawNudgeLeftPixel

DrawNudgeRight

DrawNudgeRightPixel

DrawNudgeUp

DrawNudgeUpPixel

DrawRectangle

DrawResetWordPicture

DrawReshape

DrawRotateLeft

DrawRotateRight

DrawRoundRectangle

DrawSelect, DrawSelect()

DrawSelectNext

DrawSelectPrevious

DrawSendBackward

DrawSendBehindText

DrawSendToBack

DrawSetCalloutTextbox

DrawSetInsertToAnchor

DrawSetInsertToTextbox

DrawSetPolyPoints

DrawSetRange, DrawSetRange()

DrawSnapToGrid

DrawTextBox

DrawUngroup

DrawUnselect

DropDownFormField

DropListBox

-E-

EditAutoText

EditBookmark

EditButtonImage

EditClear

EditConvertAllEndnotes

EditConvertAllFootnotes

EditConvertNotes

EditCopy

EditCopyAsPicture

EditCreatePublisher

EditCut

EditFind

EditFindBorder

EditFindClearFormatting

EditFindFont

EditFindFound()

EditFindFrame

EditFindHighlight

EditFindLang

EditFindNotHighlight

EditFindPara

EditFindStyle

EditFindTabs

EditGoTo

EditLinks

EditObject

EditPaste

EditPasteSpecial

EditPicture

EditPublishOptions

EditRedo

EditRepeat

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFont

EditReplaceFrame

EditReplaceHighlight

EditReplaceLang

EditReplaceNotHighlight

EditReplacePara

EditReplaceStyle

EditReplaceTabs

EditSelectAll

EditSubscribeOptions

EditSubscribeTo

EditSwapAllNotes

EditTOACategory

EditUndo

EmptyBookmark()

EnableFormField

EndOfColumn, EndofColumn()

EndOfDocument, EndOfDocument()

EndOfLine, EndOfLine()

EndOfRow, EndOfRow()

EndOfWindow, EndOfWindow()

Environ$()

Eof()

Err

Error

ExistingBookmark()

ExitWindows

ExtendMode()

ExtendSelection

-F-

FieldSeparator, FieldSeparator$()

FileAOCEAddMailer

FileAOCEDeleteMailer

FileAOCEExpandMailer

FileAOCEForwardMail

FileAOCENextLetter

FileAOCEReplyAllMail

FileAOCEReplyMail

FileAOCESendMail

FileClose

FileCloseAll

FileClosePicture

FileConfirmConversions, FileConfirmConversions()

FileCreator$()

FileDocumentLayout

FileExit

FileFind

FileList

FileMacCustomPageSetupGX

FileMacPageSetup

FileMacPageSetupGX

FileName$()

FileNameFromWindow$()

FileNameInfo$()

FileNew

FileNewDefault

FileNumber

FileOpen

FilePost

FilePageSetup

FilePreview

FilePrint

FilePrintDefault

FilePrintOneCopy

FilePrintPreview, FilePrintPreview()

FilePrintPreviewFullScreen

FilePrintPreviewPages, FilePrintPreviewPages()

FilePrintSetup

FileProperties

FileQuit

FileRoutingSlip

Files$()

FileSave

FileSaveAll

FileSaveAs

FileSendMail

FileSummaryInfo

FileTemplates

FileType$()

Font, Font$()

FontSize, FontSize()

FontSizeSelect

FontSubstitution

For...Next

FormatAddrFonts

FormatAutoFormat

FormatBordersAndShading

FormatBullet

FormatBulletDefault, FormatBulletDefault()

FormatBulletsAndNumbering

FormatCallout

FormatChangeCase

FormatColumns

FormatDefineStyleBorders

FormatDefineStyleFont

FormatDefineStyleFrame

FormatDefineStyleLang

FormatDefineStyleNumbers

FormatDefineStylePara

FormatDefineStyleTabs

FormatDrawingObject

FormatDropCap

FormatFont

FormatFrame

FormatHeaderFooterLink

FormatHeadingNumber

FormatHeadingNumbering

FormatMultilevel

FormatNumber

FormatNumberDefault, FormatNumberDefault()

FormatPageNumber

FormatParagraph

FormatPicture

FormatRetAddrFonts

FormatSectionLayout

FormatStyle

FormatStyleGallery

FormatTabs

FormFieldOptions

FormShading, FormShading()

FoundFileName$()

Function...End Function

-G-

GetAddInID()

GetAddInName$()

GetAddress$()

GetAttr()

GetAutoCorrect$()

GetAutoCorrectException$()

GetAutoText$()

GetBookmark$()

GetCurValues

GetDirectory$()

GetDocumentProperty(), GetDocumentProperty$()

GetDocumentVar$()

GetDocumentVarName$()

GetFieldData$()

GetFormResult(), GetFormResult$()

GetMergeField$()

GetPrivateProfileString$()

GetProfileString$()

GetSelEndPos()

GetSelStartPos()

GetSystemInfo, GetSystemInfo$()

GetText$()

GoBack

Goto

GoToAnnotationScope

GoToHeaderFooter

GoToNextItem

GoToPreviousItem

GroupBox

GrowFont

GrowFontOnePoint

-H-

HangingIndent

Help

HelpAbout

HelpActiveWindow

HelpContents

HelpExamplesAndDemos

HelpIndex

HelpKeyboard

HelpMSN

HelpPSSHelp

HelpQuickPreview

HelpSearch

HelpTipOfTheDay

HelpTool

HelpUsingHelp

HelpWordPerfectHelp

HelpWordPerfectHelpOptions

Hidden, Hidden()

Highlight

HighlightColor, HighlightColor()

HLine

Hour()

HPage

HScroll, HScroll()

-I-

If...Then...Else

Indent

Input

Input$()

InputBox$()

Insert

InsertAddCaption

InsertAddress

InsertAnnotation

InsertAutoCaption

InsertAutoText

InsertBreak

InsertCaption

InsertCaptionNumbering

InsertChart

InsertColumnBreak

InsertCrossReference

InsertDatabase

InsertDateField

InsertDateTime

InsertDrawing

InsertEquation

InsertExcelTable

InsertField

InsertFieldChars

InsertFile

InsertFootnote

InsertFormField

InsertFrame

InsertIndex

InsertMergeField

InsertObject

InsertPageBreak

InsertPageField

InsertPageNumbers

InsertPara

InsertPicture

InsertSectionBreak

InsertSound

InsertSpike

InsertSubdocument

InsertSymbol

InsertTableOfAuthorities

InsertTableOfContents

InsertTableOfFigures

InsertTimeField

InsertWordArt

InStr()

Int()

IsAutoCorrectException()

IsCustomDocumentProperty()

IsDocumentDirty()

IsDocumentPropertyReadOnly()

IsExecuteOnly()

IsMacro()

IsTemplateDirty()

Italic, Italic()

-J-

JustifyPara, JustifyPara()

-K-

KeyCode()

KeyMacro$()

Kill

-L-

Language, Language$()

LCase$()

Left$()

LeftPara, LeftPara()

Len()

Let

Line Input

LineDown, LineDown()

LineUp, LineUp()

ListBox

ListCommands

LockDocument, LockDocument()

LockFields

Lof()

LTrim$()

-M-

MacID$()

MacroCopy

MacroDesc$()

MacroFileName$()

MacroName$()

MacroNameFromWindow$()

MacScript, MacScript$()

Magnifier, Magnifier()

MailCheckNames

MailHideMessageHeader

MailMerge

MailMergeAskToConvertChevrons, MailMergeAskToConvertChevrons()

MailMergeCheck

MailMergeConvertChevrons, MailMergeConvertChevrons()

MailMergeCreateDataSource

MailMergeCreateHeaderSource

MailMergeDataForm

MailMergeDataSource$()

MailMergeEditDataSource

MailMergeEditHeaderSource

MailMergeEditMainDocument

MailMergeFindRecord

MailMergeFirstRecord

MailMergeFoundRecord()

MailMergeGotoRecord, MailMergeGotoRecord()

MailMergeHelper

MailMergeInsertAsk

MailMergeInsertFillIn

MailMergeInsertIf

MailMergeInsertMergeRec

MailMergeInsertMergeSeq

MailMergeInsertNext

MailMergeInsertNextIf

MailMergeInsertSet

MailMergeInsertSkipIf

MailMergeLastRecord

MailMergeMainDocumentType, MailMergeMainDocumentType()

MailMergeNextRecord

MailMergeOpenDataSource

MailMergeOpenHeaderSource

MailMergePrevRecord

MailMergeQueryOptions

MailMergeReset

MailMergeState()

MailMergeToDoc

MailMergeToPrinter

MailMergeUseAddressBook

MailMergeViewData, MailMergeViewData()

MailMessageDelete

MailMessageForward

MailMessageMove

MailMessageNext

MailMessagePrevious

MailMessageProperties

MailMessageReply

MailMessageReplyAll

MailSelectNames

MarkCitation

MarkIndexEntry

MarkTableOfContentsEntry

MenuItemMacro$()

MenuItemText$()

MenuMode

MenuText$()

MergeFieldName$()

MergeSubdocument

MicrosoftAccess

MicrosoftExcel

MicrosoftFoxPro

MicrosoftMail

MicrosoftPowerPoint

MicrosoftProject

MicrosoftPublisher

MicrosoftSchedule

MicrosoftSystemInfo

Mid$()

Minute()

MkDir

Month()

MountVolume

MoveButton

MoveText

MoveToolbar

MsgBox, MsgBox()

-N-

Name

NewToolbar

NextCell, NextCell()

NextField, NextField()

NextMisspelling

NextObject

NextPage, NextPage()

NextTab()

NextWindow

NormalFontPosition

NormalFontSpacing

NormalStyle

NormalViewHeaderArea

NoteOptions

Now()

-O-

OK

OKButton

On Error

OnTime

Open

OpenSubdocument

OpenUpPara

OptionButton

OptionGroup

Organizer

OtherPane

Outline, Outline()

OutlineCollapse

OutlineDemote

OutlineExpand

OutlineLevel()

OutlineMoveDown

OutlineMoveUp

OutlinePromote

OutlineShowFirstLine, OutlineShowFirstLine()

OutlineShowFormat

Overtype, Overtype()

-P-

PageDown, PageDown()

PageUp, PageUp()

ParaDown, ParaDown()

ParaKeepLinesTogether, ParaKeepLinesTogether()

ParaKeepWithNext, ParaKeepWithNext()

ParaPageBreakBefore, ParaPageBreakBefore()

ParaUp, ParaUp()

ParaWidowOrphanControl, ParaWidowOrphanControl()

PasteButtonImage

PasteFormat

PathFromMacPath$()

PathFromWinPath$()

PauseRecorder

Picture

PrevCell, PrevCell()

PrevField, PrevField()

PrevObject

PrevPage, PrevPage()

PrevTab()

PrevWindow

Print

PromoteList

PushButton

PutFieldData

-R-

Read

Redim

REM

RemoveAllDropDownItems

RemoveBulletsNumbers

RemoveDropDownItem

RemoveFrames

RemoveSubdocument

RenameMenu

RepeatFind

ResetButtonImage

ResetChar, ResetChar()

ResetNoteSepOrNotice

ResetPara, ResetPara()

Right$()

RightPara, RightPara()

RmDir

Rnd()

RTrim$()

RunPrintManager

-S-

SaveTemplate

ScreenRefresh

ScreenUpdating, ScreenUpdating()

Second()

Seek, Seek()

Select Case

SelectCurAlignment

SelectCurColor

SelectCurFont

SelectCurIndent

SelectCurSentence

SelectCurSpacing

SelectCurTabs

SelectCurWord

SelectDrawingObjects

Selection$()

SelectionFileName$()

SelInfo()

SelType, SelType()

SendKeys

SentLeft, SentLeft()

SentRight, SentRight()

SetAttr

SetAutoText

SetDocumentDirty

SetDocumentProperty()

SetDocumentPropertyLink()

SetDocumentVar, SetDocumentVar()

SetEndOfBookmark

SetFileCreatorAndType

SetFormResult

SetPrivateProfileString, SetPrivateProfileString()

SetProfileString, SetProfileString()

SetSelRange

SetStartOfBookmark

SetTemplateDirty

Sgn()

ShadingPattern, ShadingPattern()

Shadow, Shadow()

Shell

ShowAll, ShowAll()

ShowAllHeadings

ShowAnnotationBy

ShowClipboard

ShowHeadingNumber

ShowMe

ShowNextHeaderFooter

ShowPrevHeaderFooter

ShowVars

ShrinkFont

ShrinkFontOnePoint

ShrinkSelection

SizeToolbar

SkipNumbering, SkipNumbering()

SmallCaps, SmallCaps()

SortArray

SpacePara1, SpacePara1()

SpacePara15, SpacePara15()

SpacePara2, SpacePara2()

SpellChecked, SpellChecked()

Spike

SplitSubdocument

StartOfColumn, StartOfColumn()

StartOfDocument, StartOfDocument()

StartOfLine, StartOfLine()

StartOfRow, StartOfRow()

StartOfWindow, StartOfWindow()

Stop

Str$()

Strikethrough, Strikethrough()

String$()

Style

StyleDesc$()

StyleName$()

Sub...End Sub

Subscript, Subscript()

Superscript, Superscript()

SymbolFont

-T-

TabLeader$()

TableAutoFormat

TableAutoSum

TableColumnWidth

TableDeleteCells

TableDeleteColumn

TableDeleteRow

TableFormula

TableGridlines, TableGridlines()

TableHeadings, TableHeadings()

TableInsertCells

TableInsertColumn

TableInsertRow

TableInsertTable

TableMergeCells

TableRowHeight

TableSelectColumn

TableSelectRow

TableSelectTable

TableSort

TableSortAToZ

TableSortZToA

TableSplit

TableSplitCells

TableToText

TableUpdateAutoFormat

TabType()

Text

TextBox

TextFormField

TextToTable

TipWizard

Time$()

TimeSerial()

TimeValue()

TipWizard

Today()

ToggleFieldDisplay

ToggleFull

ToggleHeaderFooterLink

ToggleMainTextLayer

TogglePortrait

ToggleScribbleMode

ToolbarButtonMacro$()

ToolbarName$()

ToolbarState()

ToolsAddRecordDefault

ToolsAdvancedSettings

ToolsAutoCorrect

ToolsAutoCorrectCapsLockOff, ToolsAutoCorrectCapsLockOff()

ToolsAutoCorrectDays, ToolsAutoCorrectDays()

ToolsAutoCorrectExceptions

ToolsAutoCorrectInitialCaps, ToolsAutoCorrectInitialCaps()

ToolsAutoCorrectReplaceText, ToolsAutoCorrectReplaceText()

ToolsAutoCorrectSentenceCaps, ToolsAutoCorrectSentenceCaps()

ToolsAutoCorrectSmartQuotes, ToolsAutoCorrectSmartQuotes()

ToolsBulletListDefault

ToolsBulletsNumbers

ToolsCalculate, ToolsCalculate()

ToolsCompareVersions

ToolsCreateEnvelope

ToolsCreateLabels

ToolsCustomize

ToolsCustomizeKeyboard

ToolsCustomizeMenuBar

ToolsCustomizeMenus

ToolsGetSpelling, ToolsGetSpelling()

ToolsGetSynonyms, ToolsGetSynonyms()

ToolsGrammar

ToolsGrammarStatisticsArray

ToolsHyphenation

ToolsHyphenationManual

ToolsLanguage

ToolsMacro

ToolsManageFields

ToolsMergeRevisions

ToolsNumberListDefault

ToolsOptions

ToolsOptionsAutoFormat

ToolsOptionsCompatibility

ToolsOptionsEdit

ToolsOptionsFileLocations

ToolsOptionsGeneral

ToolsOptionsGrammar

ToolsOptionsPrint

ToolsOptionsRevisions

ToolsOptionsSave

ToolsOptionsSpelling

ToolsOptionsUserInfo

ToolsOptionsView

ToolsProtectDocument

ToolsProtectSection

ToolsRemoveRecordDefault

ToolsRepaginate

ToolsReviewRevisions

ToolsRevisionAuthor$()

ToolsRevisionDate()

ToolsRevisionDate$()

ToolsRevisions

ToolsRevisionType()

ToolsShrinkToFit

ToolsSpelling

ToolsSpellingRecheckDocument

ToolsSpellSelection

ToolsThesaurus

ToolsUnprotectDocument

ToolsWordCount

-U-

UCase$()

Underline, Underline()

UnHang

UnIndent

UnlinkFields

UnlockFields

UpdateFields

UpdateSource

-V-

Val()

ViewAnnotations, ViewAnnotations()

ViewBorderToolbar

ViewDraft, ViewDraft()

ViewDrawingToolbar

ViewEndnoteArea, ViewEndnoteArea()

ViewEndnoteContNotice

ViewEndnoteContSeparator

ViewEndnoteSeparator

ViewFieldCodes, ViewFieldCodes()

ViewFooter, ViewFooter()

ViewFootnoteArea, ViewFootnoteArea()

ViewFootnoteContNotice

ViewFootnoteContSeparator

ViewFootnotes, ViewFootnotes()

ViewFootnoteSeparator

ViewHeader, ViewHeader()

ViewMasterDocument, ViewMasterDocument()

ViewMenus()

ViewNormal, ViewNormal()

ViewOutline, ViewOutline()

ViewPage, ViewPage()

ViewRibbon, ViewRibbon()

ViewRuler, ViewRuler()

ViewStatusBar, ViewStatusBar()

ViewToggleMasterDocument

ViewToolbars

ViewZoom

ViewZoom100

ViewZoom200

ViewZoom75

ViewZoomPageWidth

ViewZoomWholePage

VLine

VPage

VScroll, VScroll()

-W-

WaitCursor

Weekday()

While...Wend

Window()

WindowArrangeAll

WindowList

WindowName$()

WindowNewWindow

WindowNumber

WindowPane()

WinToDOS$()

WordLeft, WordLeft()

WordRight, WordRight()

WordUnderline, WordUnderline()

Write

-Y-

Year()


CommandValid() 示例

该示例测试“编辑”菜单中的“撤消”命令在当前上下文中是否有效。如果有效，就撤消此前的编辑和格式编排命令。

If CommandValid("EditUndo") = -1 Then

EditUndo

End If


CommandValid()

示例

CommandValid(CommandName$)

指出 CommandName$ 是否为有效 WordBasic 语句，如果有效，还指出它在当前上下文中是否有效。

CommandValid() 函数返回下列值。

值	说明
-1	如果 CommandName$ 有效并在当前上下文中有效。
0	如果 CommandName$ 有效但在当前上下文中无效。
1	如果 CommandName$ 无效。
_____________

请参阅

宏语句和函数

IsMacro()


IsMacro() 示例

该示例在活动窗口是宏编辑窗口时新建文档。

If IsMacro() = -1 Then FileNewDefault


IsMacro()

示例

IsMacro([WindowNumber])

WindowNumber 指定的窗口是宏编辑窗口时返回 -1，否则返回 0。

参数	说明
WindowNumber	在“窗口”菜单中指定窗口：1 对应第 1 个窗口，2 对应第 2 个窗口，依此类推。WindowNumber 是 0 或忽略时活动窗口为虚构。 WindowsNumber 不对应“窗口”菜单中的数字时出现错误。
_____________

请参阅

宏语句和函数

MacroFileName$()

MacroNameFromWindow$()

SelInfo()


KeyMacro$()

KeyMacro$(Count [, Context])

返回宏或内部命令的名称并带有不同于默认设定的键设定。

参数	说明
Count	1 至 CountKeys() 间的数，指定要为其返回命令或宏名的自定义键设定。
Context	自定义键设定所在模板： 0 或忽略     Normal 模板 1            活动模板
示例请参阅KeyCode()示例。

_____________

请参阅

宏语句和函数

CountKeys()

KeyCode()

MenuItemMacro$()


MacroDesc$() 示例

该示例打印出 Normal 模板中的宏列表及其说明。要为活动模板要打印这样的列表，可在第一和第二指令中分别替换 CountMacros(1) 和 MacroName$(count, 1)。

For count = 1 To CountMacros(0)

name$ = MacroName$(count, 0)

Bold 1

Insert name$ + Chr$(9)

Bold 0

Insert MacroDesc$(name$)

InsertPara

Next count


MacroDesc$()

示例

MacroDesc$(Name$)

返回宏 Name$. 的相关说明。在“工具”菜单的“宏”对话框中选择宏时，在“说明”框中显示同样文字；选择指定到菜单或工具栏上的宏时，状态栏中也显示同样文字，用 ToolsMacro. 可设置宏的说明。

活动模板或 Normal 模板中没有 Name$ 时就会出现错误。活动模板和 Normal 模板中都有 Name$ 时返回活动模板中该宏的说明。

_____________

请参阅

宏语句和函数

CountMacros()

KeyMacro$()

MacroName$()

MenuItemMacro$()

ToolsMacro


MacroFileName$()

MacroFileName$([MacroName$])

返回 MacroName$. 指定的宏所在模板的路径和文件名。Word 先在活动模板（如果与 Normal 模板不同）中导找宏，再在 Normal 模板中找，然后在已装载的共用模板中（按字母顺序）找，最后在内部命令（该命令执行时也按 Word 导找宏的同样顺序）中找。如果忽略 MacroName$， MacroFileName$() 返回正在运行的宏所在模板的路径和文件名。如果 MacroName$ 不存在，MacroFileName$() 返回空字符串(“”)。

_____________

请参阅

宏语句和函数

MacroDesc$()

MacroName$()

MacroNameFromWindow$()


MacroNameFromWindow$()

MacroNameFromWindow$([WindowNumber])

返回在指定的宏编辑窗口中的宏的名称，如果所指定窗口不是宏编辑窗口， MacroNameFromWindow$()   返回空字符串(“”)。

参数	描述
WindowNumber	在“窗口”菜单中指定窗口：1 对应第一个窗口，2 对应第二个窗口，依此类推， WindowNumber是 0 或忽略时，活动窗口为虚构，WindowsNumber 不对应窗口菜单中的数字时会出现错误。
_____________

请参阅

宏语句和函数

IsMacro()

MacroFileName$()

MacroName$()


MenuItemMacro$() 示例

该示例定义数组变量，该变量包含在当前工作环境中指定到“文件”菜单的命令和宏的名称。要为活动模板的文件菜单定义这样的数组，可替换第一指令中的 MenuItems("File", 0, 1) 和第四指令中的 Macro$("File", 0, count, 1)。

numItems = CountMenuItems("File", 0, 0)

Dim fileItem$(numItems - 1)

For count = 1 To numItems

fileItem$(count - 1) = MenuItemMacro$("File", 0, count, 0)

Next count


MenuItemMacro$()

示例

MenuItemMacro$(Menu$, Type, Item [, Context])

返回与指定菜单项相关的宏或内部命令的名称。

参数	解释
Menu$	菜单或快捷菜单的名称。菜单名称列于“工具”菜单的“自定义”对话框中“菜单”选项卡上的“更改菜单”框中。 菜单名称中带下划线的字母之前带 & 的是可选项（例如：既可指定“文件 ”，也可指定“& 文件”）。不要包括带括号的短语“（无文档）”和“（快捷方式）”，即使它们出现在“自定义”对话框中。
Type	菜单类型： 0   打开文档时菜单栏上的菜单。 1   未打开文档时菜单栏上的菜单。 2   快捷菜单。
Item	代表菜单项在菜单上的位置的数。该数可从 1 到 CountMenuItems() 返回的数。命令间的分隔符均作为菜单项，而且如果 Item 代表示分隔符的位置， MenuItemMacro$() 就返回字符串“（Separator）”。 注意：像“文件”菜单中的最近所用文件或“工具”菜单中的校对工具这样的列表对应一个单独项目。如果指定列表的位置，MenuItemMacro$() 就返回空字符串(“”)。
Context	指定要为其返回宏或命令名称的菜单设定： 0 或忽略   在建于 Normal 模板的文档为活动文档时有效的设定。 1     当前有效的设定。 注意：有效的设定取决于活动模板、装载的共用模板和 Normal 模板的自定义设置（如果有）。
_____________

请参阅

宏语句和函数

CountMacros()

KeyMacro$()

MacroDesc$()

MacroName$()

MenuItemText$()

ToolsCustomizeMenus


PauseRecorder

PauseRecorder

停止和继续录制宏。PauseRecorder 是内部 Word 命令，在选择宏工具栏上的“暂停” 按钮时运行。该语句在宏中不会常出现。

_____________

请参阅

宏语句和函数


REM 示例

该示例展示四种在宏中包含备注的方法。

REM MyMacro Title -- MyName Here

'More about MyMacro

ParaDown	'Move to start of next paragraph

ParaUp	REM Moves to start of previous paragraph


REM

示例

REM Comments

'Comments

标示解释性文字，宏运行时 Word 会忽略该文字。可利用撇号(�)来代替 REM。每种记号都有其优缺点：REM 易于从 Word Basic 指令中区分备注，但所需空间比撇号多。

_____________

请参阅

宏语句和函数


ToolsMacro 示例

该示例是为保存在 Normal 模板中的 Test 宏打开宏编辑窗口。

ToolsMacro .Name = "Test", .Show = 1, .Edit


ToolsMacro

示例

ToolsMacro .Name = text [, .Run] [, .Edit] [, .Show = number] [, .Delete] [, .Rename] [, .Description = text] [, .NewName = text] [, .SetDesc]

运行或记录宏、设置宏的说明、重命名宏或在宏编辑窗口中打开新的或已有的宏 。ToolsMacro 语句的参数对应“工具”菜单的“宏”对话框中的选项。注意：包括了 .Rename 和 .NewName 参数以便与旧版 Word 兼容。

参数	解释
Name	宏名。
Run	运行宏。
Edit	打开含有 .Name 指定的宏的宏编辑窗口。
.Show	指定上下文： 0   所有有效宏；包括已装载的共用模板的宏。 1   Normal 模板中的宏。 2   内部命令。 3   活动文档不是建于 Normal 模板时，活动模板中的宏；否则，宏在第一个加载的共用模板（共用模板按字母顺序列出）中的宏。 >3 在余留下的已加载的共用模板（按字母顺序）中的宏。 忽略  Word 在“宏”对话框中最后选定的上下文中寻找。要保证正确的宏运行，特别是如果可能出现模板间的宏命名称冲突时，应指定 .Show 的值。
.Delete	删除指定宏。
.Rename	重命名指定宏。
.Description	指定宏的新说明；与 .SetDesc 一起使用。将宏指定到菜单或工具栏并选定或指向该宏时，状态栏中会显示说明。
.NewName	宏的新名；与 .Rename 一起使用。
.SetDesc	设置宏的新说明。
_____________

请参阅

宏语句和函数

CountMacros()

IsMacro()

KeyMacro$()

MacroDesc$()

MacroFileName$()

MacroNameFromWindow$()

MenuItemMacro$()

Organizer

PauseRecorder


WW2CallingConvention, WW2CallingConvention()

WW2CallingConvention [On]

WW2CallingConvention()

WW2CallingConvention 语句在一个宏调用另一宏时控制 Word 解决命名冲突的方式。有特定名称的宏在活动模板和含有调用宏的模板中都存在时，就会发生冲突。在 Word 2.X 中，运行活动模板中的宏。在 Word 6.0 或以后的版本中，运行调用模板中的宏。

在宏的开头包含 WW2CallingConvention 指令，可暂时转至 Word 2.X 状态。包含 WW2CallingConvention 指令的宏终止时，就会恢复 Word 6.0 或以后版本的状态。

参数	解释
On	指定 Word 解决命名冲突的方式： 0     Word 6.0 状态（支持调用模板） 1 或忽略   Word 2.X 状态（支持活动模板）
如果 Word 2.X 调用约定有效时 WW2CallingConvention() 函数返回 -1，否则返回 0。

通常，如果已经有了基于 Word 2.X 状态的一组模板，应只用 WW2CallingConvention 来解决命名冲突。该语句可方便地得到 Word 2.X 的解决方案并在 Word 6.0a for Windows、Word 6.0 for Windows NT 或不作较大改动地在 Word 7.0 中运行。但是要注意：不管用哪个来运行解决方案，还是需要 Word 6.0a for Windows、Word 6.0 for Windows NT 或 Word 7.0，因为 WW2CallingConvention 不是 Word 6.0 for Windows 的一部分。

_____________

请参阅

Word 2.x 宏的转换

ToolsMacro


Word 2.x 宏的转换
转换 Word 2.x 的宏

概述

WW2_语句和函数

处理段落标记

修改启动选项

错误检查

Word 中的限制

创建并显示对话框

剪切和粘贴文本

使用 SendKeys

查找和替换文本

搜索域

使用页眉和页脚

完成新的格式编排

用新语句和函数代替换 Windows API 调用

调用宏和子程序时的上下文问题

利用共用模板

混杂的“gotchas”

给变量、子程序和用户定义的函数命名


Overview of Using OLE Automation with Word
概述

当首次打开 Word 2.x 模板、新建一篇基于该模板的文档或通过“文件”菜单中的“模板”命令将该模板用于文档时，Word 会转换该模板中的宏（注意：Word 6.0 或以后的版本不能直接转换 Word 1.x 的宏；要先用 Word 2.x 打开 Word 1.x 模板，再用 Word 6.0 或以后的版本）。模板在转换后必须保存，以便保存转换；如果不保存模板，下次使用该模板时，Word 又会转换宏。

如果要完全控制宏的转换（即，如果不想让 Word 自动转换宏），可人工转换宏。要做到这一点，可用 Word 2.x 打开每个宏，将代码复制到普通文档并保存该文档。用 Word 6.0 或以后的版本中打开该文档，并用 Normal 模板或新的自定义模板为每个原来的宏创建宏，再将文字从文档复制到宏编辑窗口中。调试每个宏以检验应修改哪部分代码来产生与用 Word 2.x 编写相同的效果。

Word 自动转换宏时，可能需要人工修改其中某些部分以便完成转换。本主题试图识别[宏中需要特别注意的区域，以便宏能够产生预期的效果。


WW2  语句和函数
WW2_ 语句和函数

为改善兼容性，许多 Word 2.x for Windows 的 Word Basic 语句和函数已留至 Word 6.0 或以后的版本中，并给出了“WW2_”前缀（例如：WW2_CountMenuItems() 和 WW2_EditFinel）。宏转换器在遇到这些 Word 2.x 语句和函数中的某条时，就用 WW2_ 名称来代替。

WW2_ 函数提供 Word 2.x 语法，但不按 Word 2.x 所设条件工作。例如：WW2_lusert 遵循 Word 6.0 或以后的版本中的“智能剪贴”设置，WW2_EditFiud 必须用 Word 6 的代码来搜索特殊字符。

下面列出了所有的 WW2_ 语句和函数：

WW2_ChangeCase WW2_ChangeRulerMode WW2_CountMenuItems() WW2_EditFind WW2_EditFindChar WW2_EditReplace WW2_EditReplaceChar WW2_FileTemplates WW2_Files$() WW2_FootnoteOptions WW2_FormatBordersAndShading WW2_FormatCharacter WW2_FormatDefineStyleChar WW2_GetToolButton() WW2_GetToolMacro$() WW2_Insert WW2_InsertFootnote WW2_InsertIndex WW2_InsertSymbol WW2_InsertTableOfContents WW2_KeyCode WW2_MenuMacro$() WW2_MenuText$()	WW2_PrintMerge WW2_PrintMergeCheck WW2_PrintMergeCreateDataSource WW2_PrintMergeCreateHeaderSource WW2_PrintMergeHelper WW2_PrintMergeSelection WW2_PrintMergeToDoc WW2_PrintMergeToPrinter WW2_RenameMenu WW2_RulerMode WW2_TableColumnWidth WW2_TableRowHeight WW2_ToolsHyphenation WW2_ToolsMacro WW2_ToolsOptionsGeneral WW2_ToolsOptionsKeyboard WW2_ToolsOptionsMenus WW2_ToolsOptionsPrint WW2_ToolsOptionsToolbar WW2_ToolsOptionsView WW2_ToolsRevisionsMark WW2_ViewZoom
注意：Command Valid() 采用指定命令名的字符串。Word 6.0 或以后的版本不将该字符串转换为Word6.0 或以后的版本中的有效命令名，也不附加“WW2_”。要检查转换过的宏中所有出现该函数的地方，以确保正在测试的命令名有效（例如：将“InsertBookmark”改为“WW2_lnsertBookmark”或“EditBookmark”）。

下面是一些 Word 2.x 和 WW2_命令与相应的 Word 6.0 或以后版本的命令比较的运行细节，请记住这些细节。

WW2_Files $() 只返回文件名，而 Word 6.0 或以后版本的 FIles $() 函数返回路径和文件名。

WW2_Insert 与 Word 6.0 或以后版本中的 Insert 语句效果相同，在选定文本时除外。如果当前选定内容在结束处有分节符，WW2_Insert 会将其改写；Word 6.0 或以后版本中的 Insert 语句则不然。如果选定单词及其后面的空格字符，WW2_lusert 会替换掉尾随的空格字符；Word 6.0 或以后版本中的 Insert 语句则不然。

Word 6.0 或以后的版本通过包含像 WW2_EditFInd 和 WW2_EditReplace 等这些语句的 Word 2.x 版本，在查找和替换宏操作时提供兼容性。注意：Word 2.x 的特殊字符代码在 WW2_EditFind 和 WW2_EditReplace 中继续有效。但是在 Word 6.0 或以后版本中的 WW2_EditFind、WW2_EditReplace、EditFind 或 EditReplace 中，如将 ANSI 字符 34（直引号）指定为查找文本，会既查找直引号也查找“弯”引号（ANSI 147 和 148）；而在 Word 2.x 的宏中，ANSI 34 只查找直引号。

查找和替换变化的详情请参阅查找和替换文字。

Word 2.x 的 ViewHeaderFodter 语句在 Word 6.0 或以后的版本中支持为 NormalVIewHeaderArea 语句；但不能用 NormalViewHeaderArea 显示 Word 2.x 对话框。

Word 6.0 或以后的版本支持 Word 2.x 的 IconBarMode 语句，但不起作用。

某些 WW2_ 语句对应 Word 2.x 的对话框，这些语句组成的子集在 Word 6.0 或以后的版本中不能用于显示 Word 2.x 对话框（尽管这些语句仍可用于设置选项或通过对话记录返回信息）。转换后的 Word 2.x 的宏在试图显示与下列任何语句相关的对话框时需要人工更新：

NormalViewHeaderArea
WW2_EditFindChar
WW2_EditReplaceChar
WW2_FormatDefineStyleChar
WW2_PrintMerge
WW2_PrintMergeCheck
WW2_PrintMergeHelper
WW2_PrintMergeSelection
WW2_PrintMergeToDoc
WW2_PrintMergeToPrinter
WW2_ToolsOptionsGeneral
WW2_ToolsOptionsKeyboard
WW2_ToolsOptionsMenus
WW2_ToolsOptionsToolbar
WW2_ToolsOptionsView
WW2_ViewZoom


处理段落标记

在 Word 2.x 中，两个 ANSI 字符 13 和 10 指定段落标记。在 Word 6.0 或以后的版本中，ANSI 字符 13 单独代表段落标记。任何假设如下的 Word 2.x 宏在 Word 6.0 或以后版本的文档中都不能正常工作：

para$ = Chr$(13) + Chr$(10)

Word 2.x 的宏经常利用该假设来搜索段落标记或测试选定内容是否包含段落标记。改变任何转换过的 Word 2.x 宏中的该假设将去除与 Word 6.0 或以后版本的文档不兼容的弊病。

但是，Word 2.x 和用 Word 6.0 或以后版本打开的纯文本文档中的段落标记仍等同于 ANSI 字符 13 和 10；只有当 Word 2.x 文档或纯文本文档最终存为 Word 6.0 格式时，段落标记才转换为 ANSI 字符 13。如果宏需要在两种格式的文档中工作，在设置用还是两个 ANSI 字符来组成段落标记的假定之前一定要检查当前格式。


修改启动选项

Word 6.0 for Windows 的启动选项在文件 WINWORD6.INI 中。在 GetProfileString$()或 SetProfileString 指令中指定 Word 节（“Microsoft Word 2.0”、“Microsoft Word”、“MSWord 文本转换器”或“MSWord 可编节”）的宏将返回或设置 WINWORD6.INI（而不是 WIN.INI）中的信息。如果需要返回或设置 WIN.INI 的 Word 2.x 节中的选项，可用 GetProfileString$() 和 SetProfileString，它们允许明确指定 INI 文件。

Word 6.0 for Windows NT 和 Word for Windows 95 的启动选项在登记中定义。要返回或设置登记中的选项，可用 GetPrivateProfileString$() 和 SetPrivateProfileString.。


错误检查

由于 Word 6.0 或以后的版本中的错误信息比 Word 2.x 中的更明确，所以需要更新错误处理程序以便捕捉新错误。例如：如果插入点或选定内容不在表格中，StartofRow 和 EndofRow 语句将生成错误信息。而且，要记住以下几点：

未用 GetCurvalues 处理对话框的程序会在 Word 6.0 或以后的版本中生成错误，而在 Word 2.x 中则不然。

如果没有定义在对话框定义中指定的数组变量，Word 6.0 或以后的版本会显示错误。


Word 中的限制

可能需要确定宏关于 Word 限制所做假设，这些假设已发生变化（例如：打开文档窗口的最多数量已从 9 变为有效内存允许的数量）。转换 Word 2.x 宏时要考虑的变化是已减少了 Call 指令至其它宏和子程序的嵌套层数。但像在 Word 2.x 中一样，有效内存常在宏达不到内部最大值之前就限制嵌套层数，在 Word 6.0 或以后的版本中大约为 9 层。


创建并显示对话框

在 Word 2.x 中，选项按钮和复选框在 OptionButton 和 CheckBox 指令的宽和高参数定义的矩形内垂直居中；在 Word 6.0 或以后的版本中，选项按钮和复选框与矩形顶部对齐。如果矩形大于 Word 2.x 宏的需要，选项按钮或复选框在转换对话框定义时可能会位置不当。如有必要，可将对话框定义粘贴到“对话编辑器”中并改变控制的大小。

Word 6.0 或以后版本中的列表框不再识别空字符串。如果宏在要指定至列表框的数组中包含空字符串，列表项会在空字符串后截短。例如，如果创建下面这个数组：

ListBox1$(0) = "hello"
ListBox1$(1) = ""
ListBox1$(2) = "hello"

然后将其指定至对话框定义中的列表框，这样，在显示对话框时，列表框中的“Hello”后就显示不出文字。要调整该对话框，既可从数组中清除空字符串，也可给每个空字符串添加空格。例如：

ListBox1$(1) = " "

在 Word 6.0 或以后的版本中，没有“取消”按钮的自定义对话框不能用对话“控制”菜单关闭。可采用两种方法来引导：用 MsgBox 命令而不用自定义对话框（注意：消息框只能显示 256 个字符），或者让对话框定义包含“取消”按钮，然后创建初始化时隐藏“取消”按钮的对话框函数。

在 Word 2.x 中，用 InputBox $() 显示的输入框将输入焦点设在“确定”按钮上。要用键盘选择“确定”，可按 ENTER 键；要在文本框中插入换行符，可按 SHIFT+ENTER 键。在 Word 6.0 或以后的版本中，用 Input Box $() 显示的输入框将输入焦点设在文本框上。按 ENTER 键时，Word 在文本框中插入新行；要用键盘选择“确定”，必须先按 TAB 键将焦点设至“确定”按钮，再按 ENTER 键。

如果想在宏中保留 Word 2.x Input Box$() 的效果，需创建自定义对话框，用 Dialog 和 Dialog() 指令而不是 InputBox$() 来显示。如果确实用了 Word 6.0 或以后版本的 Input Box$() 函数，可评估返回的字符串以保证它在宏中有效，并在要选“确定”但却无意按了 ENTER 键时将其清除，这样就可使宏更完善。


剪切和粘贴文本

“工具”菜单的“选项”对话框中的“编辑”选项卡包含新选项棗“使用智能剪贴”，它可在删除文字时去掉不要的空格，在插入文字时添加空格。在删除、剪切或粘贴文字的宏中，可用 ToolsOptionsEdit 来控制该选项，选项的设置一定要对应宏的假设。对于 Word 2.x 的宏，最可能的假设是该功能无效，因此，将下列指令添至宏可确保它与在 Word 6.0 或以后的版本中效果相同：

Sub MAIN

Dim dlg As ToolsOptionsEdit

GetCurValues dlg

reset = dlg.SmartCutPaste

dlg.SmartCutPaste = 0

ToolsOptionsEdit dlg

' Word 2.x macro instructions

ToolsOptionsEdit .SmartCutPaste = reset

End Sub


使用Sendkeys

宏转换器不改变 Sendkeys 语句中为适应 Word 6.0 或以后版本中菜单、菜单项和对话框控制的存取键变化而指定的键位。例如在 Word 2.x 中，SendKeys "%ob" 指令显示“工具”菜单中的“项目符号和编号”对话框；在 Word 6.0 或以后的版本中，相同的指令显示“格式”菜单中的“边框和底纹”对话框。在转换后的 Word 2.x 宏中搜索所有的 SendKeys 指令可证实它们在 Word 6.0 中仍将有预期功能。


查找和替换文本
查找和替换文字

Word 6.0 或以后的版本对 EditFind 和 EditReplace 语句作了更新。新版用不同值的 .Direction 和新的 .Wrap 参数来控制提示（详情请参阅 EditFind）。而且，少数用于查找和替换特殊字符的字符代码也作了改动（例如：“^M”代替“^d”作为人工分页符）。

因此，Word 6.0 或以后的版本通过包含像 WW2_EditFind 和 WW2_EditReplace 等这些语句的 Word 2.x 版为查找和替换宏的操作提供了兼容性。注意：Word 2.x 的特殊字符代码在 WW2_EditFInd 和 WW2_EditReplace 中继续有效。

在 Word 2.x 的 EditFind 指令中，将 .Direction 设为 2 以向文档尾方向搜索，并在搜至文档尾时防止 Word 显示提示。如果搜索开始处有选定内容，Word 2.x 先搜索选定内容，再在其后继续搜索。Word 6.0 中的 WW2_EditFin 指令不在选定内容后继续搜索。除非宏确保 WW2_EditFind 指令运行前没有选定内容，否则可能要用 Word 6.0 或以后版本中的 EditFind 改写指令，将 .Direction 设为 0，新 .Wrap 参数设为 1。

字体名和用 Word 6.0 InsertSymbol 命令插入的符号的 ANSI 代码是隐藏起来的。Word 将这些符号识别为 ANSI 字符 40（左括号）。注意：转换后的 Word 2.x 宏在搜索左括号时也将查找 Word 6.0文档中用 InsertSymbot 插入的符号。


域的搜索
搜索域

Word 2.x 中插入的域在域引导符和域名之间没有空格；Word 6.0 或以后版本中的域引导符之后和域结束符之前插入了空格。如果有宏要搜索特定的域并对其进行某些操作，就要考虑这一点。考虑下列从 Word 2.x 中转换过来的宏。注意：在查找文本中，^19 和 DATE 之间没有空格。

REM UnlinkDateFields -- unlinks each DATE field in the document

Sub MAIN

StartOfDocument

EditFindClearFormatting

WW2_EditFind .Find = "^19DATE", .Direction = 2, .Format = 0, .MatchCase = 0

While EditFindFound()

UnlinkFields

WW2_EditFind .Find = "^19DATE", .Direction = 2, .Format = 0, .MatchCase = 0

Wend

End Sub

应假设文档包含域引导符后有不同数量空格的域，尤其是在文档以 Word 2.x 文档开头时。要说明这一点，上述宏可改写这包含两个循环：用于域引导符后不带空格的 DATE 域，另用于域引导符后有或多个空格（^W）的 DATE 域。注意：下面的宏使用 Word 6.0 或以后版本的 EditFind 和 EditReplace，在此可将 ^d 指定为域字符。

REM UnlinkDateFields -- unlinks each DATE field in the document

Sub MAIN

EditFindClearFormatting

ViewFieldCodes 1

EditFind .Find = "^dDATE", .Direction = 0, .Wrap = 1, .Format = 0, \

.MatchCase = 0

While EditFindFound()

UnlinkFields

EditFind .Find = "^dDATE", .Direction = 0, .Wrap = 1

Wend

EditFind .Find = "^d^wDATE", .Direction = 0, .Wrap = 1

While EditFindFound()

UnlinkFields

EditFind .Find = "^d^wDATE", .Direction = 0, .Wrap = 1

Wend

End Sub

还应注意：Word 6.0 或以后的版本中有四个域的名称发生了变化。但在用 Word 6.0 打开含有这些域（或多个）的 Word 2.x 文档时，Word 并不更新域名，这些域和以前一样继续工作。除非编辑域代码，否则它们的名称不会变为 Word 6.0 的名称。下表列出了这四个域。

Word 2.x	Word 6.0
INCLUDE	INCLUDETEXT
IMPORT	INCLUDEPICTURE
FTNREF	NOTEREF
GLOSSARY	AUTOTEXT
如果有宏要搜索这些域中的某个，可能要添加代码来说明在同一文档中两种域名都出现的可能性。


使用页眉和页脚

在 Word 6.0 或以后的版本中，使用页眉和页脚的最常用方法是在页面视图中用 ViewHeader 语句来显示它们。这种方法的限制是 Word 只能显示文档已有页面（即能在页面视图中显示出来的页面）的页眉和页脚。

要在几乎没有或完全没有文字的文档（比如像书一样长的文档将使用的模板）中使用页眉和页脚，应使用 NormalviewHeaderArea 语句在普通视图中的页眉／页脚窗格中显示页眉或页脚。NormalViewHeaderArea 语句对应 Word 2.x 的 ViewHeaderFooter 语句。参数是相同的，并且可用对话记录和 GetCurValues 来返回 NsmalViewHeaderArea 的当前值；但在 Word 6.0 或以后的版本中，不能显示 Word 2.x 的“查看页眉和页脚”对话框。

下面两个 Word 6.0 或以后版本的宏指令是等同的：

FilePageSetup .DifferentFirstPage = 1, .OddAndEvenPages = 1

NormalViewHeaderArea .FirstPage = 1, .OddAndEvenPages = 1

但在没有文本或分页符的文档中，下面的指令在普通视图中的页眉／页脚窗格中显示奇数页页眉：

NormalViewHeaderArea .Type = 4

而下面的指令能在页面视图中只显示首页页眉：

ViewHeader

在添足文本以便产生两个分页符后（或用 InsentBreak 添加了分页符），ViewHeader 指令将能在页面视图中显示奇数页页眉。

从 Word 2.x 转换过来的宏就像它们以前使用 ViewHeaderFooter 一样，将自动使用 NormalViewHeaderArea 语句。要在 Word 6.0 或以后版本的宏中复制 Word 2.x 的功能，也应使用 NormalVIewHeaderArea。 如果要让 Word 6.0 或以后版本的宏在页面视图中使用 ViewHeader，而不考虑在活动文档或模板中的页数，可书写代码来插入一两个临时分页符，待修改完页眉和页脚后再将其删除。


新格式的实现
完成新格式编排

Word 6.0 或以后的版本有许多新格式编排功能，而且为了便于使用，还修订了某些 Word 2.x 格式编排语句和函数。在转换 Word 2.x 的宏时，如需复制 Word 2.x 的格式编排效果，可能要重写某些应用格式编排的代码。下面是一些应该注意的具体情况。

Word 6.0 或以后的版本现在有了基于指定字体中所保存印刷信息的上标、下标和小型大写字母格式。通过提升文字并减小字号来生成上标和下标文字的 Word 2.x 的宏转换到 Word 6.0 或以后的版本中后功能不变，但可人工修改使用该技术的指令以利用 Word 中新的字体格式编排能力。

Word 2.x 的 FormatParagraph 语句的 .LineSpacing 参数在 Word 6.0 或以后版本的 FormatParagraph 语句中拆分为两个参数：.LineSpacingRule 和 .LineSpacing。要在 Word 2.x 中指定准确行距，需给 .LineSpacing 参数指定负值（比如“-10 磅”）。要在 Word 6.0 中应用同样的格式，可选择下面两种方法之一：给 .LineSpacingRule 指定 Exactly（值为4）并给 .LineSpacing 指定正值（比如“10 磅”），或者给 .LineSpacing 参数指定负值（如“-10 磅”）。用这种方法，应用该格式的 Word 2.x 指令可正确转换。

但在 Word 6.0 或以后的版本执行给 .LineSpacing 赋负值的指令后，.LineSpacingRule 的值设成了 4（“Exactly”）并且 .LineSpacing 的值改为了正值。所以，如果宏含有任何在 Word 6.0 FOrmatParagraph 对话记录中测试负 .LineSpacing 值的条件语句（比如 IF...Then...Else 或 While...Wend），它们将总返回假。每个测试负 .LIneSpacing 值的条件语句都应视所需信息而改为测试正 .LineSpacing 值、等于 4 的 .LineSpacingRule 值或两个都测。

Word 6.0 或以后的版本提供了两种样式：段落样式和字符样式。StyleName$() 函数返回的当前样式的名称取决于插入点或选定内容的位置。例如：如果在正文段落中[选定字，并且该字未应用字符样式，StyleName$() 就返回“Normal”，但是，如果该字有字符样式，比如用了 ArialBold，StyleName$() 就返回“ArialBold”。要确保 StgleName$() 返回基本段落样式，而不考虑当前选定内容应用的任何字符样式，可用如下代码：

EditBookmark "tmp"

SelType 1

reset$ = StyleName$()

Style "Default Paragraph Font"

parastyle$ = StyleName$()

Style reset$

EditGoto "tmp"

EditBookmark "tmp", .Delete

在 Word 6.0 或以后的版本中，可用 Organiger 命令在宏中复制多种样式、“自动图文集”词条、工具栏和宏。宏简单创建基于项目数量（由 CountStyles() 这样的函数计数）的循环，并对每条项目运行 Organiger 指令。

像在 Word 2.x 中一样，Word 6.0 或以后版本中的宏可通过 .FileName、.Source 和 .Merge 参数，用 FormatStyle 语句将所有样式合并至（出）文档或模板。用这种方法的 Word 2.x 宏转换至 Word 6.0 时几乎不用或完全不用修改。


用新语句和函数代替 Windows API 调用
用新语句和函数替换 Windows API 调用

某些新的 Word Basic 语句和函数提供了在 Word 2.x 中用于 Declare 语句的普通 Windows API 调用的功能。在将宏从 Word 2.x 转换到 Word 6.0 或以后的版本中时，可考虑以前宏用到的哪些 Windows API 调用能转换成新的内部 Word Basic 功能。

例如：像 AppSige、AppMove 和 AppMinimige 这样的应用控制语句可在 Word 6.0 或以后的版本中用于控制任何 Windows 应用程序的状态，而不只是 Word。如果宏试图使用 Windows API 调用来修改非 Word 应用程序的状态，可考虑用对应的 Word Basic 语句来替换 API 调用。而且，像 AppGetNames、AppCount() 和 AppTsRunning() 这样的新语句可扩展宏在修改或返回有关整个 Windows 环境的信息时的能力。

AppSendMessage 是添至 Word 6.0 或以后版本中的语句，它功能强大，允许宏向任何正在运行的 Windows 应用程序发送 Windows API 消息及其相关参数（详见 Microsoft Windows 3.1 软件开发工具包）。如果正在转换一个试图用 Windows API 函数调用来实现同样功能的 Word 2.x 宏，可修改该宏以便利用 AppSendMessage。

Word 6.0 或以后的版本增加了两个语句：ScreenUpdating 和 ScreenRepresh，用来提供某些只能在调用 Windows API Echoff 函数中发现的显示控制。注意：ScreenUpdating 并不提供像 EchoOff 一样的功能，可隐藏和显示工具栏、可更新状态栏、消息框可提示信息，等等。如果有使用 Windows API EchoOff 函数的 Word 2.x 宏，可以考虑在 Word 6.0 或以后版本的屏幕更新语句满足宏的需要时，用它们来代替。

在 Word 6.0 中，可用 GetPrivateProfileString$( ) 和 SetPrivateProfileString 返回和修改任何初始化文件中的设置：WIN.INI、WINWORD6.INI、任何其它 Windows 应用程序的初始化文件、甚至是像 MACROVAR.INI 这样的自己的初始化文件。在 Word 6.0 for WIndows NT 和 Word for Windows 95中，初始化设置存在登记中，同样可用 GetPrivateProfileString$() 和 SetPrivateProfileString 来返回和修改登记中的设置。如果正在转换的宏使用名称相同的 Windows API 调用函数，可考虑内部语句和函数是否可用于完成同样的工作。


在调用宏和子程序时的上下文问题
调用宏和子程序时的上下文问题

Word 2.x 和 Word 6.0 或以后的版本均可用 ToolsMacro 指令或以下语法来从另一宏中调用一个宏：

〔call〕宏名〔.子名〕〔参数列表〕

偶然也能够运行带指定名称的多个宏。在这种情况下，要决定运行哪个宏时，Word 6.0 或以后的版本所用规则不同于 WOrd 2.x。通常，Word 2.x 解决名称冲突时有利于活动模板，而 Word 6.0 或以后的版本解决名称冲突时有利于包含调用宏的模板。下例将说明这一点。

考虑包含 Welcome 宏的 My.DOT 模板：

'Welcome macro (My.DOT)

Sub Main

MsgBox "I am the Welcome macro in My.DOT"

End Sub

考试 NORMAL.DOT 中的同名宏：

'Welcome macro (NORMAL.DOT)

Sub Main

MsgBox "I am the Welcome macro in NORMAL.DOT"

End Sub

现在考虑 Normal 模板中的另一宏基于 My.DOT 创建文档，然后运行 Welcome：

'Macro in NORMAL.DOT that runs NORMAL.DOT version of Welcome

Sub Main

FileNew .Template = "My.DOT"

Welcome

End Sub

在 Welcome 宏运行时，My.DOT 是活动的。在 Word  2.x 中，运行 Welcome 的 My.DOT 版，因为解决命名冲突时有利于活动模板。在 Word 6.0 或以后的版本中，由于包含调用宏的模板中的版本优先于活动模板中的版本，所以运行 Welcome 的 NORMAL.DOT 版。

不必为使用独特名称而重命名所有的宏和子程序，有两种方法能克服 Word 6.0 或以后版本的宏的这种特性的影响：用 ToolMacro 来代替 Call，或者包含 WW2CallingConvention 语句。

如需在活动模板中运行宏的主程序，而不考虑哪个模板包含调用宏（且不需传递任何值），可用 ToolsMacro 指令并将 .Show 设为 3（活动模板上下文的值）：

'Macro in NORMAL.DOT that runs My.DOT version of Welcome

Sub Main

FileNew .Template = "My.DOT"

ToolsMacro .Name = "Welcome", .Show = 3, .Run

End Sub

注意：只要是用 ToolsMacro 调用宏，就应指定 .Show。否则，“宏”对话框中最后选定的上下文将决定上下文。这与 ToolsMacro 的 Word 2.x 版不同，在 Word 2.x 中，如果忽略 .Show，Word 寻找宏时先在活动模板中，然后在 Normal 模板中，最后在内部命令中。

用 WW2CallingConvention 可使 Word 6.0a 或以后的版本在解决命名冲突时与 Word 2.x 方法相同。利用 WW2CallingConvention，宏就能在调用模板中已存在同名宏时用 Call 来调用活动模板中宏内的宏或子程序。如果要将值传至名称冲突的宏（否则就像上面描述的那样，可能要调用将 .Show 设为 3 的 ToolsMacro 语句），就必须包含 WW2CallingConvention。

注意：

WW2CallingConvention 语句附加于 Word 6.0a 或以后的版本。注意：要使用包含 WW2CallingConvention 的宏，必须有 Word 6.0 或以后的版本，以便宏能按预期效果运行。在包含 WW2CallingConvention 的宏中包含 CommandValiel() 检查可防止用户使用其 Word 版本中没有的新语句。详情请参阅 WW2CallingConvention.。


利用共用模板

如果正在将多个模板中的一组复杂的宏从 Word 2.x 转换至 Word 6.0 或以后的版本中，出于以理由，应考虑利用 Word 6.0 中的共用模板：

Word 2.x 中，一般习惯于将宏分配至一模板，该模板进行过用 MacroCopy 将部分或全部宏复制到用户的 Normal 模板中这样一个过程，所以在任何时候都能用那些宏。在 Word 6.0 或以后的版本中，只需分配包含所有宏的模板并通知用户用“文件”菜单中的“模板和加载项”对话框来将该模板装为共用模板。有了共用模板，就不必涉及用户的 Normal 模板。

如果分配多个 Word 2.x 模板，每个模板都有自己的一套宏，就可重组这些模板来利用共用模板。操作新文档（建于任何所给模板）的宏不需存于特定模板，更确切地说，它们会驻留在某个可信赖的共用模板中。将宏存于共用模板还可避免交叉模板命名冲突。

为了自动自定义用户的 Word 环境，从篡改 Word 2.x 模板到装入 Word 6.0 或以后版本中单个共用模板的变化需要对已有的成套 Word 2.x 模板进行某些重新编码和重组。然而，通过在 Word 6.0 或以后的版本中对转换后的 Word 2.x 模板给予长期稳定性，用于自定义 Word 的共用模板模型将使人获益。


各种“gotchas”

在将下列设定转换到 Word 6.0 时，要在 Word 2.x 宏中寻找它们。基于这些条件中的某种，Word 6.0 或以后版本中效果的变化可能导致宏不按预期效果运行或出现错误。

如果文档中最后一个段落标记与预定义书签“\Para”和“\Page”的其余部分相邻，这两个书签就不再选定该段落标记。例如：在 Word 2.x 中，如果插入点或选定部分位于最后一页，指定“\Page”的 EditGoto 指令会选定文档中的最后一个段落标记；Word 6.0 或以后的版本则将该段落标记排除。如果转换后的 Word 2.x 宏在这样的指令后继续按“段落标记是选定内容的组成部分”的设定运行，就需要修改该宏。

在 Word 2.x 中，如果宏用 FileSaveAs 将活动文档保存为非“Word 文档”的文件格式，Word 会保存该文件的新版本，但原活动文档仍是活动的；在 Word 6.0 或以后的版本中，Word 也保存该文件的新版本，不过会关闭原活动文档（如果此前曾保存过），并使外部格式的该文件的新版本成为活动文档。

如果转换后的宏设定：将文件存为外部格式之后进行的任何编辑操作对原“Word 文档”文件也有效，该宏就会出错，它实际将修改活动的外部格式文件的内容。如需继续修改该文件的“ Word 文档”版本，就要在 Word 6.0 或以后版本中修改 Word 2.x 的宏，以关闭外部格式文件并重新打开原“Word 文档”文件。

包含 OnTime 指令的宏在指定时间一到就将运行指定的宏，而不管 Word 是否为活动应用程序。在 Word 2.x 中，如果在 Word 不活动时指定时间过去了，那么一旦 Word 活动，它就会运行该宏。应该修改任何一个设定了“ Word 会在指定宏因 OnTime 而运行时成为活动应用程序”的Word 2.x 宏，以利用新假设或使用另一延时子程序。


命名变量，子程序和用户自定义函数
命名变量、子程序和用户定义的函数

如果变量、子程序和用户定义的函数的名称已成为 Word 6.0 或以后版本中留作专用的文字（比如语句或函数名），就需要修改。

如果存于另一宏中的子程序或用户定义的函数的名称与对应对话框的 Word Basic 语句的参数名相同，就不能调用。例如：如果名为“Library”的宏包含了名为“wrap”的子程序，就不能在同一模板中从另一宏调用该子程序。另一宏中的 Library.Wrap 指令将因 .Wrap 是 EditFinel 语句的参数而出现错误。

如果找到一个 Word 2.x 宏，它包含的子程序或用户定义函数的名称已成为专用文字，就应该修改该子程序或函数的名称以避免上述错误。


CountMergeFields() 示例

该示例在活动文档中插入合并域名列表：

For n = 1 To CountMergeFields()

Insert MergeFieldName$(n)

InsertPara

Next


CountMergeFields()

示例

CountMergeFields()

返回数据源的域名记录中或者附于主文档的域名源中的域数目。如果活动文档不是主文档、数据源或域名记录，CountMergeFields() 返回 0。

_____________

请参阅

邮件合并语句和函数

InsertMergeField

MergeFieldName$()


GetMergeField$() 示例

该示例显示用于当前数据记录的 FirstName 域的内容：

MsgBox GetMergeField$("FirstName")


GetMergeField$()

示例

GetMergeField$(FieldName$)

返回当前数据记录中指定合并域的内容。如果主文档不是活动文档，或 FieldName$ 不存在，GetMergeField$() 返回空字符串。

_____________

请参阅

邮件合并语句和函数

CountMergeFields()

MergeFieldName$()


InsertMergeField 示例

该示例插入 MERGEFIELD 域，该域在邮件合并过程中根据数据源中的城市名更新：

InsertMergeField .MergeField = "City"


InsertMergeField

示例

InsertMergeField .MergeField = text

插入 MERGEFIELD 域，Word在邮件合并过程中在每个合并文档中更新该域。如果活动文档不是主文档，就会出错。

参数	解释
.MergeField	合并域的名称，对应要插入的信息类型。域名出现在数据源的首记录或域名源（如果域名源附于主文档）中。
_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertAsk

MailMergeInsertFillIn

MailMergeInsertIf

MailMergeInsertMergeRec

MailMergeInsertMergeSeq

MailMergeInsertNext

MailMergeInsertNextIf

MailMergeInsertSet

MailMergeInsertSkipIf


MailMerge 示例

该示例将主文档与 50 至 100 的数据记录合并，并将合并文档发送至新文档：

MailMerge .CheckErrors = 2, .Destination = 0, .MergeRecords = 1, \

.From = 50, .To = 100, .MailMerge


MailMerge

示例

MailMerge [.CheckErrors = number] [, .Destination = number] [, .MergeRecords = number] [, .From = number] [, .To = number] [, .Suppression = number] [, .MailMerge] [, .MailSubject = text] [, .MailAsAttachment = number] [, .MailAddress = text]

设置邮件合并的选项，将主文档与指定数据记录合并，或者两者都做。如果活动文档不是主文档，就会出错。

参数	解释
.CheckErrors	指定 检查并报告邮件合并错误的方式： 0  模拟邮件合并，在新文档中报告错误。 1  完成邮件合并，每当出错都暂停并报告。 2  完成邮件合并，在新文档中报告错误。
.Destination	指定 发送合并文档的目的地： 0  新文档 1  打印机 2  电子邮件：通讯应用软件编程接口（AMPI）、客户独立通讯（VIM）、和 Apple 开放式协作环境（AOCE）。 3  传真
.MergeRecords	指定是否合并数据记录的子集： 0   合并全部数据记录。 1   合并 .From 和 .To 指定的数据记录范围。
.From	要合并的第一个数据记录的编号。
.To	要合并的最后一个数据记录的编号。
.Suppression	指定是否 将空合并域打印为空行： 0   不打印空行。 1   打印空行。
.MailMerge	执行邮件合并（如果 只想设选项，可忽略 .Mailmerge）。
.MailSubject	目标是电子邮件时指定主题文字。
.MailAsAttachment	如果为  1，且目标是电子邮件或者传真，将合并文档传送为附件。
.MailAddress	如果目标是电子邮件或者 传真，指定包含电子邮件地址或传真号的合并域名称。
_____________

请参阅

邮件合并语句和函数

MailMergeCheck

MailMergeQueryOptions

MailMergeToDoc

MailMergeToPrinter


MailMergeCheck

MailMergeCheck .CheckErrors = number

检查并报告发现的错误。查找错误时可以执行或者不执行邮件合并。

参数	解释
.CheckErrors	指定在检查错误时是否要执行邮件合并： 0  模拟邮件合并，在新文栏中报告错误。 1  执行邮件合并，每次出错误都暂停并报告。 2  执行邮件合并，在新文档中报告错误。
_____________

请参阅

邮件合并语句和函数

MailMerge


MailMergeDataForm

MailMergeDataForm

显示用于键入新数据记录的“数据表单”对话框。可在主文档、数据源，或包含按表格单元格或分隔符分界的数据的任何文档中使用 MaieMergeDateForm。

_____________

请参阅

邮件合并语句和函数

MailMergeEditDataSource


MailMergeEditHeaderSource

MailMergeEditHeaderSource

打开附于活动主文档的域名源，或在域名源已打开时将其激活。如果活动文档不是主文档或未附域名源，就会出错。

_____________

请参阅

邮件合并语句和函数

MailMergeCreateHeaderSource

MailMergeEditDataSource

MailMergeOpenHeaderSource


MailMergeEditMainDocument

MailMergeEditMainDocument

激活与活动域名源或数据源相关的的邮件合并主文档。如果没有与活动域名或数据源相关的主文档或主文档未打开，就会出错。

_____________

请参阅

邮件合并语句和函数

MailMergeEditDataSource


MailMergeFindRecord 示例

该示例为其中的姓是“Perez”的第一个数据记录显示合并文档。如果发现了数据记录，该记录的编号保存在 numRecord 变量中。

MailMergeFindRecord .Find = "Perez", .Field = "LastName"

If MailMergeFoundRecord() Then

numRecord = MailMergeGotoRecord()

End If


MailMergeFindRecord

示例

MailMergeFindRecord .Find = text, .Field = text

如果主文档是活动的并能看到合并数据，则为第一个所给域中包含指定文字的数据记录显示合并文档。如果数据源是活动的并且是 Word 文档，MailMergeFindRecord 选定符合指定标准的首行。可以在主文档、数据源，或包含按表格单元格或分隔符分界的数据的任何文档中使用 MailMergeFindRecord。

参数	解释
.Find	要在指定域中查找的文字。
.Field	限定对指定域名的搜索。
_____________

请参阅

邮件合并语句和函数

MailMergeFirstRecord

MailMergeFoundRecord()

MailMergeGotoRecord

MailMergeLastRecord

MailMergeNextRecord

MailMergePrevRecord

MailMergeViewData


MailMergeFirstRecord

MailMergeFirstRecord

如果能在主文档中看到合并数据，为查询结果（或无有效查询选效时的数据源）中的第一项数据记录显示合并文档。该语句仅在主文档活动时有效。

_____________

请参阅

邮件合并语句和函数

MailMergeFindRecord

MailMergeGotoRecord

MailMergeLastRecord

MailMergeNextRecord

MailMergePrevRecord

MailMergeViewData


MailMergeFoundRecord()

MailMergeFoundRecord()

返回值，指示最近的 MailMergeFindRecord 操作是否成功：

值	解释
-1	查找操作成功。
0	查找操作失败。
示例请参阅 MailMergeFindRecord 示例。

_____________

请参阅

邮件合并语句和函数

MailMergeFindRecord


MailMergeGotoRecord, MailMergeGotoRecord()

MailMergeGotoRecord RecordNumber

MailMergeGotoRecord()

如果在主文档中能看到合并数据，MailMergeGotoRecord 语句为对应 RecordNumber 的数据记录显示合并文档。注意：RecordNumber 是当前查询选项生成的查询结果中该记录的位置，因而不一定就是该记录在数据源中的位置。

MailMerge GotoRecord() 函数返回当前显示的数据记录的编号。如果活动文档不是主文档，语句和函数都会出错。使用 MailMergeGotoRecord 的示例请参阅 MailMergeFindRecord 示例。

_____________

请参阅

邮件合并语句和函数

MailMergeFindRecord

MailMergeFirstRecord

MailMergeLastRecord

MailMergeNextRecord

MailMergePrevRecord

MailMergeViewData


MailMergeHelper 示例

该示例显示“邮件合并帮助器”对话框。

Dim dlg As MailMergeHelper

GetCurValues dlg

x = Dialog(dlg)


MailMergeHelper

示例

MailMergeHelper

用 Dialog 或者 Dialog() 指令来显示“工具”菜单中“邮件合并”命令的“邮件合并帮助器”对话框，用它可设立主文档、创建并编辑数据源、完成邮件合并。

_____________

请参阅

邮件合并语句和函数

MailMerge


MailMergeInsertAsk

MailMergeInsertAsk .Name = text [, .Prompt = text] [, .DefaultBookmarkText = text] [, .AskOnce = number]

在插入点将 ASK 域插入主文档。更新时，ASK 域显示对话框来提示要指定到指定书签的文字。

参数	解释
.Name	要将键入对话框的文字指定到的书签的名称。
.Prompt	对话框中出现的提示（例如：“您的姓名缩写：”）。
.DefaultBookmarkText	指定到书签的默认文字。
.AskOnce	如果是1，Word 在合并开始时 显示一次提示；而不是每个数据记录都显示一次。
_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertFillIn

MailMergeInsertSet


MailMergeInsertFillIn

MailMergeInsertFillIn [.Prompt = text] [, .DefaultFillInText = text] [, .AskOnce = number]

在插入点将 FILLLN 域插入主文档。更新时， FILLLN 域显示对话框，提示要在文档中该域位置插入的文字。

参数	解释
.Prompt	在对话框出现的提示（例如：“您的姓名缩写：”）。
.DefaultFillInText	要插 至域位置的文字。
.AskOnce	如果是1，Word 在合并开始时显示 一次提示，而不是每个数据记录都显示一次。
_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertAsk

MailMergeInsertSet


MailMergeInsertIf

MailMergeInsertIf .MergeField = text, .Comparison = number [, .CompareTo = text] [, .TrueAutoText = text] [, .TrueText = text] [, .FalseAutoText = text] [, .FalseText = text]

在插入点将 IF 域插入主文档。更新时， IF 域比较数据记录中的域和指定值，然后根据比较结果插入适当文字。

参数	解释
.MergeField	要与由  .Compare To 指定的文字比较的合并域的名称。
.Comparison	指定比较操作 符： 0          = （等于） 1         〈〉（不等于） 2           〈 （小于） 3            〉（大于） 4        〈=  （小于等于） 5         =“”（空白） 7         〈〉“”（非空）
.CompareTo	与合并域作比较的文 字，除非 .Comparison 设为 6 （为空）或 7（非空），否则该参数是必要的。
.TrueAutoText	比较结果为真（忽略 .TrueText）时，包含待插入文字的“自动图文集”词条。
.TrueText	比较结果为真时，要 插入的文字。
.FalseAutoText	比较结果为假（忽略 .FalseText）时，包含待插入文字的“自动图文集”词条。
.FalseText	比较结果为假时 ，要插入的文字。
_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertNext

MailMergeInsertNextIf

MailMergeInsertSkipIf


MailMergeInsertMergeRec

MailMergeInsertMergeRec

在插入点将 MERGEREC 域插入主文档。在邮件合并过程中，MERGEREC 域插入当前数据记录的编号（当前查询结果中数据记录的位置）。

_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertMergeSeq


MailMergeInsertMergeSeq

MailMergeInsertMergeSeq

在插入点将插入 MERGESEQ 域主文档。MERGESEQ 域插入基于数据记录合并顺序的编号（例如：合并 50 到 100 的记录时，合并记录编号为 50 就插入 1）。

_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertMergeRec


MailMergeInsertNext

MailMergeInsertNext

在插入点将 NEXT 域插入主文档。NEXT 域提前至下一数据记录，以便来自多个记录的数据能合并至同一合并文档（例如：整张邮件标签）。

_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertNextIf


MailMergeInsertNextIf

MailMergeInsertNextIf .MergeField = text, .Comparison = number, .CompareTo = text

在插入点将 NEXTIF 域插入主文档。如果 NEXTIF 域中的比较结果为真，Word 将下一数据记录合并至当前合并文档中 NEXTIF 域后面的那些合并域。否则，Word 将下一数据记录合并至新合并文档。通常，指定查询选项比用 NEXTIF 域更好。参数说明请参阅 MailMergeInsertIf。

_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertIf

MailMergeInsertNext

MailMergeInsertSkipIf


MailMergeInsertSet

MailMergeInsertSet .Name = text [, .ValueText = text] [, .ValueAutoText = text]

在插入点将 SET 域插入主文档。 SET 域定义指定书签的文字。

参数	解释
.Name	待定义书签的名称。
.ValueText	书签要指定到的文字。
.ValueAutoText	书签要指定至其文字的“自动图文集”词条（忽略.ValueText）。
_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertAsk

MailMergeInsertFillIn


MailMergeInsertSkipIf

MailMergeInsertSkipIf .MergeField = text , .Comparison = number [, .CompareTo = text]

在插入点将 SKIPLF 域插入主文档。如果 SKIPLF 域中的比较结果为真，Word 取消当前合并文档并跳至下一数据记录。通常，指定查询选项比用 SKIPLF 域更好。参数说明请参阅 MailMergeInsertIf。

_____________

请参阅

邮件合并语句和函数

InsertField

MailMergeInsertIf

MailMergeInsertNext

MailMergeInsertNextIf


MailMergeLastRecord

MailMergeLastRecord

如果能在主文档中看到合并数据，为当前查询结果（或无有效查询选项时数据源中）中的最后一个数据记录显示合并文档。该语句仅在主文档活动时有效。

_____________

请参阅

邮件合并语句和函数

MailMergeFindRecord

MailMergeFirstRecord

MailMergeGotoRecord

MailMergeNextRecord

MailMergePrevRecord

MailMergeViewData


MailMergeMainDocumentType, MailMergeMainDocumentType()

MailMergeMainDocumentType Type

MailMergeMainDocumentType()

MailMergeMainDocumentType 语句使活动窗口成为主文档。注意：如果活动文档已经是主文档，如果有附加数据源，Word 会将其删除。

参数	解释
Type	将用主文档创建的合并文档的类型： 0 或忽略  套用信函 1         邮件标签 2         信    封  3         分类文档
MailMergeNextRecord 函数在活动文档是主文档时返回某个 Type 值，或在活动文档是普通 Word 文档时返回 -1。

_____________

请参阅

邮件合并语句和函数

MailMergeCreateDataSource

MailMergeOpenDataSource

MailMergeReset


MailMergeNextRecord

MailMergeNextRecord

如果能在主文档中看到合并数据，为当前应答（或无有效查询选项时的数据源）中的下一记录显示合并文档。该语句仅在主文档活动时有效。

_____________

请参阅

邮件合并语句和函数

MailMergeFindRecord

MailMergeFirstRecord

MailMergeGotoRecord

MailMergeLastRecord

MailMergePrevRecord

MailMergeViewData


MailMergeOpenHeaderSource

MailMergeOpenHeaderSource .Name = text [, .ConfirmConversions = number] [, .ReadOnly = number] [, .AddToMru = number] [, .PasswordDoc = text] [, .PasswordDot = text] [, .Revert = number] [, .WritePasswordDoc = text] [, .WritePasswordDot = text]

将指定域名源附于活动文档，活动文档还不是主文档时成为主文档。域名源中的域名记录用于代替数据源中的域名记录。参数说明请参阅 FileOpen.。

_____________

请参阅

邮件合并语句和函数

MailMergeCreateHeaderSource

MailMergeEditHeaderSource

MailMergeOpenDataSource


MailMergePrevRecord

MailMergePrevRecord

如果能在主文档中看到合并数据，为查询结果（或无有效查询选项时的数据源）中的前一记录显示合并文档。该语句仅在主文档活动时有效。

_____________

请参阅

邮件合并语句和函数

MailMergeFindRecord

MailMergeFirstRecord

MailMergeGotoRecord

MailMergeLastRecord

MailMergeNextRecord


MailMergeReset

MailMergeReset

将主文档的数据和域名源拆开并将主文档重设为普通 Word 文档。如果活动文档不是主文档，就会出错。

_____________

请参阅

邮件合并语句和函数

MailMergeMainDocumentType


MailMergeState() 示例

该示例在执行邮件合并前检查活动文档的状态。如果活动文档不是主文档，Word 会显示消息框。如果文档是主文档，但未附数据源，则附加数据源。在其它情况下，邮件合并都会立即开始。

Select Case MailMergeState(0)

Case 0

MsgBox "Not a mail merge main document."

quitmacro = 1

Case 1, 3

MailMergeOpenDataSource .Name = "C:\DATA\DATA.DOC"

Case Else

End Select

If quitmacro = 1 Then Goto bye

MailMergeToPrinter

bye:


MailMergeState()

示例

MailMergeState(Type)

返回关于邮件合并设置的四种不同信息类型中的一种。如果活动文档不是主文档、数据源或域名源，Type 1、Type 2 和 Type 3 就返回 -1。

类型	值和说明
0	返回有关活动文档的信息：  0  普通 Word 文档。 1    未附数据源或域名源的主文 档。 2   附有数据源的主文档。 3   附有域名源的主文档。 4   附有数据源和域名源的主文档  。 5   数据源或域名源；相关主文档已打开。
1	返回主文档种类： 0  套用信函 1  邮件标签 2  信    封 3  分    类
2	返回有关所选邮件合并选项的信息： 0  禁止取消空白行和使用查询选项。 1  允许取消空白行。 2  允许查询选项。 3    允许取消空白行和查询选项。
3	返回邮件合并目标： 0    新 文 档 1   打  印 机 2   电子邮件 3    传    真
_____________

请参阅

邮件合并语句和函数

MailMergeMainDocumentType


MailMergeToDoc

MailMergeToDoc

将数据记录与主文档合并，并将合并后的文档送至新文档。如果最近一次邮件合并指定了待合并数据的范围，就只合并那些记录。

_____________

请参阅

邮件合并语句和函数

MailMerge

MailMergeToPrinter


MailMergeToPrinter

MailMergeToPrinter

将数据记录与主文档合并，并打印合并后的文档。如果最近一次邮件合并指定了待合并数据记录的范围，就只合并那些记录。

_____________

请参阅

邮件合并语句和函数

MailMerge

MailMergeToDoc


MailMergeViewData, MailMergeViewData()

MailMergeViewData [DisplayResults]

MailMergeViewData()

MailmergeViewData 语句控制主文档中合并域的显示。如果活动文档不是主文档，就会出错。

参数	解释
DisplayResults	指定是 用书名号（《》）显示合并域名称还是用当前数据记录的信息代替合并域。 0  合并域名称。 1  当前数据记录的信息。
MailMergeViewData() 函数在显示合并域名时返回 0，在显示当前数据记录的信息时返回 1。

_____________

请参阅

邮件合并语句和函数

MailMergeEditDataSource


MergeFieldName$() 示例

该示例定义一数组，该数组包含对主文档（该示例运行时，主文档必须是活动的）有效的域名：

numFields = CountMergeFields()

Dim mmFields$(numFields - 1)

For count = 1 To numFields

mmFields$(count - 1) = MergeFieldName$(count)

Next count


MergeFieldName$()

示例

MergeFieldName$(Count)

返回数据源或域名源中的域名。在建为 Word 表格的数据源中，域名作为列标题位于首行；在建为分界列表的数据源中，域名位于首段。如果在活动文档不是主文档时运行 MergeFieldName$()，就会出错。

参数	解释
Count	对应数据源或域名源中域名的编号，这里 1 是第一个域名，2 是第二个域名，依此类推。
_____________

请参阅

邮件合并语句和函数

CountMergeFields()

InsertMergeField


ToolsAddRecordDefault

ToolsAddRecordDefault

在数据源末尾添加空记录。例如：ToolsAddRecordDelault 将空行添至包含邮件合并数据的 Word 文档中的表格底部。ToolsAddRecordDelault 可用于能在邮件合并过程中用作数据源的任何文档。

_____________

请参阅

邮件合并语句和函数

MailMergeEditDataSource

ToolsRemoveRecordDefault


ToolsRemoveRecordDefault

ToolsRemoveRecordDefault

删除插入点所在数据记录——例如：删除插入点所在表格行。ToolsRemoveRecordDelault 可用于能在邮件合并过程中用作数据源的任何文档。

_____________

请参阅

邮件合并语句和函数

MailMergeEditDataSource

ToolsAddRecordDefault


AtEndOfDocument()

AtEndOfDocument()

如果插入点在文档尾，返回 -1；否则，返回 0。与 EndOfDocument() 函数不同，AtEndOfDocument() 不移动插入点。

_____________

请参阅

移动插入点及选定语句和函数

AtStartOfDocument()

EndOfDocument


AtStartOfDocument()

AtStartOfDocument()

如果插入点在文档首，返回 -1；否则，返回 0。与 StartOfDocument 函数不同，AtStartOfDocument 不移动插入点。

_____________

请参阅

移动插入点和选定语句和函数

AtEndOfDocument()

StartOfDocument


CharLeft示例

该示例将插入点向左移动五个字符。If 条件句判定是否有选定内容。如果有选定内容，CharLeft 1指令在将插入点左移五个字符之前，将选定范围改为选定内容左端的插入点。这将确保无论有没有选定内容插入点都将移动五个字符。

If SelType() = 2 Then

CharLeft 1

CharLeft 5

Else

CharLeft 5

End If

下例在选定当前段落后将选定内容缩进一个字符，以便只选定段落文字，而不选段落标记。在需要只复制段落文字而不要保存在段落标记中的段落格式时，就可以进行该操作。

EditGoTo "\Para"

CharLeft 1, 1


CharLeft, CharLeft()

示例

CharLeft [Count] [, Select]

CharLeft([Count] [, Select])

CharLeft 语句将插入点或选定内容的活动端（按 SHIFT+左箭头键时移动的那一端）向左移动指定数目的字符。

参数	解释
Count	要移过的字符数。如果小于 1 或忽略，则假定为 1。
Select	指定是否要选定文。 0 或忽略  不选定文字。如果已有选定内容，CharLeft 将插入点向选定内容左侧移动 Count-1 个字符。 非 0  选定文字。如果已有选定内容，CharLeft 将选定内容活动端移至文档首。在从左向右完成的典型选定内容中，活动端更接近文档尾，CharLeft 缩小选定范围。如果选定内容从右向左完成， CharLeft 扩展选定范围。
如果有选定内容，CharLeft 1将选定范围改为位于选定内容左端的插入点。

CharLeft() 函数与语句功能相同，并返回下列值。

值	解释
0	如果插入点或选定内容的活动端不能 左移。
-1	如果插入点或选定内容的活动端向左移动了任何字符数，甚至小于  Count。例如：即使插入点距文档首只有三个字符，CharLeft(10)  也返回 -1 。
_____________

请参阅

移动插入点和选定语句和函数

CharRight

SentLeft

SentRight

WordLeft

WordRight


CharRight 示例

该示例将插入点移至当前句首，然后向右选定五个字符。

SentLeft

CharRight 5, 1

下例先将选定内容向右扩展五个字符，再复制选定内容，然后将插入点向选定内容右方移动 5 个字符。注意 CharRight 6 用于向选定内容右方移动五个字符。该指令等同于 CharRight 1 加 CharRight 5 ，其中 CharRight 1 将插入点移到选定内容的右端末尾，CharRight 5 再移动五个字符。

CharRight 5, 1

EditCopy

CharRight 6


CharRight, CharRight()

示例

CharRight [Count] [, Select]

CharRight([Count] [, Select])

CharRight 语句将插入点或选定内容的活动端（按 SHIFT+右箭头键时移动的一端）向右移动指定数目的字符。

参数	解释
Count	移动的字符数。如果小于 1 或忽略， 就假设为 1。
Select	指定是否选定文字。 0 或忽略 不选定文字。如果已有选定内容，CharRight 将插入点向选定内容右方移动 Count-1 个字符。 非 0  选定文字。如果已有选定内容，CharRight 向文档尾移动选定内容的活动端。 在从左向右完成的典型选定内容中，活动端更接近文档尾，CharRight 扩展选定范围。如 果选定内容从右向左完成，则 CharRight 缩小选定范围。
如果有选定内容， CharRight 1 改变选定内容到位于原选内容右端的插入点。

CharRight() 函数与语句功能相同，并返回下列值。

值	解释
0	如果插入点或选定内容活动端不能向右移动。
-1	如果插入点或选定内容活动端向右移动任何个字符，甚至小于  Count。例如：即使插入点距文档 尾只有三个字符， CharRight(10) 也返回 -1。
_____________

请参阅

移动插入点和选定语句和函数

CharLeft

SentLeft

SentRight

WordLeft

WordRight


ColumnSelect 示例

该示例在列表的当前行和接下来的两行中选定数字和制表字符，如下图所示。

StartOfLine

ColumnSelect

WordRight 2

LineDown 2


ColumnSelect

示例

ColumnSelect

打开列选定模式来选定一列文字，例如选定两行或多行文字中位于同一制表位上的数字。Cancel 语句或作用于选择的其它命令都会使该模式终止。ColumnSelect 不选定 WORD 表格中的列；可用 TableSelectColumn 实现此目的。

_____________

请参阅

移动插入点和选定语句和函数

Cancel

ExtendSelection


EditSelectAll

EditSelectAll

选定整个文档。

_____________

请参阅

移动插入点和选定语句和函数


EndOfColumn 示例

该示例将插入点从表格中的任何位置，移至最后一行的最后一个单元格的开始位置。

EndOfRow

EndOfColumn


EndOfColumn, EndofColumn()

示例

EndOfColumn [Select]

EndOfColumn ([Select])

EndOfColumn 语句将插入点或扩展选定内容（如果 Select 不为零），移到插入点或选定内容所在表格的列的底端。如果选定内容多于一列，则插入点移至或选定内容扩展到选定内容最右列的底端。如果插入点或选定内容不在表格中，就会出错。

注释

如果表格的最后一行没有对应于包含当前选定内容的表格单元格（例如：已经删除或合并了最后一行的单元格），则 EndOfColumn 将插入点或扩展选定内容移到表格最后一行的底端。

EndOfColumn() 函数与语句功能相同，并返回下列某值。

值	解释
0	如果插入点未曾移动或选定内容曾扩展（即如果它已在表格列的底端）。
-1	如果插入点已移动或选定内容被扩展。
_____________

请参阅

移动插入点和选定语句和函数

EndOfRow

StartOfColumn


EndOfDocument, EndOfDocument()

EndOfDocument [Select]

EndOfDocument([Select])

EndOfDocument 语句将插入点移到文档尾，或者，如果选定不为零，将选定内容活动端（按 CTRL+SHIFT+END 后移动的那端）移至文档尾。

EndOfDocument() 函数与语句功能相同，并返回下列某值。

值	解释
0	如果插入点或选定内容活动端未曾移动（例如 ：如果它已经在文档尾）。
-1	如果插入点或选定内容活动端被移动。
_____________

请参阅

移动插入点和选定语句和函数

AtEndOfDocument()

StartOfDocument


EndOfLine 示例

该示例选定当前行和段落标记（如果行尾有的话）。 EditGoTo "\Line" 指令的效果与此相同。

StartOfLine

EndOfLine 1

下例选定当前行但不选定段落标记（如果在行尾有的话）。

EndOfLine

StartOfLine 1


EndOfLine, EndOfLine()

示例

EndOfLine [Select]

EndOfLine ([Select])

EndOfLine 语句将插入点移到当前行的行尾，或者，如果选定不为零，将选定内容活动端（按 SHIFT+END 后移动的那端）移到当前行的行尾或包含选定内容活动端的那一行的行尾。如果行尾有段落标记，则 EndOfLine 将插入点放在段落标记的左边；而 EndOfLine 1 将选定内容活动端移过段落标记。

EndOfLine() 函数与语句功能相同，并返回下列某值。

值	解释
0	如果插入点或选定内容活动端移动（即如果它已在行尾）。
-1	如果插入点或选定内容活动端被移动。
不要只用 EndOfLine 定位到段落结尾，除非确信该段只有一行（例如：单词列表中的一个单词）。否则，请代之以下列指令。

ParaDown	'Go to start of next paragraph

CharLeft	'Go back one character

_____________

请参阅

移动插入点和选定语句和函数

EndOfRow

ParaDown

StartOfLine


EndOfRow 示例

该示例删除选定的单元格或插入点所在单元格，以及右边的所有单元格。

EndOfRow 1

TableDeleteCells


EndOfRow, EndOfRow()

示例

EndOfRow [Select]

EndOfRow ([Select])

EndOfRow 语句将插入点或者扩展选定内容（如果选定不为零），移到插入点或选定内容所在表格行的最后一个单元格。如果扩展选定内容时移动超过一行，则移动插入点或扩展选定内容扩展到选定内容最后一行的最后一个单元格。如果插入点或选定内容不在表格中，就会出错。

EndOfRow() 函数与语句功能相同，并返回下列某值。

值	解释
0	如果插入点未移动或选定内容未扩展（即，如果它已经在行尾）。
-1	如果插入点被移动或选定内容被扩展。
_____________

请参阅

移动插入点和选定语句和函数

EndOfColumn

EndOfLine

StartOfRow


EndOfWindow, EndOfWindow()

EndOfWindow [Select]

EndOfWindow([Select])

EndOfWindow 语句将插入点，或者如果 Select 不为零的话，将将选定内容活动端（按 CTRL+SHIFT+PAGE DOWN 后移动的那端）移至当前文档窗口中所见内容的右下角。

EndOfWindow() 函数与语句功能相同，并返回下列某值。

值	解释
0
-1	如入点或选定内容活动端被移动。
示例请参阅 StartOfWindow 示例。

_____________

请参阅

移动插入点和选定语句和函数

EndOfDocument

StartOfWindow


ExtendSelection 示例

该示例选定从插入点到“MyMark”书签（包括该书签）之间的所有文字。

ExtendSelection

EditGoTo "MyMark"

Cancel


ExtendSelection

示例

ExtendSelection [Character$]

选择下列某一操作：

 如果扩展模式关闭，则激活扩展模式（在扩展模式中，正常移动插入点的操作会移动选定内容的活动端）。

 如果扩展模式已打开，则扩展选定内容到下一文字单元（按下列顺序进行：单词、句子、段落、节、整个文档）。

 如果指定了 Character$，则将选定内容从插入点或选定内容固定端（按 SHIFT+ 箭头键时不移动的选定内容端）扩展到指定字符下一次出现的位置，而不改变扩展模式。

可配合使用 EditGoTo、EditFind 和 ExtendSelection，将选定内容扩展到指定位置或一块文字。使用 Cancel 语句取消选定扩展模式。

_____________

请参阅

移动插入点和选定语句和函数

Cancel

ColumnSelect

ExtendMode()

ShrinkSelection


GetSelEndPos() 示例

如果没有选定内容，则该宏显示信息框。用户定义函数 checksel 比较选定内容开始和结束处的字符位置。如果位置相同，表明没有选定内容，则函数返回 0，并显示信息框。

Sub MAIN

If checksel = 0 Then MsgBox "There is no selection."

End Sub

Function checksel

If GetSelStartPos() = GetSelEndPos() Then

checksel = 0

Else

checksel = 1

End If

End Function


GetSelEndPos()

示例

GetSelEndPos()

返回选定内容结尾相对于文档首的字符位置。文档首的字符位置为 0。选定内容结尾定义为距文档首最远的那端。包括显示非打印字符的所有字符都计算在内。隐藏字符即使没有显示出来也计算在内。

_____________

请参阅

移动插入点和选定语句和函数

GetSelStartPos()

GetText$()

SetSelRange


GetSelStartPos()

GetSelStartPos()

返回选定内容开始相对于文档首的字符位置。文档首的字符位置为 0。选定内容开始定义为距文档首最近的那端。包括显示非打印字符的所有字符都计算在内。隐藏字符即使没有显示出来也计算在内。

示例请参阅 GetSelEndPos() 示例。。

_____________

请参阅

移动插入点和选定语句和函数

GetSelEndPos()

GetText$()

SetSelRange


GetText$() 示例

该示例设置变量 a$ 为文档的前 10 个字符。

a$ = GetText$(0, 10)


GetText$()

示例

GetText$(CharPos1, CharPos2)

返回从 CharPos1 到 CharPos2 的无格式文字。注意：尽管 WORD 在决定返回文字的范围时将隐藏文字计算在内，GetText$() 也不返回不显示的隐藏文字，虽然 GetText$() 在需要返回文档文字而不改变选定内容时比较方便，但指定范围内的域、表格和分页符等特殊文档元素可能会产生不可预计的结果。

参数	解释
CharPos1	定义相对于文档 首（其字符位置为 0）的字符位置.。
CharPos2	定义范围结束的字符位置。
_____________

请参阅

移动插入点和选定语句和函数

GetSelEndPos()

GetSelStartPos()

SetSelRange


GoBack 示例

象下面这样的 AutoExec 宏，在每次启动 WORD 时都运行一次。如果在“文件”菜单底端列出了至少一个文档，该宏就打开文档，并将插入点移至最近的编辑位置。

Sub MAIN

If FileName$(1) <> "" Then

FileList 1

GoBack

End If

End Sub


GoBack

示例

GoBack

在最近的四个编辑位置之间移动插入点（与按 SHIFT+F5 作用相同）。

_____________

请参阅

移动插入点和选定语句和函数

EditGoTo


GoToHeaderFooter

GoToHeaderFooter

将插入点从页眉移至页脚，或者相反。如果插入点不在页眉或页脚，会出错。

_____________

请参阅

移动插入点和选定语句和函数

CloseViewHeaderFooter

ShowNextHeaderFooter

ShowPrevHeaderFooter

ViewFooter

ViewHeader


GoToNextItem

GoToNextItem

将插入点移至 Item 所指定的下一个项目。

参数	解释
Item	要定位的项目。下面是有效语句： GoToNextAnnotation GoToNextEndnote GoToNextFootnote GoToNextPage GoToNextSection GoToNextSubdocument
_____________

请参阅

移动插入点和选定语句和函数

EditGoTo

GoToHeaderFooter

GoToPreviousItem


GoToPreviousItem

GoToPreviousItem

将插入点移至 Item 所指定的上一个项目。

参数	解释
Item	要定位的项目。下面是有效语句： GoToPreviousAnnotation GoToPreviousEndnote GoToPreviousFootnote GoToPreviousPage GoToPreviousSection GoToPreviousSubdocument
_____________

请参阅

移动插入点和选定语句和函数

EditGoTo

GoBack

GoToNextItem


HLine

HLine [Count]

水平滚动活动文档。一“行”对应于在水平滚动条的滚动箭头上单击一次。

参数	解释
计数	要滚动的数量， 按行计算： 忽略  向右滚动一行。  〉0  向右滚动指定行数。 〈 0  向左滚动指定行数；如果在页边距上有文字，则仅滚入左页边距。
_____________

请参阅

移动插入点和选定语句和函数

HPage

HScroll

VLine


HPage

HPage [Count]

水平滚动活动文档。HPage 对应于单击滚动框中左边或右边的水平滚动条。

参数	解释
计数	忽略  向右滚动一个窗口宽度。 〉 0 向右滚动指定的窗口宽度数。 〈 0 向左滚动指定的窗口宽度数。
_____________

请参阅

移动插入点和选定语句和函数

HLine

HScroll

VPage


HScroll, HScroll()

HScroll Percentage

HScroll()

HScroll 语句按文档的窗口宽度水平滚至指定的百分比位置。HScroll 相当于拖动水平滚动条的滚动块。

HScroll() 不返回负值；如果文档滚入左页边距，则 HScroll() 返回 0。

_____________

请参阅

移动插入点和选定语句和函数

HLine

HPage

VScroll


Insert 示例

该示例在插入点插入文字“ Hamlet ”（不带引号）。

Insert "Hamlet"

下例在插入点插入带引号的文字“ Hamlet ”。

Insert Chr$(34) + "Hamlet" + Chr$(34)

该示例在插入点插入文字“ GroupA:35 ”。为了创建字符串的数字部分，使用 Str$() 将数字变量转换为字符串，LTrim$() 删除 Str$() 自动添加的前导空格。

num = 35

num$ = LTrim$(Str$(num))

Insert "GroupA:" + num$


Insert

示例

Insert Text$

在插入点插入指定文字。可用带 Insert 的 Chr$() 函数来插入引号、制表符、不可分连字符和换行符这样的字符。也可用 Str$() 函数先将数字转换为文字然后再插入。

_____________

请参阅

移动插入点和选定语句和函数

Chr$()

InsertPara

LTrim$()

Str$()


LineDown 示例

该示例将插入点向下移动五行。

LineDown 5

下例用 LineDown() 来计算文档中的行数。

StartOfDocument

lines = 1

While LineDown()

lines = lines + 1

Wend

MsgBox "There are" + Str$(lines) + " lines in the document."


LineDown, LineDown()

示例

下例用 LineDown() 来计算文档中的行数。

LineDown 语句将插入点或选定内容活动端（按 SHIFT+下箭头键时移动的那端）向下移动指定的行数。

参数	解释
count	要向下移动的行数；如果忽略，则假定为 1。负值则向上移动插入点或选定内容活动端。
select	指定是否选定文字： 0 或忽略  不选定文字。如果已有选定内容，则 LineDown 将插入点移到选定内容下方指定行数。 非 0      选定文字。如果已有选定文字，则 LineDown 将选定内容活动端向文档尾移动。在从左向右的典型选定模式中，选定内容活动端更靠近文档尾，故 LineDown 扩展选定内容。在从右向左形成的选定内容中，它压缩选定内容。
LineDown() 函数与语句功能相同，并返回下列值。

值	解释
0	如果插入点或选定内容活动端不能向下移动。
-1	如果插入点或选定内容活动端移动了若干行，即使小于  Count 指定的行数。例如：即使插入点仅位于文档尾三行之上， LineDown(10) 也返回 -1 。
_____________

请参阅

移动插入点和选定语句和函数

LineUp

ParaDown

ParaUp


LineUp 示例

该示例将插入点向上移动 20 行。

LineUp 20

下例显示信息框，如果插入点在文档首行的话。

If LineUp() = 0 Then MsgBox "No lines above here."


LineUp, LineUp()

示例

LineUp [Count] [, Select]

LineUp([Count] [, Select])

LineUp 语句将插入点或选定内容活动端（按下 SHIFT+上箭头键时移动的那端）向上移动指定的行数。

参数	解释
Count	要向上移动的行数；如果忽略，则假定为 1 。负值则向向下移动插入点或选定内容活动端。
Select	指定是否选定文字： 0 或忽略  不选定文字。如果已有选定内容，则 LineDown 将插入点移到选定内容下方指定行数。 非 0  选定文字。如果已有选定文字，则 LineDown 将选定内容活动端向文档尾移动。在从左向右的典型选定模式中，选定内容活动端更靠近文档尾，故LineDown 扩展选定内容。在从右向左形成的选定内容中，它压缩选定内容。
LineDown() 函数与语句功能相同，并返回下列值。

值	解释
0	如果插入点或选定内容活动端不能向下移动。
-1	如果插入点或选定内容活动端移动了若干行，即使小于  Count 指定的行数。例如：即使插入点仅位于文档尾三行之上， LineDown(10) 也返回 -1 。
_____________

请参阅

移动插入点和选定语句和函数

LineDown

ParaDown

ParaUp


NextCell 示例

该示例将选定内容移到下一单元格，然后用 SelType() 判断该单元格是否为空。如果 SelType() 返回 1（插入点的值，表明单元格为空），此时会出现信息框。

NextCell

If SelType() = 1 Then MsgBox "Empty cell!"

下例用 NextCell() 函数判断插入点是否在最后一个单元格。如果当前单元格是最后一个，则选定整个表格。如果当前单元格不是最后一个，就选定下一个单元格。

If NextCell() = 0 Then TableSelectTable


NextCell, NextCell()

示例

NextCell

NextCell()

NextCell 语句选定下一个表格单元格的内容（作用与在表格中按下 TAB 相同）。如果选定内容多于一个单元格，则 NextCell 选定的是选定内容中第一个单元格的内容。如果插入点或选定内容在表格的最后一个单元格中，NextCell 会添加新行。

NextCell() 与语句功能相同，但插入点或选定内容完全在最后一个单元格内时除外，此时返回 0 而不扩大选定内容，而语句增加一个新行。

注释

可用 EditGoTo .Destination = "\Cell" 来选定当前单元格的内容。预定义书签“\Cell”和许多其它书签将自动得到设置和更新。预定义书签的内容请参阅预定义书签。

_____________

请参阅

移动插入点和选定语句和函数

PrevCell


NextField 示例

该示例统计文档中域的数量（不包括 XE、TA、TC 和 RD 域），并将结果显示在信息框中。注意： While...Wend 循环不包括 NextField 语句，因为 While NextField() 指令也移动选定内容。

StartOfDocument

count = 0

While NextField()

count = count + 1

Wend

MsgBox "Number of fields in the document:" + Str$(Count)


NextField, NextField()

示例

NextField

NextField()

NextField 语句选定下一个域，不管该域是以其代码还是结果显示。NextField 跳过下列格式编排为隐藏文字的域。XE（索引项）、TA（引文目录项）、TC（目录项）和 RD（引用文档）。

NextField() 函数与语句功能相同，并返回下列值。

值	解释
0	如果没有下一个域（也就是说，如果选定内容没有被移动）。
1	如果选定内容被移动。
域代码显示时，可用 EditFind 定位到任何类型的下一个域，包括 XE、TA、TC 和 RD 域，前提是隐藏内容被显示。指定“^d”（域字符的代码）作为“查找”参数的文字，见下面指令所示。.Find 参数的文字，如下列指令所示。

ViewFieldCodes 1

EditFind .Find = "^d", .Direction = 0, .Format = 0

若只查找 XE 域，请指定“^dXE”作为要查找的文字。

_____________

请参阅

移动插入点和选定语句和函数

PrevField


NextPage 示例

该示例向前滚动一页，将插入点定位在文档窗口的顶端。如果文档已滚至最大限度，则显示信息框。

ViewPage

If NextPage() = 0 Then

MsgBox "Can't scroll!"

Else

StartOfWindow

End If


NextPage, NextPage()

示例

NextPage

NextPage()

NextPage 语句在页面果想在滚动之视图上向前滚动一页，而不移动插入点（与在页面视图中单击垂直滚动条的“向前一页”按键作用相同）。如后移动插入点，可在宏中 NextPage 语句后加入 StartOfWindow 语句。

NextPage 从页面当前位置滚至下一页的同样相对位置。不管显示的是当前页的哪一部分，要滚至下一页的开始，可用 EditGoTo .Destination = "p" 指令代替 NextPage 。不过请注意：EditGoTo 也移动插入点。

NextPage() 函数与语句功能相同，并返回下列值。

值	解释
0	如果没有下一页（也就是说，文档不滚动）。
1	如果文档滚动。
注释：

NextPage 和 NextPage() 只可用于页面视图，如果在其他视图中运行，就会产生错误。

_____________

请参阅

移动插入点和选定语句和函数

EditGoTo

PageDown

PrevPage

ViewPage

VPage


PageDown 示例

该示例将选定内容从插入点向下扩展两屏。

PageDown 2, 1

下例统计插入点与文档尾之间的屏数。PageDown() 函数用于检测何时到达文档尾。

PageDown, PageDown（）n = 0

While PageDown()

n = n + 1

Wend

MsgBox "Number of screens:" + Str$(n)


PageDown, PageDown()

示例

PageDown [Count] [, Select]

PageDown([Count] [, Select])

PageDown 语句将插入点或选定内容活动端（按 SHIFT+PAGE DOWN 键时移动的那一端）向下移动指定的屏数，其中一屏等于活动窗口的高度。如果在插入点或选定内容与文档尾之间不足一屏，则 PageDown 将插入点或选定内容活动端移到文档尾。

参数	解释
Count	要滚动的屏数；如果忽略，则假定为 1 。负值将插入点或选定内容活动端向上移动。
Select	指定是否选定文字： 0 或忽略  不选定文字。如果已有选定内容，PageDown 将插入点向选定内容下面移动 Count -1 屏。 非 0  选定文字。如果已有选定内容，则 PageDown 将选定内容活动端向文档尾移动。 在从左向右形成的典型选定内容中，选定内容更靠近文档尾，PageDown 扩展选定内容。在从右向左形成的选定内容中，它压缩选定内容。
PageDown() 函数与语句功能相同，并返回下列值。

值	解释
0	如果插入点或选定内容活动端不能向下移动。
-1	如果插入点或选定内容活动端往下移动了若干屏，即使小于  Count。例如：即使插入点距文档 尾仅一屏， PageDown(2) 也返回  -1。
_____________

请参阅

移动插入点和选定语句和函数

EditGoTo

HPage

HScroll

NextPage

PageUp

VPage

VScroll


PrevField 示例

该宏统计插入点之上域（不包括 XE、TA、TC 和 RD 域）的数目，并将结果显示在信息框中。

Sub MAIN

count = 0

While PrevField()

count = count + 1

Wend

MsgBox "Fields above the insertion point:" + Str$(count)

End Sub


PrevField, PrevField()

示例

PrevField

PrevField()

语句选定前一个域，不管该域是以代码还是以结果显示。PrevField 跳过下列格式编排为隐藏文字的域。XE（索引项）、TA（引文目录项）、TC（目录项）和 RD（引用文档）。

PrevField() 函数与语句功能相同，并返回下列值。

值	解释
0	如果没有前一个域（也就是说，如果选定内容没移动）。
1	如果选定内容被移动。
域代码显示时，可用 EditFind 定位到任何类型的前一个域，包括 XE、TA、TC 和 RD 域，如果隐藏内容被显示的话。只需指定“^d”（域字符的代码）作为 .Find 参数的文字以及 1 作为 .Direction 参数，见下列指令所示。

ViewFieldCodes 1

EditFind .Find = "^d", .Direction = 1, .Format = 1

如果只查找 XE 域，指定"^d XE"作为查找文字。

_____________

请参阅

移动插入点和选定语句和函数

NextField


PrevPage 示例

该示例将文档切换到页面视图，滚至前一页，然后将插入点移到窗口顶端。

ViewPage

PrevPage

StartOfWindow


PrevPage, PrevPage()

示例

PrevPage

PrevPage()

PrevPage 语句在页面视图上向回滚动一页，而不移动插入点（与在页面视图中单击垂直滚动条的“往回一页”按钮作用相同）。如果想在滚动之后移动插入点，可在宏中的 PrevPage 语句后包括一个 StartOfWindow 语句。

PrevPage 从一页上的当前位置滚至前一页的同样相对位置。若要滚至前一页的开始，而不管显示的是当前页的哪一部分，请用指令 EditGoTo .Destination = "p-1" 代替 PrevPage 。不过请注意： EditGoTo 也移动插入点。

PrevPage() 函数与语句功能相同，并返回下列值。

值	解释
0	如果没有前一页（也就是说，文档不滚动）。
1	如果文档滚动。
注释

只可用于页面视图，如果在其它视图中运行，就会产生错误。

_____________

请参阅

移动插入点和选定语句和函数

EditGoTo

NextPage

PageUp

ViewPage

VPage


SelectCurAlignment 示例

该示例将插入点置于与当前段落对齐方式不同的第一个后续段落的开始。如果直到文结尾对齐方式都相同，则 WORD 显示信息框。

SelectCurAlignment

CharRight

If CmpBookmarks("\Sel", "\EndOfDoc") = 0 Then

MsgBox "No variation in alignment found."

End If


SelectCurAlignment

示例

SelectCurAlignment

向前扩展选定内容，直到遇到段落对齐方式不同的文字。有四种段落对齐方式：左对齐、居中对齐、右对齐和两端对齐。

_____________

请参阅

移动插入点和选定语句和函数

CenterPara

FormatParagraph

JustifyPara

LeftPara

RightPara

SelectCurIndent

SelectCurSpacing

SelectCurTabs


SelectCurColor 示例

该示例从文档首扩展选定内容，直到以不同颜色进行格式编排的第一个字符，然后显示选定内容的字符数。

StartOfDocument

SelectCurColor

n = Len(Selection$())

MsgBox "Contiguous characters with the same color:" + Str$(n)


SelectCurColor

示例

SelectCurColor

向前扩展选定内容，直到遇到不同颜色的文字。

_____________

请参阅

移动插入点和选定语句和函数

CharColor

FormatFont

SelectCurFont


SelectCurFont 示例

该示例将选定内容扩展到第一个字体或字体大小不同的字符，然后将字体大小增加到下一有效设置。

SelectCurFont

GrowFont


SelectCurFont

示例

SelectCurFont

向前扩展选定内容，直到遇到不同字体或字体大小的文字。

_____________

请参阅

移动插入点和选定语句和函数

Font

FontSize

FormatFont

SelectCurColor


SelectCurIndent 示例

该示例判断文档中的所有段落是否以同样的左右缩进进行格式编排，然后显示表明结果的信息框。

StartOfDocument

SelectCurIndent

LineDown

If LineDown() = 0 Then

MsgBox "All paragraphs share the same left and right indents."

Else

MsgBox "Not all paragraphs share the same left and right indents."

End If


SelectCurIndent

示例

SelectCurIndent

从插入点开始向前扩展选定内容，直到遇到不同左右段落缩进的文字。

_____________

请参阅

移动插入点和选定语句和函数

FormatParagraph

Indent

SelectCurAlignment

SelectCurSpacing

SelectCurTabs

UnIndent


SelectCurSentence 示例

该示例将 a$ 变量定义为当前句子的文字。为了避免选定内容包括多个句子时出错，第一条指令取消了选定内容（如果有的话）。

If SelType() = 2 Then SelType 1	'Cancel selection, if any

SelectCurSentence

a$ = Selection$()


SelectCurSentence

示例

SelectCurSentence

选定插入点或选定内容所在的整个句子，包括尾部空格。如果 SelectCurSentence 运行时选定内容多于一个句子，就会出错。

_____________

请参阅

移动插入点和选定语句和函数

SelectCurWord

SentLeft

SentRight


SelectCurSpacing 示例

该示例演示一种开始跳到与当前段落行距不同的下一段落的快速方法。如果直到文档尾行距都相同，则 WORD 显示信息框。

SelectCurSpacing

CharRight

If CmpBookmarks("\Sel", "\EndOfDoc") = 0 Then

MsgBox "No variation in spacing found."

End If


SelectCurSpacing

示例

SelectCurSpacing

从插入点开始向前扩展选定内容，直到遇到不同行距的段落。

_____________

请参阅

移动插入点和选定语句和函数

FormatParagraph

SelectCurAlignment

SelectCurIndent

SelectCurTabs

SpacePara1

SpacePara15

SpacePara2


SelectCurTabs 示例

该示例判断当前段落第一个制表位的位置，然后对下面与原段落制表符设置不同的段落设置相同的制表位。由于 NextTab() 返回以磅值表示的位置，因此该磅值也用于 FormatTabs 指令中。

n = NextTab(0)

SelectCurTabs

CharRight

SelectCurTabs

FormatTabs .Position = Str$(n) + "pt"


SelectCurTabs

示例

SelectCurTabs

从插入点开始向前扩展选定内容，直到遇到不同制表位的段落。

_____________

请参阅

移动插入点和选定语句和函数

FormatTabs

SelectCurAlignment

SelectCurIndent

SelectCurSpacing


SelectCurWord 示例

该示例将 a$ 变量定义为插入点所在单词中的字符。如果有选定内容，第一条指令取消它，所以实际将 a$ 定义为选定内容的第一个单词。

If SelType() = 2 Then SelType 1	'Cancel selection, if any

SelectCurWord

a$ = Selection$()


SelectCurWord

示例

SelectCurWord

选定插入点或选定内容所在整个单词。双击一个单词会选定该单词及其尾部空格（如果有的话），而 SelectCurWord 不会选定尾部空格。如果 SelectCurWord 运行时选定内容多于一个单词，就会出错。

_____________

请参阅

移动插入点和选定语句和函数

SelectCurSentence

WordLeft

WordRight


SentLeft 示例

该示例删除文档中包含短语“ see page ”的所有句子。也就是说，本例删除对其它页的交叉引用。可用 SelectCurSentence 代替 SentLeft 和 SentRight 1, 1 两条指令。

StartOfDocument

EditFind .Find = "see page", .WholeWord = 1, .Direction = 0, .Format = 0

While EditFindFound()

SentLeft

SentRight 1, 1

EditClear

EditFind .Find = "see page", .WholeWord = 1, .Direction = 0, \

.Format = 0

Wend


SentLeft, SentLeft()

示例

SentLeft [Count,] [Select]

SentLeft([Count,] [Select])

SentLeft 语句将插入点或选定内容的活动端（按 SHIFT+箭头键时移动的一端）向左移动指定个句子。

参数	解释
Count	移动的句数。如果忽略或小于 1，就假设为 1。
Select	指定是否选定文字： 0 或忽略  不选择文字。如果已有选定内容， SentLeft 将插入点向选定内容左方移动 Count－ 1 个句子。 非 0     选定文字。如果已有选定内容， SentLeft 向文档首移动选定内容的活动端。在从左向右完成的典型选定内容中，活动端更接近文档尾， SentLeft 压缩选定范围。如果选定内容从右向左完成，则 SentLeft 扩展选定范围。
注意： WORD 统计空的表格单元格为一个“句子”，另外，不管长短以及有否标点符号，WORD 认为每个段落至少包含一个句子。

SentLeft() 函数与语句功能相同，并返回下列值。

值	解释
0	如果插入点或选定内容活动端不能向左移动。
-1	如果插入点或选定内容活动端向左移动任 意句数，甚至小于 Count。例如：即使插入点距文档首仅三个句子，SentLeft(10) 也 返回 -1 。
_____________

请参阅

移动插入点和选定语句和函数

CharLeft

ParaUp

SelectCurSentence

SentRight

StartOfLine

WordLeft


SetSelRange() 示例

该示例选定文档的头 20 个字符。

SetSelRange 0, 20


SetSelRange

示例

SetSelRange Pos1, Pos2

选定字符位置 POS1 与字符位置 POS2 之间的字符。文档首处的字符位置为 0，第一个字符后的位置是 1 ，第二个字符后的位置是 2，依此类推。包括显示非打印字符在内的所有字符都计入在内。隐藏字符即使不显示也同样计算在内。注意：即使所选定的字符在文档窗口上看不见，文档也不滚动。

_____________

请参阅

移动插入点和选定语句和函数

GetSelEndPos()

GetSelStartPos()

GetText$()


ShrinkSelection

ShrinkSelection

将选定内容压缩至下一较小文字单元。按以下顺序进行：整个文档、节、段落、句子、单词、插入点。插入点是原选定内容的开始。无选定内容时运行 ShrinkSelection 会产生声音提示。

不同于 ExtendSelection ， ShrinkSelection 不激活也不要求扩展状态。

_____________

请参阅

移动插入点和选定语句和函数

ExtendMode()

ExtendSelection


StartOfColumn 示例

该示例将插入点从表格中的任何位置移至首行结尾。

TableSelectRow

StartOfColumn


StartOfColumn, StartOfColumn()

示例

StartOfColumn [Select]

StartOfColumn([Select])

StartOfColumn 语句移动插入点到插入点所在表格列的顶端，或扩展选定内容（如果 Select 不为零）到包含选定内容的表格列的顶端。如果选定内容多于一列，则插入点移至包含选定内容结尾的表格列的顶端。如果插入点或选定内容不在表格中，就会出错。

注释

如果表格的首行没有对应于包含当前选定内容的表列的单元格（例如：已删除或合并首行的单元格），StartOfColumn 将插入点移到表格首行的开始。

StartOfColumn() 函数与语句功能相同，并返回下列某值。

值	解释
0	如果插入点未曾移动或选定内容未曾扩展（即如果它已在表格列的顶端）。
-1	如果移动了插入点或扩展了选定内容。
如果插入点不在表格中，则 StartOfColumn 和 StartOfColumn() 会产生错误。

_____________

请参阅

移动插入点和选定语句和函数

EndOfColumn

StartOfRow


StartOfRow 示例

该示例将插入点从表格中的任何位置移至第一个单元格的开始。

StartOfRow

StartOfColumn


StartOfRow, StartOfRow()

示例

StartOfRow [Select]

StartOfRow ([Select])

StartOfRow 语句将插入点移到或将选定内容（如果 Select 不为零）扩展到插入点或选定内容所在表格行的第一个单元格的开始。如果选定内容多于一行，则插入点移到或者选定内容扩展到选定内容首行的第一个单元格。如果插入点或选定内容不在表格中，就会出错。

StartOfRow() 函数与语句功能相同，并返回下列某值。

值	解释
0	如果未移动插入点或未扩展选定内容（即如果它已在行首）。
-1	如果移动了插入点或扩展了选定内容。
_____________

请参阅

移动插入点和选定语句和函数

EndOfRow

StartOfColumn

StartOfLine


VLine

VLine [Count]

垂直滚动活动文档。一“行”对应于单击一次垂直滚动条上的滚动箭头。

参数	解释
count	要滚动的数量， 按行计算： 忽略  向下滚动一行  〉0  向下滚动指定行数 〈 0  向上滚动指定行数
_____________

请参阅

移动插入点和选定语句和函数

HLine

VPage

VScroll


VPage

VPage [Count]

垂直滚动活动文档。 VPage 对应于单击滚动框上边或下边的垂直滚动条。

参数	解释
count	要滚动的数量， 按屏数计算： 忽略  向下滚动一屏   〉0  向下滚动指定屏数 〈 0  向上滚动指定屏数
_____________

请参阅

移动插入点和选定语句和函数

HPage

VLine

VScroll


VScroll 示例

该示例滚至活动文档中间。

VScroll 50


VScroll, VScroll()

示例

VScroll Percentage

VScroll()

VScroll 语句垂直滚至指定的文档长度百分比。VScroll 对应于拖动垂直滚动条上的滚动块。

VScrol() 函数返回以文档长度百分比表示的当前垂直滚动位置。

_____________

请参阅

移动插入点和选定语句和函数

HScroll

VLine

VPage


ActivateObject 示例

此示例将插入点移到下一个 Microsoft WordArt 对象处，并激活它以便编辑。

EditGoTo "o'MSWordArt.2'"

ActivateObject


ActivateObject

 示例

ActivateObject

激活并编辑选定的嵌入对象，或启动与声音文件相关联的麦克风图标。ActivateObject 相当于双击选定的嵌入对象。

_____________

请参阅

对象链接和嵌入语句和函数

EditGoTo

EditObject


FileClosePicture

FileClosePicture

关闭图片编辑窗口并在文档中嵌入一个 Word 图片对象。

_____________

请参阅

绘图语句和函数

DrawResetWordPicture


InsertChart

InsertChart

启动 Microsoft Graph 并显示一个默认图表。退出 Microsoft Graph 时，此图表嵌入活动文档中。指令 InsertChart 等同于 InsertObject .Class = "MSGraph" 指令。

_____________

请参阅

对象链接和嵌入语句和函数

InsertDrawing

InsertExcelTable

InsertObject


InsertEquation

InsertEquation

如果 Microsoft Equation Editor 已装入计算机中则启动 Equation Editor。退出 Equation Editor 时此公式嵌入活动文档中。InsertEquation 指令等同于 InsertObject .Class = "Equation" 指令。

_____________

请参阅

对象链接和嵌入语句和函数

ActivateObject

EditObject

InsertChart

InsertDrawing

InsertExcelTable

InsertWordArt


InsertWordArt

InsertWordArt

如果 Microsoft WordArt 已装入计算机中则启动 Word Art。退出 Word Art 时，此 Word Art 对象嵌入活动文档中。InsertWordArt 指令等同于 InsertObject .Class = "WordArt" 指令。

_____________

请参阅

对象链接和嵌入语句和函数

ActivateObject

EditObject

InsertChart

InsertDrawing

InsertEquation

InsertExcelTable


Word 和自动 OLE
Word 和 OLE 自动化

概述

访问 Word

使用 WordBasic 语句和函数

存取嵌入的 Word 对象

获取 Word 对话框设置

运行 Word 宏和显示对话框

在 Visual Basic 3.0 中使用位置变量


Overview of Word 和 OLE 自动化
OLE 自动化与 Word 概述

通过对象链接与嵌入(OLE)自动化，Word 向别的应用程序（叫做“宿主”应用程序或“载体”应用程序）提供了一个可编程的对象。Word 为 OLE 自动化提供了对一个单一的对象（叫做“Basic”）的支持。用“Basic”对象可以向 Word 传送 WordBasic 指令。WordBasic 指令可以直接向“宿主”应用程序返回数字或字符串。这样，WordBasic 指令成为“宿主”应用程序的宏或程序设计语言的扩展。

注意：Word 可以向其他应用程序提供一个对象，但不能存取其他应用程序中的对象。换句话说，所有支持 OLE 自动化的应用程序，如 Microsoft Excel for Windows 95 或 Visual Basic 3.0 应用程序，都可以运用 OLE 自动化来访问 Word，但 Word 不能 OLE 自动化来访问这些应用程序。

_____________

请参阅

Word 和 OLE 自动化


Accessing Word for OLE Automation
访问 Word

要在宿主应用程序中访问 Word，第一步是定义一个对象变量，以便引用 Word 中的“Basic”对象。“Basic”对象是 Word 为 OLE 自动化提供的唯一对象。在 Visual Basic 中，可申明 Object 类型的变量，例如：

Dim WordObj As Object

然后，要使“Basic”的对象能在宿主应用程序中使用，先创建它，然后将它指定到对象变量中。在 Visual Basic 中，用 CreatObject 函数来创建一个对象，然后用 Set 关键字把它赋给对象变量，下面是句法：

Set ObjectVar = CreateObject("Application.ObjectType")

例如：在 Visual Basic 中，可用如下指令。

Set ObjectVar = CreateObject("Word.Basic")

此指令使宿主应用程序能使用 Word 中的“Basic”对象。

如果应用程序要访问 Word，而 Word 尚未运行，则 OLE 自动化会启动 Word。如果找不到 Word，则产生错误。为了注册 Word 的位置，在“文件管理器”（Windows 3.X 或 WindowsNT）或“资源管理器”( windows 95 ) 中，双击“WINWORD6.REG 或“WINWORD7.REG”。这两个文件在在 Word 的程序文件夹中。

完全支持 OLE 自动化的应用程序可以使它们的文档作为对象，由于 Word 对于 OLE 自动化只支持“Basic”对象，所以不能用 OLE 自动化直接把 Word 文档作为对象来存取（除非文档嵌入宿主应用程序中）。请参阅存取嵌入的 Word 对象。例如：不能用 Visual Basic 中的 GetObject 函数来存取 Word 文档。同样，对“Basic”对象，Word 也不支持 Visual Basic 的属性和方法。您必须用 WordBasic 指令来访问 Word ，并在 Word 文档上操作，请参阅使用 WordBasic 语句和函数.。

如果 Word 是由“OLE 自动化”启动的，当引用“Basic”对象的对象变量生存周期结束时（例程结束或宿主应用程序关闭），“OLE 自动化”会关闭 Word 。在 VisualBasic 中，可用 Set 语句和 Nothing 关键字来清除对象变量，这与关闭宿主应用程序是等效的。

注意：“Basic”对象不提供关闭自身的方法。也就是说，当启动“OLE 自动化”时，如果 Word 已经运行，则不能通过“OLE 自动化”关闭 Word 。只有当 Word 是由“ OLE 自动化”启动时，才能关闭它。

_____________

请参阅

Word 和 OLE 自动化


Vsing WordBasic 语句和函数
使用 WordBasic 语句和函数

在宿主应用程序创建“Basic”对象后，可以使用大部分 WordBasic 语句或函数来操纵 Word 或 Word 文档，WordBasic 语句在“OLE 自动化”中的用法与在 Word 宏中是一样的。

以下 WordBasic 语句或函数不能用于“OLE 自动化”：控制结构，如：While... Wend 和 If...then...Else；说明语句，如：Dim；自定义对话框的有关语句； FileExit 语句；那些需要数组变量作参数的语句和函数。

名称最后是“$”的 WordBasic 函数返回的是字符串，您可以去掉关键字中的“$”，也可以把全部关键字放入括号内，例如，下面的语句显示的是 GetBookmark$() 函数在 WordBasic 宏中的用法。

mark$ = GetBookmark$("Address")

在 Visual Basic 中，上一个指令可能会有如下两种形式。

mark$ = WordObj.[GetBookmark$]("Address")

mark$ = WordObj.GetBookmark("Address")

下面的 WordBasic 函数返回的字符串必须有“$”和括号：Font$()、GetSystemInfo$() 和 Language$()。这些 WordBasic 的函数和语句的关键字相同，（例如，有 Font 语句，也有 Font$() 函数）如果没有 $ ， WordBasic 就没法区别是语句还是函数。

下面的例子打开 Word 文档“LETTER.DOC”并利用 WordBasic 函数 GetBookmark$() 来取回“Address”书签的文字，并在信息框中显示出来。

Dim WordObj As Object

Set WordObj = CreateObject("Word.Basic")

WordObj.FileOpen "LETTER.DOC"

mark$ = WordObj.GetBookmark("Address")

MsgBox mark$

下面的例子提取活动文档中的书签列表，并显示在一系列信息框中。在这些指令中， WordBasic 的指令就象是 Visual Basic 语言的一部分。实际上，这些指令扩展了 Visual Basic 的功能。唯一的区别就是，由于 WordBasic 不是面向对象的语言，不具有方法和属性这些概念，所以 WordBasic 指令的句法和 Visual Basic 的句法不同。

Dim WordObj As Object

Set WordObj = CreateObject("Word.Basic")

Dim count, countmarks

countmarks = WordObj.CountBookmarks()

ReDim bmarks$(1 To countmarks)

For count = 1 To countmarks

bmarks$(count) = WordObj.BookmarkName(count)

Next count

For count = 1 To countmarks

MsgBox bmarks$(count)

Next

在下面的例子中，指令切换 Word 中选定段落的粗体格式。

Dim WordObj As Object

Set WordObj = CreateObject("Word.Basic")

WordObj.ParaUp 1	'Select the current paragraph

WordObj.ParaDown 1, 1

If WordObj.Bold() <> 0 Then

WordObj.Bold 0	'Remove bold from the selected text

Else

WordObj.Bold 1	'Apply bold to the selected text

End If

_____________

请参阅

Word 和 OLE 自动化


Accessing an Embedded Word Object
存取嵌入的 Word 对象

您可以存取嵌入宿主应用程序中的 Word 对象（如 Word 文档或 Word 图片等），比如。在 Visual Basic 中，可以使用 Object 属性来存取文档或图片，并使用 WordBasic 的语句和函数来操纵。下面是 Visual Basic 3.0 中的句法（在 Macintosh 上不适用）。

Set ObjectVar = OLEControlName.Object.Application.WordBasic

ObjectVar 是一个已经声明的变量，OLEControlName 是 Word 对象嵌入的 OLE 控制的名称。例如，可以使用下面的指令存取嵌入 OLE 控制（叫作“OLE1”）中的文档。

Dim WordObj As Object

Set WordObj = OLE1.Object.Application.WordBasic

在 Microsoft Excel Visual Basic 中，可用 OLEObjects 方法返回嵌入的 Word 对象。下面的例子存取活动工作表中名叫 “MyEmbeddedWordDoc”（这是 Microsoft Excel 中对象的名字，不是文档的文件名）的 Word 文档对象。

Dim WordObj As Object

Set WordObj = ActiveSheet.OLEObjects("MyEmbeddedWordDoc")

在存取嵌入对象时，它必须是激活的。您可以用一条指令来激活 OLE 控制，也可以假定该对象已用其他方法（例如，双击它）激活。在 Visual Basic 3.0 中，可利用 Action 属性来激活 OLE 控制，例如。

OLE1.Action = 7

在这条指令中，“OLE1”是 Word 对象所在的 OLE 控制的名字。

在 Microsoft Excel Visual Basic 中，使用 Activate 方法来激活 Word 对象，在下面的例子中，WordObj 是保存 Word 文档对象的对象变量。

WordObj.Activate

下面的例子存取一个嵌入于 Visual Basic 3.0 宿主应用程序中的 Word 对象。然后它利用 WordBasic 的 EditSelectAll 语句选定全部正文，并通过 Bold 语句设置为粗体。Check1.SetFocus 指令取消激活嵌入的 Word 对象的激活状态，并把输入焦点移回到复选框“Check1”上。

Dim WordObj As Object

OLE1.Action = 7

Set WordObj = OLE1.Object.Application.WordBasic

WordObj.EditSelectAll

WordObj.Bold

Check1.SetFocus

下面是 使用 Microsoft Excel Visual Basic 的同一例子。最后一条指令 Range("B6").Activate 取消嵌入的 Word 对象的激活状态，并激活活动工作表的 B6 单元格。

Dim WordObj As Object

Set WordObj = ActiveSheet.OLEObjects("MyEmbeddedWordDoc")

WordObj.Activate

With WordObj.Object.Application.WordBasic

.EditSelectAll

.Bold

End With

Range("B6").Activate

_____________

请参阅

Word 和 OLE 自动化


Retrieving Word Dialog Box Settings
获取 Word 对话框设置

当使用“OLE 自动化”来存取 Word 本身（通过“Basic”对象）或嵌入的 Word 文档时，您可以获取取 Word 对话框的设置信息。为此，需要先生成一个对象变量以保存设置，然后将设置放入对象变量中。例如：

Dim TOVvar As Object

Set TOVvar = WordObj.CurValues.FileOpen

第一条指令定义一个对象变量来保存对话框设置。第二条指令指定变量为对话框的当前设置—此处就是“打开”对话框（“文件”菜单）的设置。“WordObj”是定义的对象变量，用来访问 WordBasic 。 CurValues 是一个用来返回指定对话框中的对话框设置的方法。要指定一个对话框，使用和 Word 对话框同名的 WordBasic 语句。例如， FileOpen 是和“打开”对话框（“文件”菜单）对应的 WordBasic 语句的名字。如果不知道要用的对话框的名字，请参阅语句和函数分类 和语句和函数索引。

把对话框设置放入对象变量中后，用下面的句法来存取它们：

DialogObjectVar.DialogBoxSettingName

DialogBoxSettingName 是和 DialogObjectVar 中保存的设置相对应的 WordBasic 语句的参数名称。请参阅语句和函数索引中相应的项。

下面的例子切换“选项”对话框（“工具”菜单）中“视图”选项卡上的“草稿字体”设置。注意，如果使用 Visual Basic 3.0，不能用指令 WordObj.ToolsOptionsView DraftFont := 0 ，因为 DraftFont 是参数的名称。相反，要使用位置变量，如在 Visual Basic 3.0 中使用位置变量中所述。

Dim WordObj As Object

Dim TOVvar As Object

Set WordObj = CreateObject("Word.Basic")

Set TOVvar = WordObj.CurValues.ToolsOptionsView

If TOVvar.DraftFont = 1 Then

WordObj.ToolsOptionsView DraftFont := 0

Else

WordObj.ToolsOptionsView DraftFont := 1

End If

_____________

请参阅

Word 和 OLE 自动化


Running Word Macros and Displaying Dialog Boxes
运行 Word 宏及显示对话框

可以从“ OLE 自动化”中运行 Word 宏，就象在另一个 Word 宏中运行一样。宏运行结束后，控制返回到调用它的程序中。利用 WordBasic 的 ToolsMacro 语句运行宏。例如：下面的指令运行一个叫做“CountOpenWindows”的宏。

WordObj.ToolsMacro Name := "CountOpenWindows", True

如果宏显示一个对话框，或信息框，或输入框，或任何需要使用者作出反应后宏才能继续的东西， Word 都必须是活动的应用程序。如果 Word 不是活动应用程序，宏会停止，最后会产生一个“ OLE 自动化”错误。要使 Word 为活动应用程序，可以在宿主应用程序的宏或程序语言中使用一个和类似与 WordBasic 的 AppActivate 语句的指令。

不能在“ OLE 自动化”中直接定义并显示一个对话框，但可以运行一个 Word 宏来显示对话框，如果对话框是 Word 内置的，可以用 CurValues 方法取回它的设置。如果对话框是自定义的，可在显示对话框的宏中保存对话框设置，以便这些设置在宏结束后仍然存在。例如，宏可以把设置存在一个设置文件中。要子解设置文件的内容，请参阅《 Microsoft Word Developer's Kit 》第9章“More WordBasic Techniques”中的“Using Settings Files and Document Variables”。

下面的 Microsoft Excel Visual Basic 例子运行一个叫做 CreateAndSaveNewDoc 的 Word 宏。当宏结束时显示一条信息。因为宏要显示“另存为”对话框，所以在宏运行前，用 Visual Basic 的 AppActivate 语句来激活 Word 。

Dim WordObj As Object

Set WordObj = CreateObject("Word.Basic")

AppActivate "Microsoft Word"

WordObj.ToolsMacro "CreateAndSaveNewDoc", True

MsgBox "The CreateAndSaveNewDoc macro is done."

在 Visual Basic 3.0 应用程序中也可以运行上例，但是 Visual Basic 3.0 的 AppActivate 语句需要 Word 应用程序的窗口标题栏文本作为参数。如果文档窗口最大化，文本可能会改变，所以需要加一个 If 条件来检查是否是这种情况，并根据 AppActivate 的要求改变本。下面的条件运用 WordBasic 函数 CountWindows、DocMaximize() 和 WindowName$() 来完成这一任务：

If WordObj.CountWindows() > 0 Then

If WordObj.DocMaximize() = True Then

AppActivate "Microsoft Word - " + WordObj.WindowName()

Else

AppActivate "Microsoft Word"

End If

Else

AppActivate "Microsoft Word"

End If

以下为 CreateAndSaveNewDoc 宏。

Sub MAIN

AppMaximize "Microsoft Word"

On Error Goto bye

FileNew

FileSave

AppActivate "Microsoft Excel"

bye:

End Sub

此宏最大化 Word 窗口（当调用此宏时， Word 处于最小化），然后生成一个新文件并用 FileSave 语句显示“另存为”对话框（“文件”菜单）。（显示这个对话框是因为文件没有保存过。）在宏末尾的 AppActivate 指令激活 Microsoft Excel 以便控制返回调用宏的程序中。这条指令在 Visual Basic 3.0 中不需要，因为控制自动返回到调用程序中。

向  Word 宏传值

在“ OLE 自动化”中，不能直接向宏或宏子程序传送变量。（在 WordBasic 中，可利用 MacroName.Subroutine [(ArgumentList)] 的形式调用另一宏的子程序并向它传送变量，但“ OLE 自动化”不支持这种句法。）如果要 Visual Basic 代码运行 WordBasic 宏并向它传送变量，要将变量存在宏能存取的地方。例如，可以将变量存在设置文件或 Word 文档变量中。要了解设置文件和文档变量的内容，请参阅《Microsoft Word Developer's Kit 》第9章“More WordBasic Techniques”“Using Settings Files and Document Variables”。

_____________

请参阅

Word 和 OLE 自动化


Using Positional Arguments in Visual Basic Version 3.0
在 Visual Basic 3.0 中使用位置变量

和 Word 对话框对应的 WordBasic 的语句使用命名变量——变量的值和名称有关。例如，下面的指令中，.Font 就是一个命名变量：

FormatDropCap .Font = "Arial"

但是从 Visual Basic 3.0 中使用命名变量来调用 WordBasic 指令，而必须通过位置来识别变量。下例是一个0出现在 Word 宏中的 WordBasic 指令。

FormatDropCap .Position = 1, .Font = "Arial", .DropHeight = 3, .DistFromText = 6

在 Visual Basic 程序中使这条指令，应写成如下形式：

WordObj.FormatDropCap 1, "Arial", 3, 6

在这条指令中，WordObj 是引用 WordBasic 的对象变量。如果要省略一个变量，必须在缺掉的变量处加一个逗号，如下面指令所示：

WordObj.FormatDropCap , "Arial", , 6

未尾的逗号可以省略（例如：, WordObj.FormatDropCap 1, "Arial" 就可以，不必写成 WordObj.FormatDropCap 1, "Arial", , ,）。

布尔函数值“True”和“False”用来指定命令按钮。例如，下面的 WordBasic 指令运行宏 CountOpenWindows ：

ToolsMacro .Name = "CountOpenWindows", .Run

.Run 是命名变量，相当于“宏”对话框中的“运行”按钮。在 Visual Basic 程序中，指令应按如下所示：

WordObj.ToolsMacro "CountOpenWindows", True

“True”值相当于选择了命令按钮；“False”相当于没选。下面的指令打开 CountOpenWindows 宏进行编辑。

WordObj.ToolsMacro "CountOpenWindows", False, True

在 WordBasic 中，第三个变量是 .Edit ，所以在 Visual Basic 中第三个位置的 True 值相当于选择“编辑”按钮。省略一个命令按钮变量相当于给一个 False 值。

注意：

在“WordBasic 帮助”中，大多数语句和函数项的说明中，变量的顺序是正确的，但也有些例外。要查看这些例外的完整列表和他们的变量的正确顺序，请参阅《 Microsoft Word Developer's Kit 》 所附的磁盘 ( Windows ) 中的 POSITION.TXT 文件。

_____________

请参阅

Word 和 OLE 自动化


CreateSubdocument

CreateSubdocument

将所选大纲标题转换到子文档中。如果活动文档不在主控文档或大纲视图中，或者选定内容超出子文档的边界，则会产生错误。如果所选定的第一段不是标题，也会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

InsertSubdocument

MergeSubdocument

OpenSubdocument

RemoveSubdocument

SplitSubdocument

ViewMasterDocument


DemoteToBodyText

DemoteToBodyText

通过应用正文样式将选定标题降级为正文。如果所选定的段落已设置为正文样式，则 DemoteToBodyText 无效 。

_____________

请参阅

大纲和主控文档语句和函数

OutlineDemote

OutlineMoveDown

OutlinePromote


MergeSubdocument

MergeSubdocument

将主控文档中的若干子文档合并为一个子文档。如果只选定一个子文档，或活动文档不在主控文档或大纲视图中，则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

CreateSubdocument

InsertSubdocument

OpenSubdocument

RemoveSubdocument

SplitSubdocument

ViewMasterDocument


OpenSubdocument

OpenSubdocument

打开主控文档中插入点所在位置或选定内容开始位置的子文档。Word 在一个单独的文档窗口中打开子文档。如果活动文档不是主控文档，或者主控文档不在主控文档或大纲视图中，则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

CreateSubdocument

FileOpen

InsertSubdocument

MergeSubdocument

RemoveSubdocument

SplitSubdocument

ViewMasterDocument


OutlineCollapse 示例

此示例折叠文档中的最低一级标题。

ViewOutline

EditSelectAll

OutlineCollapse


OutlineCollapse

 示例

OutlineCollapse

折叠选定标题下的最低一级标题或正文文字。如果活动文档不在大纲或主控文档视图中，则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

OutlineExpand

ShowAllHeadings


OutlineCollapse
OutlineDemote 示例

此示例把文档中所有跟在“标题 2”后的段落降级。

StartOfDocument : ViewOutline

EditFindClearFormatting

EditFindStyle .Style = "Heading 2"

EditFind .Find = "", .Direction = 0, .Format = 1, .Wrap = 0

While EditFindFound()

ParaDown

OutlineDemote

EditFind .Direction = 0

Wend


OutlineCollapse
OutlineDemote

 示例

OutlineDemote

把下一级标题级别样式应用到选定的标题（“标题 1”至“标题 8”）上。

_____________

请参阅

大纲和主控文档语句和函数

OutlineMoveDown

OutlinePromote


OutlineExpand 示例

此示例展开文档中一个级别的所有标题。

ViewOutline

EditSelectAll

OutlineExpand


OutlineExpand

 示例

OutlineExpand

展开选定标题下一个级别的标题或正文。如果活动文档不在大纲或主控文档视图中，则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

OutlineCollapse

ShowAllHeadings


OutlineLevel() 示例

此示例全部删除文档中所有没有设置为内置标题级别样式的段落。

StartOfDocument

ViewNormal

While ParaDown()

ParaUp	'Go to each paragraph in turn.

If OutlineLevel() = 0 Then	'If it's not a heading,

ParaDown 1, 1	'select it, then

EditClear	'delete it.

Else	'If it is a heading,

ParaDown	'go to the next paragraph

End If

Wend	'and begin the process again.


OutlineLevel()

 示例

OutlineLevel()

返回选定段落的标题级别。如果选定段落不是内置标题级别样式，则返回0（零）。如果选定了多个段落，则 OutlineLevel() 返回选定内容中第一个段落的标题级别。

_____________

请参阅

大纲和主控文档语句和函数

FormatStyle

StyleName$()


OutlineMoveDown

OutlineMoveDown

把选定段落移到下一个可见段落的下方。正文只有在被选定或是折叠起来时，才可随标题一起移动。

_____________

请参阅

大纲和主控文档语句和函数

OutlineDemote

OutlineMoveUp


OutlineMoveUp

OutlineMoveUp

把选定段落移到前一个可见段落的上方。正文只有在被选定或是折叠起来时，才可随标题一起移动。

_____________

请参阅

大纲和主控文档语句和函数

OutlineMoveDown

OutlinePromote


OutlinePromote 示例

如果当前段落的每个字符（包括段落标记）都是粗体，则此示例可将当前段落的标题升级。

ViewOutline

EditGoTo "\Para"

If Bold() = 1 Then OutlinePromote


OutlinePromote

 示例

OutlinePromote

将上一标题级别样式应用到选定的标题（“标题 2”至“标题 9”）或正文中。

_____________

请参阅

大纲和主控文档语句和函数

OutlineDemote

OutlineMoveUp


OutlineShowFirstLine, OutlineShowFirstLine()

OutlineShowFirstLine [On]

OutlineShowFirstLine()

OutlineShowFirstLine 语句控制大纲视图中正文文字的显示。用这条语句可以只显示段落首行以方便查阅。如果文档不在大纲或主控文档视图中，则会产生错误。

参数	说明
On	指定是否显示第一行文本： 0（零）  显示所有正文文字。 -1 或空   仅显示首行正文文字。
OutlineShowFirstLine() 函数返回下列数值。

值	说明
0（零）	显示所有正文文字。
-1	仅显示首行正文文字。
_____________

请参阅

大纲和主控文档语句和函数

OutlineCollapse

OutlineShowFormat


OutlineShowFormat

OutlineShowFormat

显示大纲视图中的字符格式；或在字符格式已显示时，隐藏字符格式。如果活动文档不在大纲或主控文档视图中，则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

OutlineShowFirstLine

ViewDraft


RemoveSubdocument

RemoveSubdocument

将所选子文档的内容合并到主控文档中，并删除子文档。RemoveSubdocument 并不删除子文档文件。如果活动文档不是在主控文档或大纲视图中，或者插入点不在子文档中，则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

CreateSubdocument

InsertSubdocument

MergeSubdocument

OpenSubdocument

SplitSubdocument

ViewMasterDocument


ShowAllHeadings 示例

此示例切换到大纲视图并显示所有文本。

ViewOutline

ShowHeading9

ShowAllHeadings


ShowAllHeadings

 示例

ShowAllHeadings

大纲视图中，在显示所有文本（标题和正文文字）和只显示标题之间切换。为了确保能显示所有的文本，在运行 ShowAllHeadings 指令前，应加入一条 ShowHeading9 指令，以显示不包括正文文字的所有标题。

ShowAllHeadings 只能在大纲视图和主控文档视图中使用，在其他视图中使用这个语句会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

OutlineCollapse

OutlineExpand

OutlineShowFirstLine

ShowHeadingNumber


ShowHeadingNumber 示例

此示例利用大纲视图的优点，方便地重排文档中各节。假设有一按字母排序的内容，它的标题段落已设置为“标题 1”样式，顺序被打乱了。此宏能够迅速按字母重新排列各节的顺序。在移动“标题 1”段落前，应折叠要随之移动的标题和正文文字。

ViewOutline

ShowHeading1

EditSelectAll

TableSort .Order = 0


ShowHeadingNumber

 示例

ShowHeadingNumber

在大纲视图中，显示从一级到该编号级别的所有标题 ，隐藏以下各级标题和正文。 Number 是 1 到 9 之间的整数； Number 不能用变量代替。

ShowHeadingNumber  只能在大纲视图和主控文档视图中使用，否则会产生错误。

_____________

请参阅

大纲和主控文档语句和函数

OutlineCollapse

OutlineExpand

OutlineShowFirstLine

ShowAllHeadings


SplitSubdocument

SplitSubdocument

在主控文档视图或大纲视图中，把一个已有的子文档拆分成两个同级的子文档，分割位置在插入点处（或选定内容的开头，如果有的话）。如果活动文档不在主控文档视图或大纲视图中，或插入点不在子文档中段落的开头，则产生错误。

_____________

请参阅

大纲和主控文档语句和函数

CreateSubdocument

InsertSubdocument

MergeSubdocument

OpenSubdocument

RemoveSubdocument

ViewMasterDocument


ViewOutline, ViewOutline()

ViewOutline

ViewOutline()

ViewOutline 语句将活动文档切换到大纲视图。ViewOutline() 函数返回下列值。

返回值	说明
0	如果活动文档不在大纲视图中。
-1	如果活动文档在大纲视图中。
_____________

请参阅

大纲和主控文档语句和函数

FilePrintPreview

ViewDraft

ViewMasterDocument

ViewNormal

ViewPage


CenterPara, CenterPara()

CenterPara

CenterPara()

将所选段落居中。

CenterPara()函数返回下列值：

值	注释
0	如果所有选定内容都不居中。
-1	如果部分选定内容居中或有多种对齐方式。
1	如果所有选定内容都居中。
_____________

请参阅

段落格式语句和函数

FormatParagraph

JustifyPara

LeftPara

RightPara


CloseUpPara 示例

该宏在所选段落前一行和无行之间切换“段前”格式编排。

Sub MAIN

Dim dlg As FormatParagraph

GetCurValues dlg

If Val(dlg.Before) <> 0 Then

CloseUpPara

Else

OpenUpPara

End If

End Sub


CloseUpPara

示例

CloseUpPara

取消在所选段落前创建空格的段落格式。CloseUpPara 相当于将“格式”菜单中“段落”对话框的“缩进和间距”选项卡上的“段前”选项设为“0”  。

_____________

请参阅

段落格式语句和函数

FormatParagraph

OpenUpPara


FormatDropCap 示例

该示例将各节首字符设为下沉大写字母，.EditGoTo.Destination="s" 指令将插入点移到下一节的节首。一旦 CmpBookmarks("tmp", "\Sel") 函数返回 o 值，则说明未移动插入点，也就再没有节了，于是删掉临时书签并终止宏。

StartOfDocument

FormatDropCap .Position = 1, .DropHeight = "3"

EditBookmark .Name = "temp", .Add

EditGoTo .Destination = "s"

While CmpBookmarks("temp", "\Sel") <> 0

FormatDropCap .Position = 1, .DropHeight = "3"

CharLeft

EditBookmark .Name = "temp", .Add

EditGoTo .Destination = "s"

Wend

EditBookmark .Name = "temp", .Delete


FormatDropCap

示例

FormatDropCap [.Position = number] [, .Font = text] [, .DropHeight = number or text] [, .DistFromText = number or text]

为当前段落的段首字符插入图文框，以使其成为下沉大写字母。FormatDropCap 语句的参数相当于“格式”菜单中“首字下沉”对话框中的选项。

参数	注释
.Position	指定下沉大写字母的位置或取消下沉大写字母格式： 0 或忽略  无下沉大写字母格式 1         下沉（段落中各行环绕下沉大写字母） 2         在边距中（段落中各行保持齐平）
.Font	下沉大写字母所需字体。
.DropHeight	在周围文字各行中指定的下沉大写字母的高度。
.DistFromText	按磅或文字尺寸计量的下沉大写字母与段落其余部分的间距。
_____________

请参阅

段落格式语句和函数

FormatFrame

InsertFrame


FormatParagraph 示例

该示例设置两端对齐方式，并在选定部分中各段落的上下都添加 1 英寸的间距。

FormatParagraph .Alignment = 3, .Before = "1 in", .After = "1 in"


FormatParagraph

示例

FormatParagraph [.LeftIndent = number or text] [, .RightIndent = number or text] [, .Before = number or text] [, .After = number or text] [, .LineSpacingRule = number] [, .LineSpacing = number or text] [, .Alignment = number] [, .WidowControl = number] [, .KeepWithNext = number] [, .KeepTogether = number] [, .PageBreak = number] [, .NoLineNum = number] [, .DontHyphen = number] [, .Tab = number] [, .FirstIndent = number or text]

将段落格式应用于所选段落。FormatParagraph 语句的参数相当于“格式”菜单的“段落”对话框中的选项。

参数	注释
.LeftIndent	按磅或文字尺寸计量的左缩进。
.RightIndent	按磅或文字尺寸计量的右缩进。
.Before	按磅或文字尺寸计量的段前间距。
.After	按磅或文字尺寸计量的段后间距。
.LineSpacingRule	行距的确定依据： 0 或忽略  单倍行距 1         1.5 倍行距 2         2 倍 行 距 3         最  小  值 4         固  定  值 5         多倍行距 如果指定单倍行距、1.5 倍行距或双倍行距，还为 .LineSpacing 指定一个值，那么会优先考虑 .LineSpacing 值。
.LineSpacing	段落中所有行的间距（用于 .LineSpacingRule 是“最小值”、“固定值”或“多倍行距”时）。
.Alignment	设置段落对齐方式： 0  左 对 齐 1  居中对齐 2  右 对 齐 3  两端对齐
.WidowControl	如果是 1，防止分页符将单独一行留在页面顶端或底端（相当于选中“孤行控制”复选框）。
.KeepWithNext	如果是 1，将段落与下段保持在同页（相当于选中“与下段同页”复选框）。
.KeepTogether	如果是 1，将段落中所有行保持在同页（相当于选中“段中不分页”复选框）。
.PageBreak	如果是 1，使段落总出现在新页的顶端（相当于选中“段前不分页”复选框）。
.NoLineNum	如果是 1，取消段落的行号（相当于选中“取消行号”复选框）。
.DontHyphen	如果是 1，不允许段落自动断字（相当于选中“取消断字”复选框）。
.Tab	用 Dialog 或 Dialog() 指令显示“段落”对话框时指定要选用的选项卡： 0  “缩进和间距”选项卡 1  “正文排列”选项卡
.FirstIndent	按磅或文字尺寸计量的首行缩进。
_____________

请参阅

段落格式语句和函数

EditFindPara

EditReplacePara

FormatBordersAndShading

FormatDefineStylePara

FormatStyle

FormatTabs

ParaKeepLinesTogether

ParaKeepWithNext

ParaPageBreakBefore

ParaWidowOrphanControl

Style


HangingIndent

HangingIndent

将悬挂缩进应用于所选段落，或将当前的悬挂缩进量增至选定内容中首段的下一制表位。

_____________

请参阅

段落格式语句和函数

Indent

UnHang

UnIndent


HangingIndent
Indent

Indent

将所选段落的左缩进移至选定内容中首段的下一制表位。Indent 保持首行缩进或悬挂缩进的设置。

_____________

请参阅

段落格式语句和函数

FormatParagraph

HangingIndent

UnIndent


InsertPara

InsertPara

在插入点插入段落标记。

_____________

请参阅

段落格式语句和函数

Chr$()

Insert


JustifyPara, JustifyPara()

JustifyPara

JustifyPara()

 JustifyPara 语句将所选段落两端对齐。JustifyPara() 函数返回下列值：

值	注释
0	如果所有选定内容都不是两端对齐。
-1	如果部分选定内容是两端对齐或有多种对齐方式。
1	如果所有选定内容都是两端对齐。
_____________

请参阅

段落格式语句和函数

CenterPara

FormatParagraph

LeftPara

RightPara


LeftPara, LeftPara()

LeftPara

LeftPara()

leftPara 语句用左缩进对齐所选段落。

LefPara() 函数返回下列值：

值	注释
0	如果所有选定内容都不是左对齐。
-1	如果部分选定内容是左对齐。
1	如果所有选定内容都是左对齐。
____________

请参阅

段落格式语句和函数

CenterPara

FormatParagraph

JustifyPara

RightPara


NextTab() 示例

该示例用 Next Tab() 和TabType() 返回相当于选定内容中第一个制表位的对齐方式的值。

firstTabType = TabType(NextTab(0))


NextTab()

示例

NextTab(Position)

为选定内容中的首段按磅值将下一制表位的位置返回到 Position 右侧。

下面的换算表可用作磅与其它度量单位换算的辅助工具：

1 英寸=72 磅

1 厘米=28.35 磅

1 十二点活字=12 磅

_____________

请参阅

段落格式语句和函数

FormatTabs

PrevTab()

TabLeader$()

TabType()


OpenUpPara 示例

如果当前段落之前没有间距，该示例将“段前”选项设为“12 磅”。

Dim dlg As FormatParagraph

GetCurValues dlg

If dlg.Before = "0 pt" Then OpenUpPara


OpenUpPara

示例

OpenUpPara

如果当前段落之前没有间距，该示例将“段前”选项设为“12磅”。

_____________

请参阅

段落格式语句和函数

CloseUpPara

FormatParagraph


ParaKeepLinesTogether, ParaKeepLinesTogether()

ParaKeepLinesTogether [On]

ParaKeepLinesTogether()

Para KeepLines Together 语句为所选段落添加或取消“段中不分页”段落格式。Word 对文档重新分页时，设有“段中不分页”格式的段落中的所有行保持在同一页。

参数	注释
On	指定要添加还是取消“段中不分页”格式：    1  添加“段中不分页”格式    0  取消“段中不分页”格式   切换“段中不分页”格式
PraKeepLines Together() 函数返回下列值：

值	注释
0	如果所选段落均未用“段中不分页”设置格式。
-1	如果部分所选段落用“段中不分页”设置格式。
1	如果所选段落全都用“段中不分页”设置格式。
_____________

请参阅

段落格式语句和函数

FormatParagraph

ParaKeepWithNext

ParaPageBreakBefore


ParaKeepWithNext, ParaKeepWithNext()

ParaKeepWithNext [On]

ParaKeepWithNext()

ParaKeepWithNoxt 语句为所选段落添加或取消“与段同页”段落格式。Word 给文档重新分页时，设有“与下段同页”格式的段落与下一段保持在同一页。

参数	注释
On	指定要添加还是取消“与下段同页”格式：    1  添加“与下段同页”格式    0  取消“与下段同页”格式   切换“与下段同页”格式
ParaKeepWithNext() 函数返回下列值：

值	注释
0	如果所选段落均未用“与下段同页”设置格式。
-1	如果部分所选段落用“与下段同页”设置格式。
1	如果所选段落全都用“与下段同页”设置格式。
_____________

请参阅

段落格式语句和函数

FormatParagraph

ParaKeepLinesTogether

ParaPageBreakBefore


ParaPageBreakBefore, ParaPageBreakBefore()

ParaPageBreakBefore [On]

ParaPageBreakBefore()

ParaPageBreakBefore 语句为所选段落添加或取消“段前分页”格式。不管何时打印文档，设有“段前分页”格式的段落总出现在新页的顶端。

参数	注释
开	指定 要添加还是取消“段前分页”格式：    1   添加“段前分页”格式    0   取消“段前分页”格式 忽略   切换“段前分页”格式
ParaPageBreakBefore()函数返回下列值：

值	注释
0	如果所选段落均未用“段前分页”设置格式。
-1	如果部分所选段落用“段前分页”设置格式。
1	如果所选段落全都用“段前分页”设置格式。
_____________

请参阅

段落格式语句和函数

FormatParagraph

ParaKeepLinesTogether

ParaKeepWithNext


ParaWidowOrphanControl, ParaWidowOrphanControl()

ParaWidowOrphanControl [On]

ParaWidowOrphanControl()

ParaWidowOrphanControl 语句为所选段落添加或取消“孤行控制”段落格式。设有“孤行控制”格式的段落会防止分页符将段落的单独一行留在页面的顶端或底端。

参数	注释
On	指定要添加还是取消“孤行控制”格式：    1  添加“孤行控制”格式    0  取消“孤行控制”格式   切换“孤行控制”格式
ParaWidowOrphanControl() 函数返回下列值：

值	注释
0	如果所选段落均未用“孤行控制”设置格式。
-1	如果部分所选段落用“孤行控制”设置格式。
1	如果所选段落全都用“孤行控制”设置格式。
_____________

请参阅

段落格式语句和函数

FormatParagraph

ParaKeepLinesTogether

ParaKeepWithNext

ParaPageBreakBefore


PrevTab() 示例

该示例显示按英寸说明当前段落中最后一个制表位位置的信息框。在第一个指令中，PrevTab(8.5 * 72)按磅值返回最后一个制表符的位置，给出了页宽为 8.5 英寸，而每英寸是 72 磅。该值除以 72 即得出按英寸表示的位置。下三条令准备在消息方框中显示的数字，其小数点后最多两位。

LastPos = PrevTab(8.5 * 72) / 72

LastPos$ = Str$(LastPos)

dot = InStr(LastPos$, ".")

LastPos$ = Left$(LastPos$, dot + 2)

MsgBox "Position of last tab stop: " + LastPos$ + " inches"


PrevTab()

示例

PrevTab(Position)

为选定内容中的首段将下一制表位的位置按磅返回至 Position 左侧。

下面的换算表可用作磅与其它度量单位换算的辅助工具：

1 英寸=72 磅

1 厘米=28.35 磅

1 十二点活字=12 磅

_____________

请参阅

段落格式语句和函数

FormatTabs

NextTab()

TabLeader$()

TabType()


ResetPara 示例

如果当前段落设为“正文”格式，该示例取消任何未定义为该样式组成部分的段落格式。

If StyleName$() = "Normal" Then ResetPara


ResetPara, ResetPara()

示例

ResetPara

ResetPara()

Reset Para 语句取消所选文字中未在当前段落样式中定义的段落格式。例如：如果用左缩进半英寸和无左缩进的段落所用样式来设置格式段落格式，ResetPara 会取消缩进。

ResetPara() 函数返回下列值时不取消段落格式：

值	注释
0	如果选定内容中首段所含格式不同于为所用段落样式定义的格式。
-1	如果选这内容中首段未含与为所用段落样式定义的格式不同的格式。
_____________

请参阅

段落格式语句和函数

FormatParagraph

NormalStyle

ResetChar


RightPara 示例

该示例将每个左对齐的段落设为左缩进 2 英寸的格式。

StartOfDocument

While ParaDown()	'Check each paragraph one by one,

ParaUp	'including the first paragraph

If RightPara() = 1 Then	'If right-aligned, then indent left

FormatParagraph .LeftIndent = "2 in"

End If

ParaDown

Wend


RightPara, RightPara()

示例

RightPara

RightPara()

RightPara 语句用右缩进对齐所选段落。

RigtPara() 函数返回下列值：

值	注释
0	如果 选定内容均未用右对齐。
-1	如果部分选定内容用右对齐。
1	如果 选定内容全都用右对齐。
_____________

请参阅

段落格式语句和函数

CenterPara

FormatParagraph

JustifyPara

LeftPara


SpacePara1, SpacePara1()

SpacePara1

SpacePara1()

Space Para1 语句将所选段落设为单倍行距。准确行距由段落中最大字符的字号确定。

SpacePara1() 函数返回下列值：

值	注释
0	如果选定内容均不是单倍行距。
-1	如果部分选定内容是单倍行距。
1	如果选定内容全都是单倍行距。
_____________

请参阅

段落格式语句和函数

CloseUpPara

FormatParagraph

OpenUpPara

SpacePara15

SpacePara2


SpacePara15, SpacePara15()

SpacePara15

SpacePara15()

SpacePara 15 语句将所选段落设为 1.5 倍行距。准确行距由段落中最大字符的字号加上 6 磅后确定。

SpacePara15() 函数返回下列值：

值	注释
0	如果选定内容均未设为 1.5 倍行距。
_____________

请参阅

段落格式语句和函数

CloseUpPara

FormatParagraph

OpenUpPara

SpacePara1

SpacePara2


SpacePara2, SpacePara2()

SpacePara2

SpacePara2()

SpacePara2 语句将所选段落设为 2 倍行距。准确行距由段落中最大字符的字号加 12 磅后确定。

SpacePara2()函数返回下列值：

值	注释
0	如果选定内容均不是 2 倍行距。
_____________

请参阅

段落格式语句和函数

CloseUpPara

FormatParagraph

OpenUpPara

SpacePara1

SpacePara15


TabLeader$() 示例

该示例确定 3/4 英寸位置上的制表位是否有带下划线的前导字符。如果有，FormalTabs 指令将前导字符变为“无”。

ViewNormal

If TabLeader$(54) = "_" Then

FormatTabs .Position = "54 pt", .Leader = 0

End If


TabLeader$()

示例

TabLeader$(Pos)

返回按磅（72 磅=1 英寸）给出的 Pos 位置上的自定义制表位的前导字符。如果选定了多段，Tableader$() 求出首段中的设置值。

Tableader$() 返回空字符串（""）的三种情况是：Pos 位置无制表位、制表位是默认制表位或文档在大纲视图中。如果 Pos 位置有自定义制表位，Tableader$() 会返回下列某值。

值	注释
（空格）	无前导（相当于设为“无”的制表符前导字符）
.	句号
-	连字符
_	下划线
用 FormatTabs 可改变制表符前导字符。

_____________

请参阅

段落格式语句和函数

FormatTabs

NextTab()

PrevTab()

TabType()


TabType() 示例

该示例确定 3/4 位置上的制表位是否居中。如果是，FormatTabs 指令将对齐方式改为左对齐。

If TabType(54) = 1 Then

FormatTabs .Position = "54 pt", .Align = 0

End If


TabType()

示例

TabType(Pos)

返回按磅（72镑=1英寸）给出的 Pos 位置的自定义或默认制表位的对齐方式。如果选定了多段。TabType() 求出首段中的设置值。

如果 Pos 位置无制表位，TabType() 返回 －1；否则返回下列某值。

值	注释
0	左对齐或默认
1	居中
2	右对齐
3	小数点对齐
4	竖线对齐
_____________

请参阅

段落格式语句和函数

FormatTabs

NextTab()

PrevTab()

TabLeader$()


UnHang

UnHang

取消所选段落的悬挂缩进，或将当前悬挂缩进量减至选定内容中首段的前一制表位。

_____________

请参阅

段落格式语句和函数

HangingIndent

UnIndent


UnIndent

UnIndent

将所选段落的左缩进移至选定内容中首段的前一制表位。Unindent 保持首行缩进或悬挂式缩进的设置。

_____________

请参阅

段落格式语句和函数

Indent

UnHang


建立多个平台宏
 开发多平台宏

概述

使用平台特有的指令和参数

处理平台级别差异

在平台间移动多平台宏

在平台间移动带扩展字符的宏


建立多个平台宏的概述
开发多平台宏的概述

本节主要涉及 Macintosh 和 Windows 平台之间的差异。Word for Windows 与 Word for Windows NT 或 Word for Windows 95 之间在 WordBasic 上没有什么差别。就绝大部分而言，不必担心 Windows NT 或 Windows 95 的差异，除非是在声明外部函数时，Windows NT 和 Windows 95 中需要进行不同的声明（请参阅处理平台级别差异中的“用声明语句调用外部子程序”）。

用 AppInfo$() 函数可返回当前平台的名称。AppInfo$(1) 在 Windows 或 Windows NT 中返回包含“Windows”或“Windows NT”及版本号的字符串；在 Macintosh 中返回包含“Macintosh”及系统软件版本号的字符串。确定平台后，可用控制结构来为该平台运行适当的指令块。

下例用 InStr() 确定 AppInfo$(1) 所返字符串中是否包含单词“Macintosh”，如果有，将标志变量 MacintoshFlag 设置为 1，然后由控制结构测试 MacintoshFlag 变量的值，进而确定是运行 Windows 指令还是 Macintosh 指令。

If Instr(AppInfo$(1), "Macintosh") <> 0 Then MacintoshFlag = 1

If MacintoshFlag = 0 Then

ChDir "C:\WINWORD\TEMPLATE"

FileOpen "ARTICLE.DOT"

Else

ChDir "HD:MICROSOFT WORD 6:TEMPLATES"

FileOpen "ARTICLE TEMPLATE"

End If


使用平台指定的指令和参数
使用平台特有的指令和参数

WordBasic 有许多指定针对特定平台的语句和函数。为用于某一平台而设计的语句或函数如果在另一平台上运行，产生的只会是错误。另外，某些对话－等同语句所携参数只对某一平台有效， Macintosh 也根本不会考虑某些 Windows 专用的参数。而且，所有 Macintosh 专用的参数在 Windows 中也都会出错。如果用 AppInfo() 确定宏正在哪种平台上运行，就能用控制结构来确保平台特有的语句、函数、和参数只在宏运行于适当平台时运行。

下面各段将说明 Windows 与 Macintosh 语句的重要差异。完整的 Macintosh 和 Windows 特有语句及函数的列表请参阅“各平台中 WordBasic 的差异”。

页面设置上的差异

由于 Windows 和 Macintosh 的打印和页面设置有所不同，所以 FilePageSetup 语句只对 Windows 有效。另有一组用于 Macintosh 页面设置的语句：FileDocumentLayout、FileMacPageSetup、FileMacCustomPageSetupGX 和 FileMacPageSetupGX。在装有 QuickDraw GX 的 Macintosh 上，要使用 FileMacCustomPageSetupGX 和 FileMacPageSetupGX 而不是 FileMacPageSetup。

屏幕更新

在 Windows 中，ScreenUpdating 语句关闭屏幕更新，这样，屏幕就不显示对文件和应用程序窗口的修改。Macintosh 则不显示文件窗口中的修改，而是显示文件窗口框的变化。例如：如果在关闭屏幕更新时移动文件窗口，就会在新位置显示该文件窗口框。同样，在屏幕更新关闭时打开文件，也会显示文件窗口框（在屏幕更新打开或宏终止前，文件本身将一直显示为空白）。

自定义对话框功能的差异

在 Macintosh 中，可将所显示图片储存在“资源叉”（可用 Picture 或 DlgSetPicture 将资源叉指定为储存场所）的图片对话框控制中。Macintosh 还有两条有效指令：DlgStoreValues 和 DlgLoadValues()，它们可用于存储和装载自定义对话框设置。在 Macintosh 和 Windows NT 中，可用单一的 DlgVisible 指令来显示和隐藏一个控制范围（Windows 中的单一 DlgVisible 指令只能影响一项控制）。最后，列表框控制可接受 Windows 的焦点，但不接受 Macintosh 的。

连接网络

在 Windows中可用 Connect 语句来连接网络驱动；在 Macintosh 中可用 MountVolume 语句。用 Connect 可显示“连接”对话框；MountVolume 则没有相关对话框。


处理平台的差异
处理平台级别差异

即使 WordBasic 的语句或函数在所有平台上的结果都相同，也会需要不同的代码。不同的平台各有其系统的特有功能（比如命名文件的惯例），需要在跨平台宏中予以考虑。

指定文件名和路径

在 Windows 中可用问号（?）和星号（*）通配符来指定一组文件，而 Macintosh 就不接受通配符，不过可以用 MacID$() 函数来指定某种类型的文件。Macintosh 的文件类型是 Macintosh 应用程序（用 FileType$() 函数可确定文件类型）创建的指定至各文件的唯一的 4 字母标签。

下例创建在某个文件夹中所有文本文件的列表 （宏中已提前设置了 MacintoshFlag 变量）：

If MacintoshFlag = 0 Then

textfilename$ = Files$("*.TXT")

Else

textfilename$ = Files$(MacID$("TEXT"))

End If

Insert textfilename$

While textfilename$ <> ""

textfilename$ = Files$()

Insert textfilename$

Wend

MacID$() 还可与 FileOpen 和 Kill 语句一同用于指定文件类型。下列指令显示“打开”对话框，列出文件夹中所有模板文件的列表（宏中已提前设置了 MacintoshFlag 变量）：

Dim dlg as FileOpen

GetCurValues dlg

If MacintoshFlag = 0 Then

Chdir "C:\WINWORD\TEMPLATE"

dlg.Name = "*.DOT"

Else

Chdir "HD1:WORD:TEMPLATES"

dlg.Name = MacID$("WTBN")

End If

choice = Dialog(dlg)

If choice Then FileOpen dlg

注意：

尽管 MacID$() 像要返回字符串，但实际是返回了与任何 WordBasic 数据类型并都一致的值。这样，MacID$() 应该只用于在此描述的语句，这些语句接受它返回的内部值。另外，不能连接带路径字符串的 MacID$() 返回的值，要用 ChDir 来改变当前文件夹。

用 MacID$() 和 Macintosh 的应用程序署名可指定应用程序。 MacID$() 可结合下列指令指定应用程序：AppActivate、AppClose、AppCount、AppGetNames、AppGetNames()、AppIsRunning() 和 Shell。 MacID$() 提供了一种比应用程序名更可靠的指定应用程序的方法，因为用户会修改应用程序名但不可能修改 Macintosh 的应用程序署名。下例用 MacID$()、AppIsRunning() 和 Shell 来确定 Microsoft Excel 是否正在运行，如果没有，就启动它。

If AppIsRunning(MacID$("XCEL")) = 0 Then Shell MacID$("XCEL")

注意：用 MacID$() 指定应用程序时不必指定路径或文件夹。

使用设置文件

在 Windows 和 Macintosh 中处理设置文件时略有差异。

 如果不为 SetPrivateProfileString 或 GetPrivateProfileString 指定文件名中的路径，Word 储存或查找文件时，在 Windows 中会在 Windows 目录中，在 Macintosh  中会在 Preferences 文件夹中。

 在 Windows 中，设置文件是像其它任何文本文件一样可用文本编辑器打开的文本文件；在 Macintosh 中，设置文件不是文本文件，可直接用 ToolsAdvancedSettings 命令或 ResEdit 程序来编辑。

 Macintosh 没有像 Windows WIN.INI 文件一样可用 SetProfileString 和 GetProfileString$() 访问的文件。

Word 设置在 Windows 中储存于名为 WINWORD6.INI 的设置文件；在 Macintosh 中储存于名为 Word Settings (6) 的文件。在 Windows 中，用 SetPrivateProfileString 和 GetPrivateProfileString 可修变 WINWORD6.INI 的设置。在 Macintosh中，用 GetProfileString$() 和 SetProfileString 可修改 Word Settings (6) 文件中的设置。

Windows 95 和 Windows NT 不用 WIN.INI 和 WINWORD6.INI 等设置文件，而是将设置储存在 Windows NT Registry 中。SetProfileString 和 GetProfileString$() 在 Windows 95 或 Windows NT 中有效，但不影响系统或 Word 设置。

使用 DDE

应用程序在多个平台上运行时，同一应用程序在 Windows 和 Macintosh 中可能会有不同的应用程序名。例如：在 Windows 中，DDE 应用程序名对 Microsoft Word 而言是“WinWord”，而在 Macintosh 中则是“MSWord”，尽管它也能接受“WinWord”。

用于初始化 DDE 对话的指令在 Windows 和在 Macintosh 中是相同的，但由于DDE 应用程序名在不同的平台上可能不同，所以各平台需要不同指令。而且，在初始化 DDE 对话时如果要用 AppIsRunning() 和 Shell 指令，那么用 MacID$() 在 Macintosh 上指定应用程序是个好方法。下例用各平台的不同指令块来初始化 DDE 与 Microsoft Excel的对话（宏中已提前设置了 MacintoshFlag 变量）。注意：Microsoft Excel 在 Windows 和 Macintosh 中具有相同的 DDE 应用程序名，所以不需要分别使用 DDEInitiate() 指令。

If MacintoshFlag = 0 Then

If AppIsRunning("Microsoft Excel") = 0 Then Shell "EXCEL.EXE", 4

chan = DDEInitiate("Excel", "System")

Else

If AppIsRunning(MacID$("XCEL")) = 0 Then Shell MacID$("XCEL"), 4

chan = DDEInitiate("Microsoft Excel", "System")

End If

chan = DDEInitiate("Excel", "System")

topics$ = DDERequest$(chan, "Topics")

Insert topics$

使用声明语句调用外部程序

在 Windows 中，可用 Declare 语句调用动态链接库（DLL）或 Word 加载项库（WLL）中所存程序。在 Macintosh 中，只能调用 WLL 所存程序。从 Windows 转到 Windows NT 的宏中的 Declare 指令需要修改。Windows API DLLs 的名称在 Windows 95 和 Windows NT 中可能不同， 而且，不像在Windows 3.x 中， 程序名在 Windows 95 和 Windows NT 中区分大小写。另外，在 Windows 95 或 Windows NT 中，某些程序需要用不同变量类型声明：INT 返回值或参数必须声明为 LONG；处理器必须声明为 LONG。详情请参阅 Declare。


在平台间移植一个多平台宏
在平台间移动多平台宏

在用平台特有指令将宏移至另一平台时会出现两个潜在问题。在 Word 的一个版本不识别另一版本支持的指令时会发生这些问题。特别是 Word 6.0、6.0a 和 6.0c for Windows 不支持 Word 6.0 for Macintosh 中有效的 Macintosh 专用 WordBasic 语句和函数。在这种情况下，会发生以下两个问题：

如果用 Word 6.0、6.0a 或 6.0c for Windows 开发宏， 然后又将该宏移至 Word 6.0 for Macintosh，那么在用 Macintosh 编辑该宏前，Word 的 Macintosh 版特有的指令将一直出错：error 124：“未知命令、子程序或函数”。

如果用 Word 6.0 for Macintosh 开发宏，要将该宏移至 Word 6.0 或 6.0a for Windows，然后用 Windows 编辑和保存该宏，将删除宏中 Macintosh 特有的关键字；如果宏移回 Macintosh，它们将不能恢复（宏在 Windows 中仍应正确运行，因为的 Macintosh 专用指令无论如何不能在 Windows 平台上运行。但如果该宏移回 Macintosh，将不再正确运行）。 注意：Word 6.0c for Windows 不会出现这种问题。

Word 6.0 for Windows NT 和 Word 7.0 识别 Word 6.0 for Macintosh 支持的 WordBasic 语句和函数。


在平台间移动一个带有扩展字符的宏
在平台间移动带扩展字符的宏

在 Windows 和 Macintosh 中，会用各种字符代码来代表国际通用字符。如果创建的宏中含有带国际通用字符的字符串值，那么当该宏在另一平台上打开或运行时，这些字符就会发生变化。

用下列步骤在平台间移动宏可避免这种结果：

1 	将宏的本从宏编辑窗口中复制到新文件并保存该文件。

2.	在其它平台上打开该文件，存为“纯文本”格式，关闭，然后再打开。

3.	从文档中将文本复制到新的宏编辑窗口。

注意：将宏分配为“只执行”不能更正这种效果。如果需要分配字符串值中带扩展字符的宏，必须另建模板，它带有的宏对于各平台版本都唯一。


CountToolsGrammarStatistics()

CountToolsGrammarStatistics()

返回用 ToolsGrammar 语句检查语法时储存的统计信息的数目。用该数字可定义一个用 ToolsGrammarStatisticsArray 语句填充的二维数组的大小。

示例请参阅  ToolsGrammarStatisticsArray 示例。

_____________

请参阅

校对语句和函数

ToolsGrammar

ToolsGrammarStatisticsArray

ToolsOptionsGrammar


ToolsGetSynonyms 示例

该示例提示用户键入单词，然后在信息框中显示该单词的同义词（最多五个）：

word$ = InputBox$("Display synonyms for: ", "Get Synonyms")

Dim synonyms$(4)

ToolsGetSynonyms synonyms$(), word$

list$ = synonyms$(0)

For count = 1 To 4

If synonyms$(count) <> "" Then

list$ = list$ + ", " + synonyms$(count)

End If

Next

MsgBox list$, "Synonyms for " + word$


ToolsGetSynonyms, ToolsGetSynonyms()

示例

ToolsGetSynonyms FillArray$() [, Word$] [, MainDic$]

ToolsGetSynonyms(FillArray$() [, Word$] [, MainDic$])

ToolsGetSynonyms 语句用单词的同义词填充数组。

参数	注释
FillArray$	要用同义词填充的数组，该数组必须在 ToolsGetSynonyms 运行之前定义。
Word$	要产生同义词的单词。如果忽略 Word$，Word 就用离插入点最近的单词。
MainDic$	代表指定语言的主词典所用语言名称的文字串。有效外语名称的列表请参阅 ToolsLanguage。如果既不指定词也不指定主词典，Word 就用相当于离插入点最近的单词的语言格式的主词典。
ToolsGetSynonyms()  函数返回下列数值 。

价值	注释
0	如果没有有效同义词。
-1	如果有一个或多个有效同义词。
_____________

请参阅

校对语句和函数

ToolsGetSpelling


ToolsGrammar 示例

该示例显示信息框，询问是否要检查语法。如果选择“是”按钮（返回 -1 值），Word 开始检查语法。

ans = MsgBox("Check grammar now?", 3)

If ans = -1 Then ToolsGrammar


ToolsGrammar

示例

ToolsGrammar

显示“工具”菜单中的“语法”对话框并开始在活动文档中检查语法。

_____________

请参阅

校对语句和函数

ToolsSpelling


ToolsGrammarStatisticsArray 示例

该示例定义用于储存语法统计信息的二维数组，用活动文档的语法统计信息填充该数组，然后在插入点插入一个两栏的统计信息列表（左边是统计名、均数和索引，右边是与它们相关的统计信息。中间用制表符分隔）：

numstats = CountToolsGrammarStatistics()

size = numstats -1

Dim docstats$(size, 1)

ToolsGrammarStatisticsArray docstats$()

For count = 0 To size

InsertPara

Insert docstats$(count, 0) + Chr$(9) + docstats$(count, 1)

Next


ToolsGrammarStatisticsArray

示例

ToolsGrammarStatisticsArray TwoDimensionalArray$()

执行一次语法检查，然后用活动文档的有效语法统计信息填充二维数组。

参数	注释
TwoDimensionalArray$()	要用统计名、均数和索引（第一维）及与它们相关的统计信息（第二维）填充的二维数组，它必须在 ToolsGrammarStatisticsArray 运行之前定义。
_____________

请参阅

校对语句和函数

CountToolsGrammarStatistics()


ToolsOptionsGrammar 示例

该示例指定进行拼写和语法一起检查，然后启动语法检查功能：

 ToolsOptionsGrammar .CheckSpelling = 1, .ShowStatistics = 1

ToolsGrammar


ToolsOptionsGrammar

示例

ToolsOptionsGrammar [.Options = number] [.CheckSpelling = number] [, .ShowStatistics = number]

设置语法检查选项。 ToolsOptionsGrammar 语句的参数相当于“工具”菜单的“选项”对话框中的的“语法”选项卡上的选项。

参数	注释
.Options	指定所用于语法规则：  0  全部规则      1 商用写作  2 非正式写作  3 第一种自定义设置  4 第二种自定义设置  5 第三种自定义设置
.CheckSpelling	如果是1，在语法检查过程中检查拼写。
.ShowStatistics	如果是1，在完成语法检查后显示可读性统计信息。
_________

请参阅

校对语句和函数

ToolsGrammar


ToolsSpelling 示例

该示例询问是否要检查拼写，然后在用户选择“是”按钮时检查拼写：

ans = MsgBox("Check spelling now?", 3)

If ans = -1 Then

StartOfDocument

ToolsSpelling

End If


ToolsSpelling

示例

ToolsSpelling

在当前选定范围内检查拼写，或者如果没有选定范围，就检查从插入点位置至文档尾的拼写。

_____________

请参阅

校对语句和函数

ToolsOptionsSpelling

ToolsSpellSelection


ToolsSpellSelection 示例

该示例询问是否要检查当前选定内容的拼写，然后在用户选择“是”按钮时检查拼写：

  ans = MsgBox("Check spelling of selection?", 3)

If ans = -1 Then ToolsSpellSelection


ToolsSpellSelection

示例

ToolsSpellSelection

检查当前选定内容的拼写。如果选定范围只是一个单词的某部分，或者如果插入点在一个单词的结尾处，选定内容就扩展到包括整个单词。如果插入点不在一个单词中或不在其后，就检查下一单词。

_____________

请参阅

校对语句和函数

ToolsOptionsSpelling

ToolsSpelling


ToolsThesaurus

ToolsThesaurus

显示“工具”菜单中的“同义词库”对话框，它列出了所选单词的可替换单词。

_____________

请参阅

校对语句和函数

ToolsGetSynonyms


Activate 示例

该示例存放活动窗口的名字，打开文档然后重新激活原来的窗口。

firstwin$ = WindowName$()

FileOpen "CHAP2.DOC"

Activate firstwin$


Activate

示例

Activate WindowTitle$ [, PaneNum]

激活指定窗口标题 WindowTitle$ 的窗口。可用 WindowName$() 函数把窗口的名字存放在变量中，在需要激活该窗口时，将该变量用于 Activate.WindowsTitle$ 必须匹配“窗口”菜单中的窗口名。

参数	说明
WindowTitle$	要激活的窗口的名字，与 “窗口”菜单中的相同。
PaneNum	要激活的窗格的号码： 1 或 2  顶端窗格 3 或 4  底端窗格
_____________

请参阅

窗口语句和函数

DocSplit

NextWindow

OtherPane

PrevWindow

WindowList

WindowName$()

WindowNumber

WindowPane()


AddAddIn 示例

该示例用 AddAddln() 装入通用模板，定义变量 id 为该模板的数字标识符。

id = AddAddIn("C:\MYDOT\MYLIB.DOT", 1)	'Windows example

id = AddAddIn("HD:TEMPLATES:LIB TEMPLATE", 1)	'Macintosh example

下例用加载的 WLL 中的函数名填充数组，这些函数能像 Word 命令一样在宏中调用。

nonaddins = CountMacros(0) + CountMacros(1)

loaded = CountMacros(0, 0, 1)

size = loaded - 1

If size >= 0 Then

Dim loaded$(size)

For count = 0 To size

pos = (count + 1) + nonaddins

loaded$(count) = MacroName$(pos, 0, 1)

Next count

End If


AddAddIn, AddAddIn()

示例

AddAddIn AddIn$ [, Load]

AddAddIn(AddIn$ [, Load])

AddAddln 语句把模板或加载库加入到“文件”菜单中“模板”命令的“模板和加载项”对话框中的通用模板和加载项列表中。

参数	说明
AddIn$	模板或 WLL 的路径和文件名。
Load	指定在加入列表后是否调入模板或加载项： 0 不调入模板或加载项 1 或忽略 调入模板或加载项
AddAddln 函数的动作与语句相同，它返回对应于在通用模板或加载项列表中的位置的值：1 代表第一个模板或加载项，2 代表第二个，依次类推。该值可在其它加载项语句和函数中使用。

可在宏中用在装载的 WLL 中定义的函数，不带参数的函数可以就像语句一样使用，可用 CountMacros() 和 MacoName $() 返回这些函数名，WLL 中带参数的函数必须用 Declare 语句声明。

要了解加载通用模板和加载项的详细内容，可双击常用工具栏中的“帮助”按钮，然后键入“加载项程序”。使用WLL中的函数的详细内容请参阅《The Microsoft Word Developer's Kit》的第九章“Advanced WordBasic Techniques”。

_____________

请参阅

文档、模板和加载项语句和函数

AddInState

ClearAddIns

CountAddIns()

CountMacros()

DeleteAddIn

GetAddInID()

GetAddInName$()

MacroName$()


AddButton 示例

本例用按钮图像 80 来代替“格式”工具栏中位置 11处的按钮，赋给该按钮的内置命令是“颜色”，它需要指定另外一个值（在这种情况下“2”代表蓝色）。

DeleteButton "Formatting", 11, 0

AddButton "Formatting", 11, 1, "Color", 80, 0, "2"


AddButton

示例

AddButton Toolbar$, Position, Category, Name$ [, ButtonTxtOrImageNum[$]] [, Context] [, CommandValue$]

在工具栏中加入按钮，该按钮可以是运行内置命令中宏、应用一种字体或样式，或插入“自动图文集”词条。

参数	说明
Toolbar$	“视图”菜单的“工具栏”对话框中所列的工具栏名。
Position	对应于在指定的工具栏中加入按钮位置的序号：1 代表第一个位置，2 代表第二个位置，依次类推。注意：列表框或空格都算作位置。
Category	分配的项目的类型： 1.内置命令 2.宏 3.字体 4.自动图文集词条 5.样式
Name$	与按钮关连的内置命令、宏、字体、自动图文集词条或样式的名字。要给工具栏加空格，可指定空串（“”）。
ButtonTxtOrImageNum[$]	想在按钮上出现的正文，或对应于内置按钮集合中的按钮图像的序号，其中 0 代表没有图符（空白按钮），1 代表第一个图符，2 代表第二个图符，依次类推。按钮图符列表和它们相关序号的内容请参阅工具栏按钮图像和编号。
Context	确定保存新工具栏分配的地方： 0 或忽略   Normal 模板 1   活动模板
CommandValue$	附加正文。如不空，则是 Name$ 指定的命令所需要的。例如：如果 Name $ 是“Color”，Command Value $ 指定了颜色。详细信息请参阅 ToolsCustomizeMenus中的第二个表。
_____________

请参阅

自定义语句和函数

ChooseButtonImage

CopyButtonImage

DeleteButton

EditButtonImage

MoveButton

PasteButtonImage

ResetButtonImage


AppActivate

示例

AppActivate WindowName$ [, Immediate]

激活运行的应用程序。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。不必要指明完整的窗口名，例如：要指明名为“记事本��FILES.TXT”的窗口，可指明“记事本��FILES.TXT”，“记事本”，或者甚至是“记事”。本指令将在“任务栏”中寻找第一个与指定字符串的开头部分相匹配的窗口名。WindowsName$ 中不区分字母大小写。在 Macintosh 中 WinowsName$ 是应用程序名或 MaclD$ () 函数返回的标志。通常更愿意用标志而不是应用程序名（例如：用 MacLD $（“XCEL”）而不是“Microsoft Excel”），这是因为标志不像应用程序名，它是不会变的。
Immediate	指定何时切换其它应用程序： 0 或忽略 如果 Word 不是活动的，Word 将闪烁它的标题栏或图标，等待用户来激活 Word，然后激活其它应用程序。 1  立即激活其它应用程序，即使 Word不是活动的应用程序。
_____________

请参阅

应用程序控制语句和函数

AppClose

AppGetNames

AppIsRunning()

MacID$()

MicrosoftApplication

Shell


AppClose 示例

该示例中，如果 Microsoft Exce 正在运行，就关闭它。

If AppIsRunning("Microsoft Excel") Then

AppClose "Microsoft Excel"

End If

在 Macintosh 上，可把上例改写成下面的形式，用 MacLD $() 来指定 Micrdsoft Excel 标志。这保证了即使在改变了 Microsoft Excel 的文件名之后，该示例还可正常运行。

If AppIsRunning(MacID$("XCEL")) Then

AppClose MacID$("XCEL")

End If


AppClose

示例

AppClose [WindowName$]

关闭指定的应用程序。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略时就假设为 Word。在 Macintosh 上，Windows Name $ 可以是应用程序名，也可以是 MaciLD $() 返回的标志， WindowsName.$ 的详细内容请参阅 AppActivate。
请参阅

应用程序控制语句和函数

AppActivate

AppIsRunning()

FileExit

FileQuit

MacID$()

Shell


AppCount()

AppCount()

返回打开的应用程序的数目（包括不出现在任务栏（Windows)或“应用”菜单（Macintosh）中的隐藏了的应用程序)。示例请参阅 AppGetNames 示例。

_____________

请参阅

应用程序控制语句和函数

AppGetNames


AppGetNames 示例

本例在插入点插入应用程序窗口名列表。

size = AppCount() - 1

Dim winnames$(size)

AppGetNames winnames$()

For i = 0 To size

Insert winnames$(i)

InsertPara

Next


AppGetNames, AppGetNames()

示例

AppGetNames ArrayVariable$()

AppGetNames(ArrayVariable$())

AppGetNames 语句用打开的应用程序窗口（包括不在“任务栏”（Windows)或“应用”菜单（Macintosh)中出现的隐藏了的应用程序）的名字来填充定义了的字符串数组。如果 ArrayVariable $()中的元素个数比打开的应用程序数少，那么将尽可能地用应用程序名填充该数组，且不出错。

AppGetName$() 函数执行相同的动作，并且返回打开的应用程序窗口数（包括不在 Windows 的“任务栏”或 Macintosh 的“应用”菜单中出现的隐藏了的应用程序窗口）。AppGetName $() 返回的值与 AppCount() 相同。

_____________

请参阅

应用程序控制语句和函数

AppActivate

AppClose

AppCount()

AppIsRunning()


AppHide

AppHide [WindowName$]

在 Windows 中，隐藏指定的应用程序，并将其窗口名从“任务栏”中去掉。在 Macintosh 中，AppHide 不能使用，并会产生错误。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略时假设为 Word， WindowsName$ 的详细内容请参阅 AppActivate。
_____________

请参阅

应用程序控制语句和函数

AppClose

AppShow


AppInfo$() 示例

本例显示包含 Word 版本号的消息框：

ver$ = AppInfo$(2)

MsgBox ver$, "Microsoft Word Version", 64

下面的宏说明了一种在运行一条指令前用用户自定义函数来检查当前平台的方法。这项技术有助于设计在 Windows 和 Macintosh 中都能运行的宏。

Sub Main

If fMac Then MsgBox "Current platform is Macintosh"

End Sub

Function fMac

a = InStr(AppInfo$(1), "Macintosh")

If a Then fMac = -1

End Function


AppInfo$()

示例

AppInfo$(Type)

返回有关 Word 应用程序的24类信息中的一种。注意：GetSystemInfo$() 函数也返回类似信息。同样也可用 GetSystemlafo 语句来把系统信息填入数组。

Type 是下列数字中的一个，指定了返回信息的类型。

类型	说明
1	环境（如“Windows 3.10”或“Macintosh 7.1”）。
2	Word 版本号（例如“6��0”）。
3	如果 Word 在特殊模式下（例如： CopyText 或 MoveText 模式），则返回-1。
4	在 Windows 中，为从屏幕左边界到 Word 窗口左边框的距离，以“磅”为单位（72磅=1英寸），注意：在 Word 最大化时，Applnfo(4)返回负值，说明边框已超出了屏幕边界（具体的值根据边框宽度不同而变化）。在 Macintosh 中，Applnfo(4)返回-1。
5	.在 Windows 中，为从屏幕上边界到 Word 窗口上边框之间的距离，以磅为单位。注意：在 Word 最大化时，Applnfo(5) 返回负值，指明边框已超越了屏幕边界（具体的值视边框宽度不同而不同）。
6	工作区宽度，以磅为单位。在 Windows 中，在加宽 Word 窗口时，该宽度也增加，注意：增大缩放百分比会减小返回值，反之亦然。
7	工作区高度，以磅为单位。隐藏 Word 屏幕元素或在 Windows 中增加 Word 窗口高度时，该高度会增加，注意：增大缩放百分比会减小返回值，反之亦然。
8	当应用程序窗口最大化时返回 -1（在 Macintosh 中总是这种情况）。
9	总内存数，以千字节为单位，在 Windows 95 和 Windows NT 中，该值返回0。
10	可用内存数，以千字节为单位，在 Windows 95 和 Windows NT 中，该值返回0。
13	如果装了数学协处理器，则返回-1。
14	如果安装了鼠标，则返回-1。
15	可用硬盘空间，以千字节为单位。
16	返回 Word 的语言版本，例如对 Word 的法文版则返回“Francais”。语言列表请参阅 ToolsLanguage。
17	返回列表分隔符设定。
18	返回小数设定。
19	返回千位的间隔设定。
20	返回货币符号。
21	返回时钟格式。
22	返回 AM 串。
23	返回 PM 串。
24	返回时间分隔符。
25	返回日期分隔符。
26	在 Windows NT 中，如果 AM 和 PM 串在时间值之前显示则返回 1，否则返回 0。在 Windows 95 中，返回 0。 在 Word 6.0 中，该值不能用，会产生错误。
_____________

请参阅

应用程序控制语句和函数

AppGetNames

GetSystemInfo


AppIsRunning()

AppIsRunning(WindowName$)

如果指定应用程序在运行，则返回 -1，否则返回 0。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。在 Macintosh 中，WindowsName$ 可以是应用程序名，也可以是 MacLD $() 返回的标志。
 WindowsName$ 的详细内容请参阅 AppActivate 示例。

_____________

请参阅

应用程序控制语句和函数

AppActivate

AppClose

MacID$()

MicrosoftApplication


AppMaximize, AppMaximize()

AppMaximize [WindowName$] [, State]

AppMaximize([WindowName$])

在 Windows 中，AppMaximize 语句指定应用程序窗口最大化或恢复原来大小。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略则假设为 Word， WIndowsName$ 的详细内容请参阅 AppActivate。
State	指定将应用程序窗口最大化还是恢复原来大小： 0 恢复应用程序窗口原来大小 1    将应用最大程序窗口化 忽略  切换恢复和最大化两种状态。如果应用程序的状态发生变化，它就被激活，如果状态不发生变化（例如运行了指令 AppMaximize“Microsoft Excel”，1，而 Microsoft Excel 已最大化了），应用程序则不被激活。
AppMaximize()函数返回下列值。

值	说明
-1	应用程序窗口最大化
0 (zero)	应用程序窗口没有最大化
在 macintosh 中，AppMaximize 和 AppMaximize() 都不能用，会产生错误。

_____________

请参阅

应用程序控制语句和函数

AppMinimize

AppMove

AppRestore

AppSize

DocMaximize


AppMinimize, AppMinimize()

AppMinimize [WindowName$] [, State]

AppMinimize([WindowName$])

在 Windows 中，AppMinimige 语句将指定应用程序窗口最小化或恢复原来大小。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略时假设为 Word， WindowsName $ 的详细内容请参阅 AppActivate。
State	指定将应用程序窗口最小化还是恢复原有大小： 0  将应用程序窗口恢复原来大小 1    将应用程序窗口最小化 忽略  在恢复和最小化之间切换。如果应用程序窗口从图标恢复原来大小，它就被激活，如果状态不发生变化或应用程序窗口被最小化，则不被激活。
注释：

如果在 Word 最小化时，在宏中发生了没有捕捉到的错误，宏就停止，Word 图标闪动；如果是在还原时发生，Word 显示一条消息指明错误类型。

AppMinimige() 函数返回下列值。

值	说明
-1	应用程序窗口被最小化
0	应用程序窗口没有最小化
在 Macintosh 中，AppMinimize 和 ApMinimize() 都不能用，会产生错误。

_____________

请参阅

应用程序控制语句和函数

AppMaximize

AppMove

AppRestore

AppSize

DocMinimize


AppMove 示例

在该 Windows 示例中，如果 Microsoft Excel 不在运行，就启动 Microsoft Excel。然后将 Word 和 Microsoft Excel 安排到两个互不重叠的窗口中，每个都占屏幕高度的一半。

If AppIsRunning("Microsoft Excel") = 0 Then MicrosoftExcel

AppRestore

AppMove 0, 0

AppSize 480, 180

AppRestore "Microsoft Excel"

AppMove "Microsoft Excel", 0, 180

AppSize "Microsoft Excel", 480, 180


AppMove

示例

AppMove [WindowName$,] HorizPos, VertPos

在 Windows 中，把指定的应用程序窗口或图标移到对应于屏幕左上角的位置。如果应用程序窗口是最大化的，则会产生错误。在 Macintosh 中，该函数 AppMove 不能用，会产生错误。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略时即认为是 Word， WindowsName$ 的详细内容请参阅 AppActivate。
HorizPos, VertPos	从屏幕左上角到应用程序窗口或图标左上角的水平距离（HorigPos)和垂直距离（VertPos)，以磅为单位（72磅=1英寸）。只有当指定 WindowsName$ 时，才允许出现负值。
_____________

请参阅

应用程序控制语句和函数

AppRestore

AppSize

AppWindowPosLeft

AppWindowPosTop

DocMove


AppRestore, AppRestore()

AppRestore [WindowName$]

AppRestore([WindowName$])

在 Windows 中，AppStore 语句从最大化或最小化状态中恢复指定的应用程序，并把它激活。如果指定的应用程序窗口已经恢复了，AppRestore 就不起任何作用。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。忽略时则假设为 Word， WindowsName$的详细内容请参阅 AppActivate。
AppRestore() 函数返回下列值

值	说明
-1	应用程序被恢复
0	应用程序没有被恢复
示例请参阅 AppMove 示例。

在 Macintosh 中，AppRestore 和 AppRestore() 不能用，会产生错误。

_____________

请参阅

应用程序控制语句和函数

AppMaximize

AppMinimize

AppMove

AppSize

DocRestore


AppSendMessage 示例

该 Windows 示例启动“Windows 帮助”应用程序，然后给它发送一条消息来显示“打开”对话框。数 273是与消息 WM_COMMAND 有关的十进制数，1101该参数指定了“打开”命令。Lparam 在这种情况下被忽略，但必须仍被指定为 0。

Shell "WINHELP.EXE"

AppSendMessage "Windows Help", 273, 1101, 0


AppSendMessage

示例

AppSendMessage [WindowName$,] Message, Wparam, Lparam

发送一条 Windows 消息和有关参数给 WindowsName$ 指定的应用程序，在 Macintosh 中，AppSendMessage 不能用，会产生错误。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。如果忽略则认为是 Word， WindowsName$ 的详细内容请参阅 AppActivate。
Message	与所要发送的消息相应的十进制数，如果您有 Microsoft Windows 3.1 软件开发包或 Microsoft Win32 软件开发包的话，可在 Windows 帮助 中查找消息名，然后可用“计算器”，将有关的十六进制数转化为十进制。
Wparam, Lparam	发送的消息所用的参数。这些值代表的含义的内容请参阅《Microsoft Windows 3.1 程序员参考手册（第三版）》中有关消息的参考题目，这本书可在 Mcirosoft Windows 3.1 软件开发包中或从 Microsoft 出版社获得。也可参阅《程序员 API 参考手册（第五卷）》中有关消息的参考题目，该书可在 Microsoft Win32 软件开发包中或从 Microsoft 出版社获得。要查找所用的值，可能需要用“Spy”工具（Microsoft Windows 3.1 SDK 或 Microsoft Win32 SDK 所带）。
_____________

请参阅

应用程序控制语句和函数

AppActivate

AppIsRunning()

DDEExecute

DDEPoke


AppShow

AppShow [WindowName$]

在 Windows 中，重现并激活先前用 AppHide 隐藏起来的应用程序，并且把应用程序窗口名恢复到“任务栏”中。如果应用程序没被隐藏 ,Appshow 不起作用，在 Macintosh 中，Appshow 不能使用，会产生错误。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。如果忽略则认为是 Word， WindowsName$ 的详细内容请参阅 AppActivate。
_____________

请参阅

应用程序控制语句和函数

AppActivate

AppHide


AppSize

AppSize [WindowName$,] Width, Height

在 Windows 中，将应用程序窗口的大小变成指定的宽和高。如果应用程序窗口处在最大化或最小化状态，则产生错误。在 Macintosh 中，Appsige 不能使用，会产生错误。

参数	说明
WindowName$	应用程序窗口名开头部分的字符串。该窗口名一般出现在窗口的标题栏或“任务栏”中。如果忽略则假设为 Word， WindowsName$ 的详细信息请参阅 AppActivate。
Width, Height	应用程序窗口的宽度和高度。单位是磅（72磅=1英寸）。
示例请参阅 AppMove 示例。

_____________

请参阅

应用程序控制语句和函数

AppMove

AppRestore

AppWindowHeight

AppWindowWidth

DocSize


AppWindowHeight, AppWindowHeight()

AppWindowHeight [WindowName$,] Height

AppWindowHeight([WindowName$])

在 Windows 中，AppWindowHeight 语句将应用程序窗口的高度调整至指定数目的磅数（如果忽略了 WindowsName$，则假设为 Word）AppWindowsHeight 允许只改变窗口的高度而不影响它的宽度（与 AppSize 不同），AppWIndowsHeight() 函数返回应用程序窗口的高度，以磅为单位。参数描述的内容请参阅 AppSize。

在 Macintosh 中，AppWindowsHeight 与 AppWindowHeight() 都不能使用，会发生错误。

_____________

请参阅

应用程序控制语句和函数

AppSize

AppWindowPosLeft

AppWindowPosTop

AppWindowWidth


AppWindowPosLeft, AppWindowPosLeft()

AppWindowPosLeft [WindowName$,] HorizPos

AppWindowPosLeft([WindowName$])

在 Windows 中，AppWIndowsPosleft 语句将应用程序窗口或图标移至以磅数指定的水平位置（如果忽略了 WIndowName$，则假设为 Word）。AppWIndowPosLeft 允许只改变窗口或图标的水平位置而不影响其垂直位置（与 AppMove 不同），AppWIndowsPosleft() 返回应用程序窗口或图标的水平位置，以磅数为单位。参数描述请参阅 AppMove。

在 Macintosh 中，APpWindowsPosleft 与 AppWIndowsPosLeft() 都不能使用，会发生错误。

_____________

请参阅

应用程序控制语句和函数

AppMove

AppWindowHeight

AppWindowPosTop

AppWindowWidth


AppWindowPosTop, AppWindowPosTop()

AppWindowPosTop [WindowName$,] VertPos

AppWindowPosTop([WindowName$])

在 Windows 中，AppWindowsPostop 语句将应用程序窗口或图标的位置移至以磅数指定的垂直位置（如果忽略 WindowsName$，则假设为 Word），AppWindowsPostop 允许只改变窗口或图标的垂直位置而不影响其水平位置（与 AppMove 不同），AppWIndowsPosTop() 函数返回应用程序窗口或图标的垂直位置，以磅为单位。参数描述请参阅 AppMove。

在 Macintosh 中，AppWindowsPosTop 与 AppWIndows PosTop() 都不能使用，会发生错误。

_____________

请参阅

应用程序控制语句和函数

AppMove

AppWindowHeight

AppWindowPosLeft

AppWindowWidth


AppWindowWidth, AppWindowWidth()

AppWindowWidth [WindowName$,] Width

AppWindowWidth([WindowName$])

在 Windows 中，AppWindowWielth 将应用程序窗口的宽度调整至指定的磅数（如果忽略了 WindowsName$，则假设为 Word）。AppWindowWiolth 允许只改变窗口的宽度而不影响其高度（与 AppSize 不同），AppWindowWidth() 函数返回应用程序窗口的宽度，以磅为单位。参数描述请参阅AppSize。。

在 Macintosh 中，AppWIndowtidth 与 AppWindowWidth() 都不能使用会发生错误。

_____________

请参阅

应用程序控制语句和函数

AppSize

AppWindowHeight

AppWindowPosLeft

AppWindowPosTop


Beep 示例s

本例在显示输入框之前立即产生蜂鸣声。

Beep

name$ = InputBox$("The macro has finished running. " + \

"Save document as:")

下例使计算机蜂鸣三次。嵌套在第一个 For…Next 循环中的第二个循环提供了两次蜂鸣之间的延时。在实现中，延时循环使 Word 在产生下一次蜂鸣之前先计数到 1000。如果没有延时循环，Word 产生蜂鸣太快，以至于听起来就像单个连续的蜂鸣。可通过增减第二个 For…Next 循环中的终值来变化两次蜂鸣间的延时。例如：将终值改为 5000 会增加蜂鸣间的延时，改为100将缩短延时。

Sub BeepThreeTimes

For x = 1 to 3

Beep

For timer = 1 To 1000	'Delay loop between beeps

Next timer

Next x

End Sub


Beep

示例

Beep [ErrorType]

使计算机的扬声器产生声音。Beep 的典型用处是告知长进程的结束，或指示发生了错误。

在 Windows 中，Beep 产生的声音与指定的错误类型有关。可用“控制面板”中的“声音”选项把声音与错误类型联系起来。如果没有安装声音设备，Beep 就会通过计算机扬声器产生默认的声音而不考虑 ErrorType 的值。

在 macintosh 中，Beep 产生在“声音”控制面板中选择的声音而不考虑 ErrorType 的值。

参数	说明
ErrorType	在 Windows 中，为声音类型，与“控制面板”中指定的一致： -1 计算机扬声器产生的默认声音 0或忽略   默认声音 16   紧急停止 32   问题 48   呼叫 64   星号 如果没有与指定的错误类型相联系的声音，Word就产生默认的声音。
注释

在 Windows 3.1 中，如果在 WIN.INI 的 [Windows] 节中包括了行 Beep=No，就不会产生蜂鸣声。在 Windows NT 中，如果注册表中的 Beep 设置在 HKEY CURRENT USER\“控制面板\”“声音”键值处的值为“No”，就不会产生蜂鸣声。


Begin Dialog...End Dialog 示例

该示例定义并显示了一个包括全部有效对话框控制的对话框（在指令后给出）。注意：Picture 指令指向 CUPART 文件夹中的一个 Windows 图元文件图形，文件夹由 Word 安装。在 Macintosh 中，路径和文件名用“HD：WORD6：CUPART：BIRD”替换。

用 Begin Dialog...End Dialog 定义了对话框后，还另需两条指令来显示：一条是 Dim 指令，定义对话记录来存放对话框有关的值，另一条是 Dialog 指令，显示对话框。注意：在 FilePreview 控制中，显示一个文档需要一个对话函数。对话函数的内容请参阅《Microsoft Word Developer's Kit》的第五章“Working with Custom Dialog Boxes”。

Sub MAIN

Dim MyList$(2)

MyList$(0) = "Blue"

MyList$(1) = "Green"

MyList$(2) = "Red"

Begin Dialog UserDialog 612, 226, "Every Dialog Box Control", \

.DlgFunction

ComboBox 8, 76, 176, 111, MyList$(), .ComboBox1

CheckBox 198, 79, 180, 16, "&Check Box", .CheckBox1

ListBox 195, 102, 189, 83, MyList$(), .ListBox1

DropListBox 417, 5, 179, 108, MyList$(), .DropListBox1

Text 417, 186, 35, 13, "&Text"

TextBox 417, 199, 179, 18, .TextBox1

GroupBox 7, 4, 177, 65, "&Group Box"

OptionGroup  .OptionGroup1

OptionButton 17, 16, 148, 16, "Option Button &1"

OptionButton 17, 33, 148, 16, "Option Button &2"

OptionButton 17, 50, 148, 16, "Option Button &3"

Picture 199, 7, 181, 62, "C:\WINWORD\CLIPART\BIRD.WMF", 0, .Picture1

FilePreview 417, 31, 179, 148, .fileprev

PushButton 10, 199, 108, 21, "&PushButton"

CancelButton 131, 199, 108, 21

OKButton 253, 199, 108, 21

End Dialog

Dim sampleDlg As UserDialog

DisableInput 1

button = Dialog(sampleDlg)

DisableInput 0

End Sub

Function DlgFunction(identifier$, action, suppvalue)

'A dialog function is required to display

'a document in the FilePreview control.

End Function


Begin Dialog...End Dialog

示例

Begin Dialog UserDialog [HorizPos, VertPos,] Width, Height, Title$ [, .DialogFunction]
Series of dialog box definition instructions
End Dialog

包括定义在宏中创建的对话框的指令。一个对话框定义由一系列定义对话框不同元素（如“确定”按钮、“取消”按钮等）的指令组成。对话框元素也称为对话框控制。

最简单的创建对话框的方法是使用“对话框编辑器”。在“对话框编辑器”中，可用鼠标设计对话框，然后“对话框编辑器”就会生成定义对话框所需 WordBasic 代码。创建和使用对话框的内容请参阅 《The Microsoft Word Developer's Kit》的第五章“Working with Custom Dialog Boxes”。

注意：

每个自定义对话框至少必须含有一个命令按钮以使用户能关闭对话框。因此，对话框定义必须含有 OKButton、CancelButton 或 PushButton 指令，否则在宏运行时会产生 WordBasic 错误。

参数	注释
HorizPos, VertPos	从 Word 窗口左上角到对话框左上角的水平和垂直距离，增量是系统字体(Windows)或对话字体(Maciutosh)的1／8和1／12。如果没有指定 HorigPos 和 VertPos,Word 就把对话框放在 Word 窗口的中央。
Width, Height	对话框的宽度和高度，增量是系统字体(Windows)或对话字体(Macintosh)的1／8和1／12。
Title$	在对话框标题栏中所显示的文字，如果没有指定 HorigPos 和 VertPos，或指定了 DialogFunction，可以省略Tittle$。如果没有指定 Title$，就使用应用程序名。
.DialogFunction	与对话框相关的对话函数名。用于显示时需动态更新的对话框。
可用 TAB 键在对话框的控制间移动。对话框定义中的指令顺序决定了在对话框中用tab键的顺序。在默认情况下，当对话框显示时，对话框定义中的第一条指令所代表的对话控制处于选中状态。也可在对话函数中用 DlgFocus 语句来覆盖掉这种默认。还可以用 Dialog 语句来指定一个对话框的默认按钮。

_____________

请参阅

对话框定义语句和函数

CancelButton

CheckBox

ComboBox

Dialog

Dim

DropListBox

FilePreview

GroupBox

ListBox

OKButton

OptionButton

OptionGroup

Picture

PushButton

Text

TextBox


BorderLineStyle, BorderLineStyle()

BorderLineStyle Style

BorderLineStyle()

Borderline Style 语句为随后的 BorderBottom、Borderluside、Borclerleft、BorderOutside、BorderRight 和 BorderTop 语句指定线型。

参数	注释
Style	13 种线型之一： 0 空 1 2 3 4 5 6 7 8 9 10 11 12 线型对应的“Hairline”选项只有在 Macintosh 中才有效。
使用 BorderLineStyle 的示例请参阅 BorderBottom 示例。

BorderLineStyle() 函数返回一个 0 到 12 之间的数，对应于随后的边界指令所用的线型。注意这种选型没必要与选定段落表格单元或图形中边界的线型匹配。

_____________

请参阅

边框和图文框语句及函数

BorderBottom

BorderInside

BorderLeft

BorderNone

BorderOutside

BorderRight

BorderTop

FormatBordersAndShading

ShadingPattern


CancelButton

CancelButton HorizPos, VertPos, Width, Height [, .Identifier]

在一个定制对话框中生成一个“取消”按钮。用户选择“取消”按钮来关闭对话框而不做任何动作。

参数	注释
HorizPos, VertPos	从对话框左上角到“取消”按钮左上角的水平和垂直距离，增量是系统字体（Windows）和对话字体（Macintosh）的1/8和1/12。
Width, Height	“取消”按钮的宽度和高度，增量分别是系统字体（Windows）和对话字体（Macintosh）的1/8和1/12。
.Identifier	由对话函数中作用于“取消”按钮的语句如 DlgEnable 和 Dlgvisible 使用的可选标识符。如果忽略，“Cancel”是默认标识符。
如果用 Dialog 语句来显示对话框而且用户选择了“取消”按钮，WsrdBasic 就会产生错误，该错误可用 On Error 捕捉。

如果用 Dialog() 函数来显示对话框而且用户选择了“取消”按钮，函数将返回 0，而不是出错。

对话框定义中的 CancelButton 的示例，请参阅 Begin Dialog...End Dialog 示例。

_____________

请参阅

对话框定义语句和函数

Begin Dialog...End Dialog

Dialog

Err

Error

OKButton

On Error

PushButton


ChangeCase 示例

该示例选定当前段落（用预定义书签“\Para”）并将各句首字母设为大写。

EditGoTo "\Para"

ChangeCase 4


ChangeCase, ChangeCase()

示例

ChangeCase [Type]

ChangeCase()

ChangeCase 语句将选定文本的大小写格式设置为句子大小写，或选定的单词、内容、句子的首字母大写。ChangeCase 不改变与选定文本有关的字符格式，这与 SmallCaps 和 AllCaps 语句一样。Change Case 对应于“格式”菜单中的“更改大小写”命令。

参数	注释
Type	指定大小写的改变： 忽略  如果选定内容是一个句子或更少，则应在全部小写、全部大写和首字母大写间切换，如果选定内容多于一句，则应在全部小写、全部大写和首字母大写之间切换。 0     将文本设置成全部小写： 1     将文本设置成全部大写 2     将每个选定单词的首字母大写 3     将选定内容的首字母大写 4     将每个选定句子的首字母大写 5     切换所有选定字母的大小写（例如“Word”变成“wORD”）
如果没有选定内容，Word 就选定离插入点最近的单词，然后改变选定单词的大小写。

ChangeCase()函数返回下列值：

值	注释
0	选定的文本中没有大写字母
1	选定的文本中全为大写字母
2	选定的文本为大小写字母的混和
_____________

请参阅

编辑语句和函数

AllCaps

FormatChangeCase

LCase$()

SmallCaps

UCase$()


CharColor 示例

该示例选定当前段（用预定义书答“\Para”），并且如果段中包含了“Comments：”字符串的话，就应用紫色的字符颜色格式。

EditGoTo "\Para"

If InStr(Selection$(), "Comments: ") Then CharColor 5


CharColor, CharColor()

示例

CharColor Color

CharColor()

CharColor 语句将选定内容的字符颜色设置成指定颜色，即下面某个数字代码：

颜色	注释
0	自动
1	黑色
2	蓝色
3	青色
4	绿色
5	紫色
6	红色
7	黄色
8	白色
9	深蓝
10	深青
11	深绿
12	深紫
13	深红
14	深黄
15	深灰
16	浅灰
CharColor() 函数返回 CharColor 语句所设的相同数字代码，或在所有选定文本不是同一种颜色时返回 -1。

_____________

请参阅

字符格式语句和函数

FormatFont

SelectCurColor


ChDefaultDir 示例

该示例生成文件夹 C:\BAK，然后在运行期间设置 AUTOSAVE-PATH 到这个目录，On Error Resume Next 指令可在该文件夹已存在时防止错误使宏停止。在 Macintosh 中，文件夹名用例如 HD：BACKUP 的来代替。

On Error Resume Next

MkDir "C:\BAK"

Err = 0

ChDefaultDir "C:\BAK", 5


ChDefaultDir

示例

ChDefaultDir Path$, Type

将 Word 的一个默认文件夹设为指定路径。不像 ToolsOptions FileLocations 那样把默认文件夹修改存入 WINWORD6.INI(Windows 3.x)、Word 设置(6)(Macintosh) 或注册表 (Windows 95 和 Windows NT)，ChDefawtdir 只改变当前 Word 会话的默认文件夹。用 ChDefanctDir 设置的变更不会影响“工具”菜单的“选项”对话框中的“文件位置”表。

参数	注释
Path$	要把 Type 指定的默认文件夹设置成的路径。
Type	对应于要设置的缺省文件夹的数值： 0   DOC��PATH 1   PICTURE��PATH 2   USER-DOT-PATH 3   WORKGROUP-DOT-PATH 4   INI-PATH 5   AUTOSAVE-PHTH 6   TOOLS-PATH 7   CBT-PATH 8   STARTUP-PATH 15  样式 - 库 - 模板路径（Word 7.0 忽略该设置） 注意不能用 ChDefaultDir 来设置类型 9 到14。要返回当前 Word 运行期间的值，可用 DefaultDir $()。
_____________

请参阅

磁盘存取和管理语句和函数

ChDir

DefaultDir$()

Files$()

GetDirectory$()

ToolsOptionsFileLocations


ChDir 示例

该示例改变一个文件夹，然后显示“打开”对话框，使您能打开存放在这个文件夹中的一篇文档。可这样对常用的文件夹编宏，并把它指定为工具栏按钮以便使用。在 Macintosh 中，文件夹名用诸如 HD：Word6:LETTERS 的来代替。

ChDir "C:\WINWORD\LETTERS\PERSONAL"

Dim dlg As FileOpen

button = Dialog(dlg)

If button = -1 Then FileOpen dlg

下例确定当前文件夹是否是 C：\WINWORD，如果不是，则改变成此路径。

If Files$(".") <> "C:\WINWORD" Then ChDir "C:\WINWORD"

下面是一个相同的示例，在 Macintosh 中重写。

If Files$(":") <> "HD:WORD 6" Then ChDir "HD:WORD 6"


ChDir

示例

ChDir Path$

将当前文件夹设成 Path$ 中指定的驱动器或文件夹。如果驱动器省略，对指定路径的搜索从当前文件夹开始。可以用 ChDir 来设置文件夹，这样在用 FileOpen 来打开一个文档时，不用指定一个完整的路径。

_____________

请参阅

磁盘存取与管理语句和函数

Connect

CountDirectories()

Files$()

GetDirectory$()

MkDir

RmDir


CheckBox

CheckBox HorizPos, VertPos, Width, Height, Label$, .Identifier

在一个定制对话框中生成一个复选框。

参数	注释
HorizPos, VertPos	从对话框左上角到包含复选框及其相关标签的矩形左上角之间的水平和垂直距离，增量是系统字体(WIndows)或对话字体(Macintosh)的1/8和1/12。
Width, Height	复选框的宽度和高度，增量是系统字体(Windows)和对话字体(Macintosh)的1/8和1/12。
Label$	复选框相关的标签，Label$ 的 and 号（&）引导的字符是选择和清除复选框的访问键。
.Identifier	与对话记录名一起，Identifier 生成一个变量，变量的值对应于复选框的状态，这个变量的形式是 DialogRecord.Identifier（例如 Dlg.MycheckBox），DialogRecord.ldentifier 返回如下值： 0      复选框被清除 1      复选框被选中 -1     复选框用灰色填充 标识符串（.ldentifier 不带句号）也被对话函数中作用于复选框的语句如 DlgEnable 和 DlgVisible 所使用。
对话框定义中的 CheckBox 示例请参阅 Begin Dialog...End Dialog 示例。

_____________

请参阅

对话框定义语句和函数

Begin Dialog...End Dialog


Chr$() 示例

该示例显示一个两行的消息框：

MsgBox "This is the first line" + Chr$(13) + "This is the second line"

下例产生一个字符码在 127 和 255 之间的符号表（通常被称作扩展字符集），第一条指令要求命名要查看其符号的字体。

fontchoice$ = InputBox$("Please enter the Font Name ", \

"Symbol Table", "Symbol")

For i = 127 To 255

Font "Times New Roman"

Insert Str$(i) + Chr$(9)

Font fontchoice$

Insert Chr$(i)

InsertPara

Next


Chr$()

示例

Chr$(CharCode)

返回字符码是 CharCode 的字符。

在 0 到 31 范围内包括 0 到 31 的字符码对应标准 ASC II 码中的不可打印字符。例如 Chr$(13) 是回车字符，Chr $(9) 是制表位字符，可以在 MsgBox（但不是 IuputBox$()）所用的消息串中用 Chr $(13) 来生成一个新行。

下面的表列出了几个可用 Chr$() 产生的特殊字符：

值	返回的字符
Chr$(9)	制表符。
Chr$(11)	换行符（SHIFT+ENTER）。
Chr$(13)	段落标记。 注意在将文件存为 Word 6.0 中的文档格式之前，在 Windows 文本文件和 Word for Windows 版本 2.x 文档中，段落标记的值是 chr $(13)+chr $(10) 。
Chr$(30)	不断开的连字符。
Chr$(31)	可选的连字符。
Chr$(32)	空格字符。
Chr$(34)	引号。
Chr$(160)	不间断空格（Windows）。
Chr$(202)	不间断空格（Macintosh）。
指定了一个字符码的符号外观根据所用的字体不同而不同。在 127 到 255 范围内包括 127 和 255 的字符码，根据所用的字体，返回不同的符号。

因为在 WordBasic 中，双引号用来指示一个字符串的开始或结束，所以如果想在字符串中包括双引号，可用 chr$(34)。例如要生成带有消息“Type”“Yes” or “No”的消息框，可用下列语句。

MsgBox "Type " + Chr$(34) + "Yes" + Chr$(34) + " or " + \

Chr$(34) + "No" + Chr$(34)

提示：

可以在指令中键入一对对的双引号，在第一次运行或保存宏的时候，Word 会用 chr$(34) 把它们转化成正确的语法，例如，Word 把 MsgBox“Type”“Yes”or“No”转化成上述指令。同样，制表位字符也被自动转化成 chr$(9)。

_____________

请参阅

字符串和数字语句和函数

Asc()

Str$()


CleanString$() 示例

该示例CleanString$()在选定文本中除去任何不可打印字符（除字符13）。

temp$ = Selection$()

clean$ = CleanString$(temp$)


CleanString$()

示例

CleanString$(Source$)

从 Source$ 中除去不可打印字符和特殊的 word 字符，或将它们转化为空格（字符码32）。

在 Windows 或 Macintosh 中，除非特别注明，下列字符被转化成空格。

字符码	注释
1-29	不可打印字符字符13（段落标记）不被除去，字符10转化成字符 13，除非是在字符 13 后面，在这种情况下字符 10 被删除。字符 7 被删除，除非是在字符 13 后面，在这种情况下字符7转化成字符 9（制表位字符）。
31	可选连字符。字符 31 被删除而不是变成空格。
在Windows中，下列字符的转化说明如下：

字符码	注释
160	不断开空格，转化成空格。
172	可选连字符号，删除。
176	不断开空格符号，转化成空格。
182	段落标记字符，删除。
183	圆点字符，转化成空格。
在 Macintosh 中，下列字符的转化说明如下：

字符码	注释
194	可选连字符号，删除。
202	不断开空格，转化为空格。
如果在选定内容中包含了一个域，并且显示了域代码，CleanString $() 将域字符变成空格。

_____________

请参阅

字符串和数字语句和函数

LTrim$()

RTrim$()


ComboBox

ComboBox HorizPos, VertPos, Width, Height, ArrayVariable$(), .Identifier[$]

在一个定制对话框中生成一个组合框，一个由一个列表框和一个文本框组成的单个控制。用户可以从列表中选择一个项，也可以在文本框中键入一个新项。

参数	注释
HorizPos, VertPos	从对话框左上角到组合框左上角的水平和垂直距离，增量是系统字体（Windows）或对话字体（macintosh）的1/8和1/12。
Width, Height	组合框的宽度和高度，增量是系统字体（Windows）或对话字体（Macintosh）的1/8和1/12。
ArrayVariable$()	包含了在组合框中所列的项一个文本数组。
.Identifier[$]	与对话记录名一起使用，Idntifier $〔〕产生一个变量，变量的值对应于组合框中所选项的文本或键入的文本。变量的格式是 DialogRecord.ldentifier$〔〕（例如 dig.MycomboBox$）。美元符号($)是可选的，可用来指示变量是一个字符串变量。 标识符串（.ldentifier $〔〕删除这个圆点）也可以被一个对话函数中作用于组合框的语句诸如 DlgEnable 和 DlgVisible 所使用。
在定义包含一个组合框的对话框之前，宏必须定义并赋值给 ArrayVariable $() 中的元素。对话框定义中的 ComboBox 示例请参阅 Begin Dialog...End Dialog 示例。

_____________

请参阅

对话框定义语句和函数

Begin Dialog...End Dialog

Dialog

Dim


Connect 示例

该示例建立一个与某一个由口令“smiley”保护的网络驱动器的连接并把下一个可用的网络驱动器符赋给这个网络驱动器。

Connect .Path = "\\PROJECT\INFO", .Password = "smiley"


Connect

示例

Connect [.Drive = number,] .Path = text [, .Password = text]

在 Windows 中，建立一个与某一网络驱动器的连接。在 Macintosh 中，Connect 不能使用，会产生一个错误；所以用 MountVolume 来代替。

参数	注释
.Drive	与赋给网络驱动器的字母对应的数，在这里 0 对应第一个可用盘符，1 对应第二个可用盘符，依次类推。如果不指定 Drive，就使用下一个可用盘符。
.Path	网络驱动器的路径（例如“\\PROJECT\INFO”）。
.Password	口令，如果网络驱动器用口令保护的话。
_____________

请参阅

磁盘存取和管理语句和函数

ChDir

CountDirectories()

GetDirectory$()

MountVolume


ControlRun 示例

该示例运行“控制面板”。

ControlRun .Application = 1


ControlRun

示例

ControlRun .Application = number

在 Windows 中，运行“剪贴板”或“控制面板”。如果想运行另外的程序，可使用 Shell 语句。在 Macintosh 中，ControlRun 不能使用，否则会发生错误。

参数	注释
.Application	要运行的应用程序： 0  “剪贴板” 1  “控制面板”
_____________

请参阅

应用程序控制语句和函数

Shell

ShowClipboard


Converter$() 示例

该示例在插入点插入一个 Word 可用的文件格式类别名列表。指令运行到 a$ 是一个空字符串（“”），表示已到了可用格式列表的结尾。

x = 0

a$ = Converter$(x)

While a$ <> ""

Insert a$ + Chr$(13)

x = x + 1

a$ = Converter$(x)

Wend


Converter$()

示例

Converter$(FormatNumber)

返回与 FormatNumber 相关的文件格式的类别名

参数	注释
FormatNumber	FormatNumber   对应于“文件”菜单的“另存为”对话框中“文件类件”下所列的格式的一个数。0 对应第一种文件格式，1 对应于第二种，依次类推。 FormatNumber 也是 ConverterLookup() 所返回的值。注意在某些情况下， ConverterLookup() 返回的格式号并不与列表框中这种格式名的位置匹配。例如，在 Windows 95， ComerterLookup(“Excel WOrkSheet”)返回101。
_____________

请参阅

文档、模板和加载项语句和函数

ConverterLookup()

FileSaveAs


 ConverterLookup() 示例

本 Windows 例子将活动文档存为(RTF)格式，用类别名“MSRTF”来指定这种格式。

FileSaveAs .Name = "C:\RTF\TEST.RTF", \

.Format = ConverterLookup("MSRTF")

本 Macintosh 例子也将活动文档存为 RTF，但它用“另存为”对话框“文件类型”中的名字，而不用类别名来指定这种格式。

FileSaveAs .Name = "HD:RTF:RTF TEST", \

.Format = ConverterLookup("Rich Text Format")


ConverterLookup()

示例

ConverterLookup(FormatName$)

返回一个与由 FormatName $ 所指定的文件类型相对应的数。可以在 FIleSureAs 指令的 Format 参数中使用这个数来将文件存成一个不同的格式。若指定的格式不存在，ConverterLookup 返回 -1。

参数	注释
FormatName$	Converter$()返回的格式的类别名或在“另存为”对话框“文件类型”框中所示的一种文件格式的名字。
_____________

请参阅

文档、模板和加载项语句和函数

Converter$()

FileSaveAs


ConvertObject 示例

本 Windows 例子将选定的嵌入对象的显示改为存放在 PROGMAN.EXE 中的一个图标。

ConvertObject .IconNumber = 28, .IconFilename = "PROGMAN.EXE", \

.Caption = "Caption Text", .DisplayIcon = 1


ConvertObject

示例

ConvertObject [.IconNumber = number] [, .ActivateAs = number] [, .IconFilename = text] [, .Caption = text] [, .Class = text] [, .DisplayIcon = number]

将选中的嵌入对象从一种类型转化为另一种类型，并允许使用不同的服务器应用程序来编辑对象，或改变对象在文档中的显示方式。CorwertObject 语句的参数对应于“编辑”菜单中“对象”子菜单的“转换”对话框中的选项。

参数	注释
.IconNumber	如果 .DisplayLcon 设为 1，则是一个与想在程序文件中使用的由 .LconFileName 指定的图标相对应的数。图标列在“插入”菜单中“对象”命令的“更改图标”对话框中。0 对应第一个图标，1对应于第二个，依次类推。如果忽略，则使用第一个（默认）图标。 在 Macintosh 中，嵌入对象的图标不能更改，这个参数被忽略。
.ActivateAs	指定 Word 是转换还是设置选定对象的服务器应用程序。 0  将选定对象转换成 .Class 指定的对象类型。 1  用 .Class 指定的服务器应用程序来编辑对象。注意，这个设置作用于选定类型的所有对象，并且在插入指定类型的对象时，Word 使用指定的服务器应用程序。
.IconFilename	如果 .Displaylcon 设为1，则是要显示的图标所存放的程序文件的路径和文件名。 在 Macintosh 中，嵌入对象的图标不能更改，这个参数被忽略。
.Caption	如果 .Dispalycon 设成1，则是要显示图标的标题。如果省略，则 Word 插入对象名。
.Class	指定要转化成的对象类型的一个类型名，或用来编辑对象的服务器应用程序，具体要根据 .ActivateAs 的设置。Word 文档的类型名是 Word.Document.6,Word 图片的类型名是 Word.Picture.6。 要查看其它类型名，可在一个文档中插入要转化的类型的对象，然后看域代码，对象的类型名跟在单词“EMBED”后面。
.DisplayIcon	指定是否将对象显示为一个图标。 0 或忽略  对象不显示成一个图标 1      对象显示成一个图标
_____________

请参阅

对象链接和嵌入语句和函数

InsertObject


CopyButtonImage 示例

该示例将常用工具栏上的第三个按钮（“保存”按钮）的图符粘贴至名为“TextBar”的自定义工具栏上的第一个按钮。

CopyButtonImage "Standard", 3

PasteButtonImage "TestBar", 1


CopyButtonImage

示例

CopyButtonImage Toolbar$, Tool [, Context]

复制指定工具栏按钮上的图符，使该图符能用 PasteButtenlmage 粘贴至另一按钮。

参数	注释
Toolbar$	工具栏的名字，与“视图”菜单的“工具栏”对话框中所出现的一致。
Tool	对应于要复制的按钮图符的一个数，其中 1 是指定工具栏上的第一个按钮，2 是第二个，依次类推。
Context	指定 Word 要复制哪一个按钮图符： 0 或忽略  在一个基于正文模板的文档是活动的时所显示的按钮图符。 1  当前所显示的按钮图像。 注意：显示的按钮图符依赖于活动模板、任何装载的通用模板以及正文模板的定制设定（如有的话） 。
_____________

请参阅

自定义语句和函数

AddButton

ChooseButtonImage

EditButtonImage

MoveButton

PasteButtonImage

ResetButtonImage


CopyFile 示例

该示例将文件 JULY.DOC 复制到文件夹 C:\WINDOWR\MEMOS 中。

CopyFile "JULY.DOC", "C:\WINWORD\MEMOS"

该示例显示了一个提示复制当前文件的文件夹（C:\BAK）的对话框。 在 Macintosh 机上，用诸如 HD:BACKUP 来替代默认的文件夹名。

a$ = FileName$()

Dim dlg As CopyFile

dlg.FileName = a$

dlg.Directory = "C:\BAK"

x = Dialog(dlg)

If x = -1 Then CopyFile dlg


CopyFile

示例

CopyFile .FileName = text, .Directory = text

将文件复制到指定的文件夹中，CopyFile 函数允许为复制的文件指定新文件名。

参数	注释
.FileName	被复制的文件名。如果不指定路径，Word 就从当前的文件夹中寻找要复制的文件。
.Directory	复制文件所在文件夹的路径。如果想为复制文件新起文件名，就要将新文件名加入文件夹中。
_____________

请参阅

磁盘存取和管理语句和函数

FileSaveAs

Kill

Name


CopyText 示例

该示例复制当前段落（用预定义书签“\Para”）。

EditGoTo "\Para"

CopyText

ParaDown

OK


CopyText

示例

CopyText

为使用“剪贴板”复制选定的文字，应在使用 CopyText 函数的前面用宏指令做一次选定，紧跟 CopyText 指令的后面再用宏指令做一次新的选定，然后再用 OK 语句复制文字。

_____________

请参阅

编辑语句和函数

Cancel

MoveText

OK


CountAddIns() 示例

该示例将共用模板和加载项列表中的文件名包含“.DOT”的所有共用模板清除。

For i = 1 To CountAddIns()

a$ = GetAddInName$(i)

If InStr(a$, ".DOT") <> 0 Then

AddInState a$, 0

End If

Next i


CountAddIns()

示例

CountAddIns()

返回“文件”菜单的“模板”命令的“共用模板和加载项”对话框中的共用模板和加载项列表中共用模板和 Word 加载项库的（WLLS）的数量。

_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

AddInState

ClearAddIns

DeleteAddIn

GetAddInId()

GetAddInName$()


CountBookmarks() 示例

该示例创建包含当前文件中所有书签名的数组。

size = CountBookmarks() - 1

Dim marks$(size)

For count = 0 To size

marks$(count) = BookmarkName$(count + 1)

Next

该示例将删除当前文件中的所有书签。

For n = 1 To CountBookmarks()

EditBookmark .Name = BookmarkName$(CountBookmarks()), \

.Delete

Next


CountBookmarks()

示例

CountBookmarks()

返回当前文件中的书签数。正如本函数说明中第一个示例所述，可用本函数定义包含当前文档中所有书签名的数组。

_____________

请参阅

Bookmarks Statements and Functions

BookmarkName$()

EditBookmark


CountDirectories() 示例

该示例确定 Word 程序文件夹中是否还有子文件夹。在 Macintosh 机上，用诸如 HD：WORD6 来代替文件夹名。

dirNum = CountDirectories("C:\WINWORD")

If dirNum = 0 Then

MsgBox "No subfolders."

Else

MsgBox "There are" + Str$(dirNum) + " subfolders."

End If


CountDirectories()

示例

CountDirectories(Directory$)

返回 Directory$ 文件夹所含子文件夹数。如果忽略 Directory$，就假设为当前文件夹；如果文件夹 Directory$ 不存在，CountDirectories() 就返回数值 -1。

_____________

请参阅

磁盘存取和管理语句和函数

Files$()

GetDirectory$()


CountDocumentVars() 示例

该示例给当前文件中的每个变量，重新配置一个空字符串（“”）。如果文件中没有变量，屏幕上就会出现信息框。

numVars = CountDocumentVars()

If numVars > 0 Then

For i = 1 To CountDocumentVars()

name$ = GetDocumentVarName$(1)

SetDocumentVar name$, ""

Next

Else

MsgBox "No document variables to reset."

End If


CountDocumentVars()

示例

CountDocumentVars()

返回当前文件中用 SetDocumentVar 或 SetDocumentVar() 设置的文档变量的数量。

_____________

请参阅

文档、模板和加载项语句和函数

GetDocumentVar$()

GetDocumentVarName$()

SetDocumentVar


CountFonts() 示例

该示例新建一个文件，并且插入已有字体名。每种字体名都用相应的字体格式显示。

FileNewDefault

For count = 1 To CountFonts()

Font Font$(count)

Insert Font$(count)

InsertPara

Next


CountFonts()

示例

CountFonts()

返回所选打印机中的有效字体数。该字体数就是“格式”菜单的“字体”对话框或格式工具栏的“字体”列表中列出的字体数目。

字体列表包括安装在打印机上的字体、True Type 字体和系统字体。

_____________

请参阅

字符格式语句和函数

字体


CountMacros() 示例

该示例将内部命令的数量存入 builtins，并将内部命令名列表插入当前文件。

loaded = CountMacros(0, 0, 1)

active = CountMacros(1)

normal = CountMacros(0)

templates = active + normal

nonbuiltins = loaded + templates

builtins = CountMacros(0, 1) - nonbuiltins

For count = 1 to builtins

pos = count + nonbuiltins

Insert Str$(count) + Chr$(9) + MacroName$(pos, 0, 1)

InsertPara

Next count


CountMacros()

示例

CountMacros([Context] [, All] [, Global])

返回可用于指定环境的宏的数量。

参数	注释
.Context	指定用来计算宏的数量的模板。 0 或忽略   Normal 模板 1         当前模板 注意：如果指定 1，当前模板为通用模板，CountMacros() 返回 0。
All	如果为 1，那么所有的宏，加载项命令和内部命令都将包含在计数内。
.Global	如果为 1，则只计算保存在加载的模板内的宏和加载项命令的数量。
_____________

请参阅

宏语句和函数

ListCommands

MacroName$()


CountMenuItems() 示例

该示例将“工具”菜单上菜单项的一个选项和分隔符列表插入当前模板。

tab$ = Chr$(9)

For n = 1 To CountMenuItems("T&ools", 0, 1)

Insert Str$(n) + tab$ + MenuItemText$("T&ools", 0, n, 1)

InsertPara

Next


CountMenuItems()

示例

CountMenuItems(Menu$, Type [, Context])

返回指定菜单上的菜单项数。分隔符也被算作菜单项。在许多情况下，一个菜单项列表被算作一项。这时，可通过查找“工具”菜单中的“自定义”对话框中的“菜单”选项卡上的“菜单上的位置”框来辩别。这方面的示例有：“文件”菜单上的文件名列表、“窗口”菜单上的窗口列表和“工具”菜单上的校对工具列表。

参数	注释
Menu$	菜单或快捷菜单名。菜单名出现在“工具”菜单的“自定义”对话框中“菜单”选项卡上的“菜单”列表框中。 在菜单名中，下划线字母前有一个可选择的 & 号。（例如，既可用“File”，也可用“&File”）。
Type	菜单类型： 0 当一个文件打开时，表示在菜单栏上的菜单。 1 当没有文件打开时，表示在菜单栏上的菜单。 2  快捷菜单。
Context	指定要计算的菜单项： 0 当一个基于 Normal 模板的文件是激活的，0表示显示在菜单上的项。 1 或忽略  当前显示在菜单上的项。 注意：显示在菜单上的项，取决于当前模板、任何加载的共用模板和“通用”模板的自定义设置（如果有的话）。
_____________

请参阅

自定义语句和函数

MenuItemMacro$()

MenuItemText$()


Date$() 示例

该 Windows 示例按 MMMM d.yyyy 的形式用信息框显示当前日期（生成诸如“1 月 1，1994”的日期串）。第一条指令的作用是保存原始日期格式，以便在最后一条指令中可将其恢复。在 Macintosh 机上用“Word”设置（6）来代替“WINWORD6.INI”。

OriginalFormat$ = GetPrivateProfileString$("Microsoft Word", \

"DateFormat", "WINWORD6.INI")

SetPrivateProfileString "Microsoft Word", "DateFormat", \

"MMMM d, yyyy", "WINWORD6.INI"

MsgBox "Today is " + Date$() + "."

SetPrivateProfileString "Microsoft Word", "DateFormat", \

OriginalFormat$, "WINWORD6.INI"


Date$()

示例

Date$([SerialNumber])

返回对应 SerialNumber 的日期，用一个十进制数表示日期或时间或两者都表示。如果忽略 SerialNumber，Date$() 就返回当天日期。SerialNumber 的详细信息请参阅 DateSerial()。

日期格式由“DateFormat=”命令行规定，该命令行位于 WINWORD6.INI(Windows3.x)、WordSettings(6)(Macintosh) 的 (Microsoft Word) 部分，或位于 Windows95 或 WindowsNT 的注册表中（在 Windows3.x 中，如果没有“DateFormat=”命令行，Date$() 就用“sShortDate”将日期格式设于 WIN.INI 的 (intl) 部分）。可用 SetPrivateProfileString 来改变当前的日期格式。

_____________

请参阅

日期和时间语句和函数

DateSerial()

DateValue()

Day()

GetPrivateProfileString$()

Month()

Now()

SetPrivateProfileString

Time$()

Today()

Year()


DDEExecute 示例

该示例将启动 Microsoft Excel，并且打开到 Microsoft Excel 和“系统”标题（“系统”标题的详细内容请参阅 DDERequest$()）的通道，然后，发送命令打开 SALES.XLS(Windows) 或 BLUE SKY SAEES(Macintosh)，进入 R4CI 单元。与文件的打开或关闭不同，只要 Microsoft Excel 在运行，“系统”标题总处于有效状态。

下面是 Windows 版本的示例：

If AppIsRunning("Microsoft Excel") = 0 Then Shell "C:\EXCEL\EXCEL.EXE"

channel = DDEInitiate("Excel", "System")

q$ = Chr$(34)

cmd1$ = "[OPEN(" + q$ + "C:\EXCEL\EXAMPLES\SALES.XLS" + q$ + ")]"

cmd2$ = "[SELECT(" + q$ + " R4C2" + q$ + ", " + q$ + " R4C2" + q$ + ")]"

bothcmds$ = cmd1$ + cmd2$

DDEExecute channel, bothcmds$


DDEExecute

示例

DDEExecute ChanNum, Command$

通过动态数据交换（DDE）通道将一条或一系列命令发送到某应用程序。

参数	注释
ChanNum	DDEInitiate() 函数返回动态数据交换（DDE）对话的通道号。如果 ChanNum 值与已打开的通道的通道号不对应，就会出现错误。
Command$	服务器应用程序识别的一条或一系列命令。在 Windows 中，也可用 SendKeys 下描述的格式来发送特定的指令序列。如果不能执行特定的命令，就会出现错误。
在 Microsoft Excel 和其它许多支持“动态数据交换”（DDE）的应用程序中，Command$ 应该是宏语言中的一条或多条语句或函数。例如，在 Microsoft Excel 中建立一张新工作表的 XLM 宏指令是 NEW(1)。如果要通过一条“动态数据交换”（DDE）通道发送同样的命令，就应该用下面的指令。

DDEExecute channel, "[NEW(1)]"

注意：某些应用程序（包括 Microsft Excel）要求将通过“动态数据交换”（DDE）通道接收的每条命令都放在括号中。

可用单个 DDEExecute 指令发送多条命令。例如：下列指令告诉 Microsoft Excel 先打开再关闭一张工作表：

DDEExecute channel, "[NEW(1)][FILE.CLOSE(0)]"

注意：带括号的命令之间没有空格，命令间的空格字符会引发错误。前述指令与下面两条指令等效。

DDEExecute channel, "[NEW(1)]"

DDEExecute channel, "[FILE.CLOSE(0)]"

许多命令都要求将字符串形式的参数放入引号。由于引号在 WordBasic 中表示字符串的开始和结束，所以必须在命令字符串中用 Chr$(34) 来包含引号。例如：下列指令告诉 Microsoft Excel 打开 SALES.XLS。

DDEExecute channel, "[OPEN(" + Chr$(34) + "SALES.XLS" + Chr$(34) + ")]"

向 Microsft Excel 及其他应用程序发送命令的详细内容，请参阅《Microsoft Word 开发工具》的第八章“与其他应用程序的通讯”。

_____________

请参阅

动态数据交换语句和示例

DDEInitiate()

DDEPoke

DDERequest$()

DDETerminate

DDETerminateAll


DDEInitiate() 示例

该示例打开一条通向 Microsoft Excel 的通道，文件 SALES.XLS(Windows) 或 BLUESKY SALES(Macintosh) 为变化的通道指定了一个能够返回的通道号。如果 Microsoft 尚未运行或\文件尚未打开，函数就会返回数值 0，并产生错误。

下面是 Windows 版本的示例。

channel = DDEInitiate("Excel", "C:\EXCEL\EXAMPLES\SALES.XLS")

下面是 Macintosh 版本的示例。

channel = DDEInitiate("Excel", "HD1:EXCEL:EXAMPLES:BLUE SKY SALES")

下例首先确保 Microsoft Excel 处于运行状态，然后打开一条通向 Microsoft Excel 和“系统”标题的通道，并用 DDLRequest$() 函数得到标题项。标题项是“系统”标题中随时可以使用的一个标准项，它是包括打开文件的文件名在内的一个有效标题列表。

下面是 Windows 版本的示例。

If AppIsRunning("Microsoft Excel") = 0 Then

Shell "C:\EXCEL\EXCEL.EXE"

AppActivate "Microsoft Word", 1

End If

channel = DDEInitiate("Excel", "System")

topics$ = DDERequest$(channel, "Topics")

If InStr(topics$, "Sheet1") <> 0 Then

MsgBox "Sheet1 is an available topic."

End If

DDETerminate channel


DDEInitiate()

示例

DDEInitiate(Application$, Topic$)

初始化与一个应用程序的动态数据交换（DDE）对话并打开一个 DDE 通道，如果 DDEInitiate() 函数能够打开一条通道，它将返回一个已打开通道的通道号（大于 0 的整数）。（返回 Word 在一段时间内打开的第一条“动态数据交换”（DDE）通道为通道 1，第二条为通道 2，其余依此类推）。在“动态数据交换”（DDE）对话过程中所有后来的指令都使用这些通道号来指定相应的通道。如果 DDEInitiate() 函数不能打开某一条通道，它将返回数值 0。

参数	注释
Application$	该名称用于指定作为 DDE 服务器来支持 DDE 的应用程序。在 Windows 中，它通常就是应用程序的可执行文件的名称（不带扩展名 EXE）。如应用程序尚未运行， DDEInitiate() 函数就不能打开通道，并会返回错误。
Topic$	Application$ 识别的一个标题名。一个打开的文件就是一个典型的标题。（如果 Topic$ 是一个文件名，则文件必须是一个打开的文件）。如果 Application$ 不能识别 Topic$，DDEInitiate() 函数就会产生错误。 许多支持“动态数据交换”（DDE）的应用程序都能识别一个以标题命名的“系统”，这个“系统”随时都可以使用，并且可以用来发现其它可用的标题。“系统”标题的详细内容请参阅 DDERequest$() 函数。
可同时打开的通道的最大数量由 Microsoft Windows 和用户的系统内存及资源决定。为节省资源，在不使用某一通道的情况下，应该用 DDETerminate 或DDETerminateAll 关闭该通道。

_____________

请参阅

动态数据交换 (DDE) 语句和示例

DDEExecute

DDEPoke

DDERequest$()

DDETerminate

DDETerminateAll


DDEPoke 示例s

该示例将可变的 Total$ 数值传至 Microsoft Excel 工作表“表1”的第二行第三列，在 Macintosh 机上，DDEInitiate() 函数指令中使用的名应该是 MacID$(“XCEL”)，而不是“EXCEL”。

channel = DDEInitiate ("Excel", "Sheet1")

DDEPoke channel, "R2C3", Total$

该示例将串“Total:$1.434”传至工作表“表1”中的“Querter Total”单元格。在 Macintosh 机上，DDEInitiate( )函数指令使用的名应该是 MacID$(“XCEL”)，而不是“Excel”。

channel = DDEInitiate("Excel", "Sheet1")

DDEPoke channel, "QuarterTotal", "Total: $1,434"


DDEPoke

示例

DDEPoke ChanNum, Item$, Data$

使用一个动态数据交换（DDE）通道将数据发送到一个应用程序。在用 DDEInitiate() 函数启动一个“动态数据交换”（DDE）对话时，就已打开了一条通向指定标题（由服务器应用程序识别）的通道。例如：在 Microsoft Excel 中，每个打开的文件就是一个独立的标题。在向服务器应用程序中的标题发送信息时，必须在那个标题中指定要接收信息的项。例如：在 Microsoft Excel 中，单元格是有效项，并且它们要用“RICI”格式或命名的引用。

DDEPoke  以文字串的形式发送数据，不能以其它格式发送文字，也不能发送图形。

参数	注释
ChanNum	由 DDEInitiate() 函数返回的“动态数据交换”（DDE）对话的通道号。如果 ChanNum 和打开的通道不对应，就会发生错误。
Item$	“动态数据交换”（DDE）标题中的一项。如果服务器应用程序不能识别 Item$，就会发生错误。
Data$	包含发送给服务器应用程序的数据的字符串。
_____________

请参阅

动态数据交换 (DDE) 语句和示例

DDEExecute

DDEInitiate()

DDERequest$()

DDETerminate

DDETerminateAll


DDERequest$() 示例

下文的 Windows 示例打开了通向 Microsoft Excel 和 SALES.XLS 的通道，然后查询 R4C2单元中存储的信息。

channel = DDEInitiate("Excel", "C:\EXCEL\EXAMPLES\SALES.XLS")

a$ = DDERequest$(channel, "R4C2")

MsgBox a$


DDERequest$()

示例

DDERequest$(ChanNum, Item$)

使用一条打开的“动态数据交换”（DDE）通道，从一个应用程序中查询一项信息。在用 DDEInitiate() 函数启动一个“动态数据交换”（DDE）对话时，就已经打开了一条由服务器应用程序识别的标题的通道（例如：在 Microsoft Excel 中，每个打开的文件就是一个独立的标题）。在从服务器应用程序的一个标题查询信息时，必须在该标题中指定被查询项。例如：在 Microsoft Excel 中，单元格是有效项，并且要用“RICI”格式或命名的引用。

DDERequest$() 函数以文字串的形式返回数据；如果函数的执行不成功，就会返回空字符串（“”）。其它任何格式的文字和图形都不能传送。

参数	注释
ChanNum	由 DDEInitiate() 函数返回的“动态数据交换”（DDE）对话的通道号。如果 ChanNum 和打开的通道号不对应，就会发生错误。
Item$	由服务器应用程序识别的“动态数据交换”（DDE）标题中的项 。DDERequest$() 函数返回指定项中的全部信息。如果服务器应用程序不能识别 Item$，就会发生错误。
Microsoft Excel 和其它支持“动态数据交换”（DDE）的应用程序都能识别一个名为“系统”的标题。下表描述了“系统”标题中三个标准项。注意：可以使用“Systems”项来得到“系统”标题中其它项的列表。

“系统”标题中的项	操作
Systems	返回“系统”标题中所有项的列表
Topics	返回可用标题的列表
Formats	返回 Word 支持的所有“剪贴板”格式的列表
如何使用“系统”标题的示例请参阅 DDETerminate() 函数。

_____________

请参阅

动态数据交换 (DDE) 语句和示例

DDEExecute

DDEInitiate()

DDEPoke

DDETerminate

DDETerminateAll


DDETerminate 示例

该示例打开一条“动态数据交换”（DDE）通道，查询一个来自 Microsoft Excel 标题的列表。示例中的命令将列表插入活动 Word 文件，并且关闭通道。在 Macintosh 机上，DDEInitiate() 函数的指令所用名称应为 MacID$("XCEL")，而不是“Excel”。

channel = DDEInitiate("Excel", "System")

a$ = DDERequest$(channel, "Topics")

Insert a$

DDETerminate channel


DDETerminate

示例

DDETerminate ChanNum

关闭指定的动态数据交换（DDE）通道 。为了释放资源，应该关闭不用的通道。

参数	注释
ChanNum	由 DDEInitiate() 函数返回的“动态数据交换”（DDE）对话的通道号。如果 ChanNum 与一个打开的通道号不符，就会出现错误。
_____________

请参阅

动态数据交换 (DDE) 语句和示例

DDEExecute

DDEInitiate()

DDEPoke

DDERequest$()

DDETerminateAll


Declare 示例

以下 Windows 示例以选定内容作为在“帮助”中搜索的关键字。如果只有一项帮助主题匹配，则显示该帮助主题，如果有多项匹配，显示“搜索”对话框 （Windows 3.x）或“帮助主题”对话框（Windows 95 中），对话框中显示关键字。如果没有匹配，显示“搜索”或“帮助主题”对话框，对话框中的关键字列表中的当前关键字将是与所选关键字拼写最接近的关键字。

' Windows 95 and Windows NT declarations

Declare Function WinHelpA Lib "USER32"(hWnd As Integer, lpHelpFile \

As String, wCmd As Integer, dwData As String) As Integer

Declare Function GetActiveWindow Lib "USER32"() As Integer

' Windows 3.x declarations

' Declare Function WinHelp Lib "USER.EXE"(hWnd As Integer, lpHelpFile \

'	As String, wCmd As Integer, dwData As String) As Integer

' Declare Function GetActiveWindow Lib "USER.EXE"() As Integer

Sub MAIN

hWnd = GetActiveWindow

helpFile$ = "WINWORD.HLP"

wCmd = 261	'The decimal value for HELP_PARTIALKEY

keyWord$ = Selection$()

success = WinHelpA(hWnd, helpFile$, wCmd, keyWord$)

If success = 0 Then MsgBox "Could not start Windows Help"

End Sub


Declare

示例

Declare Sub SubName Lib LibName$ [(ArgumentList)] [Alias Routine$]

Declare Function FunctionName[$] Lib LibName$ [(ArgumentList)] [Alias Routine$] As Type

在 Windows 中，利用 Declare，WordBasic 宏可以使用 Windows 的动态链接库、Word 加载项或 Windows 操作系统中的函数。Declare 定义了函数名，库文件和函数的参数，Declare 指令通常放在宏的开始处，主函数之前。不能置于函数体中。

注意：

当试用外部函数时，要经常存盘。如果向函数传递的参数非法，可能导致 Word 或其他应用程序产生不可预测的结果。

不可在 32 位应用程序（例如，Word for Windows95）中声明 16 位库中的外部函数。在宏中必须用 32 位版本的库函数代替 16 位库函数。

在 Windows 95 和 Windows NT 中，许多 Windows 3.x 操作系统函数（常称 API 调用）的名字和位置都有改动。声明了 Windows 3.x API 调用的宏必须用 Windows 95 或 Windows NT 中适当的函数来更新，Windows3.x API 调用库的文档在 Microsoft Windows3.1 SDK 中。Windows95 和 WindowsNT 库函数的文档位于 Microsoft Win32 SDK 中。

参数	注释
Sub 或 Function	函数有返回值时用 Function 声明，否则用 Sub。
SubName or FunctionName[$]	在宏中调用函数的名字。该名字不必与库函数名一致。可用声明中 Alias 部分定义实际的名字。如果函数返回字符串，FunctionName 应带美元符($)，就象 WordBasic 中其他字符串函数一样。注意在 Windows95 和 WindowsNT 中函数名是区别大小写的，如果该名是库中函数的真名，应与文档中列出名称的保持一致。
LibName$	包含函数的库文件名，用引号括起。在 Windows 中，用带扩展名的全名，以避免混淆。 在 Windows 中，Word 在当前路径、Windows 文件夹、Windows 的 System 文件夹、Word 文件夹及 PATH 声明的路径中寻找该文件。如果文件不在上述地方，也不在 Word 加载库 ( WLL ) 中，则在文件名前应有完整的路径。
ArgumentList	代表传递给函数的参数表ArgumentList 的语法请参见以下表格。
Alias Routine$	库函数的真名，用引号括住。仅当在 Sub 或 Function 后定义的名字不是真名时才用此项，注意在 Windows 95 和 Windws NT 中函数各是区别大小写的。
As Type	声明函数返回值的数据类型。以下是合法数据类型：整型或逻辑型 ( BOOL ) ，返回值用 As Integer； 字符串 ( LPSTR ) 返回值用 As String，长整型返回值用 As Long 双精度数返回值用 As Double。
ArgumentList 语法：

(Variable[$] [As Type] [, Variable[$] [As Type]] [, ...])

下表说明 ArgumentList 的各成分。

成份	注释
Variable[$]	WordBasic 变量名。在变量名后加符号($)，等同于定义 As String，例如，fileName$ 等同于 fileName As String。如果没有 As Type 且变量名不以($)结尾，变量默认为 WordBasic 数值型变量（双精度浮点数）。
As Type	声明函数所需参数数据类型 ：As interger 用于整型或逻辑型（BOOL）参数，As String（或简单以$作为变量名结尾字符）用于字符串（LPSTR）参数，As Long 用于长整型参数，As Double 用于双精度参数。
_____________

请参阅

定义和声明语句和函数

Dim


Default$()示例
DefaultDir$() 示例

该示例在 TOOLS-PATH 未设成 C：\TOOLS 时，将其设为 C：\TOOLS。

If DefaultDir$(6) = "" Then

ChDefaultDir "C:\TOOLS", 6

End If


DefaultDir$()

示例

DefaultDir$(Type)

Type 为对应于默认文件夹（如下表）的数字，DefaultDir$ 返回由 Type 指定的默认文件夹的当前路径。

类型	注释
0	DOC-PATH
1	PICTURE-PATH
2	USER-DOT-PATH
3	WORKGROUP-DOT-PATH
4	INI-PATH
5	AUTOSAVE-PATH
6	TOOLS-PATH
7	CBT-PATH
8	STARTUP-PATH
9	程序文件路径(PROGRAMDIR)
10	图形过滤器路径（不可更改）
11	文本转换程序路径（不可更改）
12	校对工具路径（不可更改）
13	临时文件路径
14	当前文件夹
15	样式库模板路径（可用 ChDefaultDir 修改）
_____________

请参阅

磁盘存取和管理语句和函数

ChDefaultDir

ChDir


dialog 示例

该示例用 Dialog() 函数显示“格式”菜单中的字体”对话框，让用户设置不同的字符格式选项。x=Dialog(dlg) 指令返回用户选择的按钮值但不作出错处理。如果用户选择“确定”按钮，示例中的最后一条指令 If x=-1 Then FormatFont dlg 实现用户在对话框中的设置；如果用户选择“取消”按钮，则忽略用户所作的设置。如果没有该语句，则没有任何事情发生，即使出现了对话框并且用户选择了“确定”按钮。

Dim dlg As FormatFont

GetCurValues dlg

x = Dialog(dlg)

If x = -1 Then FormatFont dlg

下例与上例基本相同。不同点是使用 Dialog 语句显示对话框并且进行出错处理。如果用户选择“取消”按钮，则 Word 会捕获产生的错误，并且显示出错信息。

Dim dlg As FormatFont

GetCurValues dlg

On Error Goto trap

Dialog dlg

FormatFont dlg

Goto skiptrap

trap:

MsgBox "Dialog box closed -- no changes"

skiptrap:

下例显示一简单的用户自定义对话框。该对话框有文本框和命令按钮等控制项。因为文本框是对话框中定义的第一个控制项，当对话框显示时，它会拥有输入焦点。x=Dialog(dlg, 1)，指令使“查找”按钮成为默认按钮（而不是“确定”按钮）。

Begin Dialog UserDialog 346, 90, "Social Security Macro"

TextBox 9, 22, 192, 18, .secnum

Text 9, 6, 183, 13, "Social Security Number:"

OKButton 249, 4, 88, 21

CancelButton 249, 28, 88, 21

PushButton 249, 52, 88, 21, "Find..."

End Dialog

Dim dlg As UserDialog

x = Dialog(dlg, 1)


Dialog, Dialog()

示例

Dialog DialogRecord [, DefaultButton] [, TimeOut]

Dialog(DialogRecord [, DefaultButton] [, TimeOut])

Dialog 语句和 Dialog() 函数都用来显示由 DialogRecord 定义的对话框。在此之前，DialogRecord 由 Dim 指令定义。被显示的对话框可以是 Word 对话框也可以是在宏中自定义的对话框。

如果用 Dialog 语句显示对话框而用户选择“取消”按钮，Word 产生一个可以用 On Error 指令捕获的错误。如果不想或不需要捕获该错误，可用 Dialog() 函数显示对话框。除了显示对话框外，Dialog() 函数返回对应于选中按钮的数值。返回值与用于定义 DefaultButton 的那些数值一致。

当显示动态对话框时，用 DisableInput 使 Esc 键能正确地取消该对话框。详细内容请参阅 DisableInput 。

参数	注释
DialogRecord	Dim 指令中的对话框记录。
DefaultButton	默认命令按钮： -2   无默认命令按钮 -1   “确定”按钮 0   “取消”按钮 >0   某个命令按钮，其中 1 是定义中第一个 PushButton 指令，2 是第二个，依此类推。 默认命令按钮用于当用户按下 ENTER 键时，对话框控制项（而不是命令按钮）拥有输入焦点的情况。除非另外指定，“确定”按钮是默认命令按钮。 DefaultButton 仅用于自定义对话框。要使 DefaultButton 发挥作用，在对话框定义中该按钮指令之前，必须有一个能获得输入焦点的、非按钮的对话框控制项，例如列表框或复选框。（注意由于文本控制项不能获得输入焦点，所以不符合以上条件）。否则，对话框定义中的第一按钮就是默认按钮。如果对话框定义有相关的对话函数，DefaultButton 可以被 DlgFocus$ 语句覆盖。创建对话函数的内容请参阅《The Microsoft Word Developer's Kit》的第五章“Working with Custom Dialog Boxes”。
TimeOut	对话框显示时间，以毫秒为单位。该值为 0 或忽略时，对话框会一直显示，直到用户关闭它。
注释

在宏里能使用任意数量的自定义对话框，但 WordBasic 一次仅支持一个自定义对话框记录（而 Word 对话框可定义任意多个对话框记录）。这意味着不能定义多个自定义对话框记录，然后在宏中分别使用。每一自定义对话框记录将覆盖前一个自定义对话框记录。如果在宏中有一个以上自定义对话框，而又希望保留将被覆盖的对话框记录，可以将记录中的数值保存到常规变量中。自定义对话框的详细内容请参阅《The Microsoft Word Developer's Kit》的第五章“Working with Custom Dialog Boxes”。

_____________

请参阅

对话框定义语句和函数

Begin Dialog...End Dialog

Dim

GetCurValues


DisableAutoMacros 示例

该示例创建一基于 Memo 模板的新文档。假设 Memo 模板中包含一个 AutoNew 宏，它将产生一系列对话框。DisableAutoMacros 语句将阻止 AutoNew 宏的执行。

DisableAutoMacros

FileNew .Template = "MEMO"


DisableAutoMacros

示例

DisableAutoMacros [Disable]

DisableAutoMacro 禁止执行 AutoOpen、AutoClose、AutoNew、AutoExit 宏，除非用 DisableAutoMacros 0 指令重新允许它们运行，或重新起动 Word。DisableAutoMacros 指令应置于要触发自动宏的宏指令前（例如，一条根据模板创建新文档的 FileNew 指令，而该模板包含了 AutoNew 宏）。

参数	注释
Disable	指定是否禁止自动宏的执行： 0     允许执行自动宏 1 或忽略   禁止执行自动宏
DisableAutoMacros 不能禁止 AutoExec 宏或当前宏的执行。例如不能在 AutoOpen 宏中使用该语句来禁止 AutoOpen 宏的执行。要禁止执行 AutoExec 宏，可在 Word 启动时按下 SHIFT 键或使用 /m 启动开关。详细内容请参阅启动开关。


DisableInput 示例

在显示一动态对话框的指令的前后可以使用 DisableInput 指令。

DisableInput 1

button = Dialog(MyDynamicDlg)

DisableInput 0


DisableInput

示例

DisableInput [Disable]

DisableInput 防止 Esc 键中断宏的操作。它不能防止 Esc 取消对话框。

参数	注释
Disable	决定是否禁止 Esc 键 0          允许 Esc 取消宏操作 1 或忽略   防止 Esc 键取消宏            操作
注释：

如果动态对话框显示时用户按下 Esc 键，将出现“宏中断”信息，且对话框仍留在屏幕上。为了使 Esc 键在显示动态对话框时响应正常，可在 Dialog 或 Dialog() 指令前置 DisableInput 1 指令，在 DisuleInput1 后紧跟 DisableInput 0 指令，以校正 Esc 键的操作。


DlgControlID() 示例

以下宏显示一包含“确定”按钮和“取消”按钮和带“测试”标签复选框的简单对话框。对话框函数检查 action. 的值是否为2，这意味着控制项是否被选中。如选中，对话框函数检查选定的控制项是否为所定义的第一个控制项，换句话说，就是 DlgControlId() 返回的数字标识是否为 0。如果是，则在对话框前显示一信息框。

Sub MAIN

Begin Dialog UserDialog 320, 50, "Test", .MyDlgFunction

CheckBox 212, 10, 88, 19, "Test", .Test	'0

OKButton 7, 10, 88, 21	'1

CancelButton 109, 10, 88, 21	'2

End Dialog

Dim dlg As UserDialog

DisableInput 1

button = Dialog(dlg)

DisableInput 0

End Sub

Function MyDlgFunction(identifier$, action, suppvalue)

If action = 2 Then

If DlgControlId(identifier$) = 0 Then

MsgBox "You selected the first control " + \

"defined in the dialog box definition."

End If

End If

End Function


DlgControlId()

示例

DlgControlId(Identifier$)

DlyControlID() 在对话框函数内使用。返回对话框控制项的数字标识符。对话框控制项由 Identifier$，即对话框控制项的字符串标识符来定义。数字标识符为从 0 开始的整数。对应对话框定义中的对话框控制指令顺序。例如，考虑以下对话框定义中的指令：

CheckBox 97, 54, 36, 12, "&Update", .MyCheckBox

DlgControlID("MycheckBox")指令在 CheckBox 指令是对话框定义第一条指令时返回0，第二条时返回1，以此类推。

大多数情况下，对话框函数执行基于所选对话框控制项的字符串标识符的操作。但是，对话框函数可以用数字标识符更快的操纵大量控制项（例如，多面板对话框中的大量控制项）。注意，改变对话框定义中指令顺序，会导致对应控制项的数字标识符的变化。

使用对话框函数的详细内容请参阅《The Microsoft Word Developer's Kit》的第五章。

_____________

请参阅

对话框定义语句和函数

DlgFocus

DlgValue


DlgFilePreview示例

该示例按照文件名列表框中的选择更新文件预览对话框（未给出包含对话框定义的主函数） 。

Function PreviewFiles(identifier$, action, suppvalue)

If action = 1 Then	'Preview first file in list

previewfilename$ = DlgText$("ListBox1")

DlgFilePreview$ previewfilename$

ElseIf action = 2 Then	'The user selects a control

If identifier$ = "ListBox1" Then	'Preview selected file

previewfilename$ = DlgText$("ListBox1")

DlgFilePreview$ previewfilename$

End If

End If

End Function


DlgFilePreview, DlgFilePreview$()

示例

DlgFilePreview [Identifier[$]] [, Filename$]

DlgFilePreview$()

DlgFilePreview 语句用于对话框函数中，预览名为 FileName$ 中字符串的文档（不必预先打开）的第一页。如果未定义 FileName$，DlgFilePreview 预览活动文档的第一页，文档显示在对话框定义的FilePreview 指令创建的框体中。因为自定义对话框仅有一个文件预览框，所以用 Identifier[$] 来指定文件预览框是可选的。

DlyFilePreview$() 函数返回显示在文件预览框中文档的路径和文件名。如果活动文档未以文件形式保存（例如，新建文档如 文档2 或为编辑而打开的宏），DlgFilePreview$() 返回窗口命令而不是路径和文件名。

对话框函数的详细内容请参阅《The Microsoft Word Developer's Kit》 的第五章。

_____________

请参阅

对话框定义语句和函数

DlgSetPicture

DlgUpdateFilePreview

FilePreview

Picture


 DlgLoadValues示例

以下 Macintosh 宏显示怎样在对话框函数中使用 DlgStoreValues 和 DlgLoadValues 以保存多个对话框控制项的设定。在对话框初始化时，运行 DlgLoadValues 指令，用户选中“确认”按钮后，运行 DlgStoreValues 指令。注意第一个复选框的标识以0 结尾，防止 Word 执行保存复选框设置的默认操作。对话框第一次显示时，设置中的文件不存在。DlyStoreValues 第一次运行时创建该文件。

Sub MAIN

Begin Dialog UserDialog 225, 167, "Test", .MyDlgFunction

CheckBox 11, 48, 88, 19, "Test 1", .FirstBox0

CheckBox 97, 48, 88, 19, "Test 2", .SecondBox

OKButton 118, 124, 88, 21

CancelButton 11, 124, 88, 21

TextBox 11, 24, 197, 18, .TextBox1

Text 11, 7, 46, 12, "Name:", .Text1

GroupBox 11, 71, 197, 41, "Group Box"

OptionGroup  .OptionGroup1

OptionButton 17, 84, 89, 18, "Option A", .OptionA

OptionButton 110, 84, 89, 18, "Option B", .OptionB

End Dialog

Dim dlg As UserDialog

DisableInput 1

button = Dialog(dlg)

DisableInput 0

End Sub

Function MyDlgFunction(identifier$, action, suppvalue)

Select Case action

Case 1	'initialization

DlgLoadValues "DLGVALS", "MyDlgFunction"

Case 2	'button chosen or setting changed

If identifier$ = "OK" Then

DlgStoreValues "DLGVALS", "MyDlgFunction"

End If

Case Else

End Select

End Function


PlySetPicture示例
DlgSetPicture示例

下例中，用户在列表框中选择人名，此人的照片显示在对话框中。指令假设要显示的图形文件在 C:\PHOD 文件夹中且与选中名字一致，以 PIC 为扩展名。（在 Macintosh 中，修改指令，设置 PictureName$ 变量使用“HD：PHOTOS+name$ 值。）未给出对话框的主程序。

Function dlgTest(identifier$, action, suppvalue)

Select Case action

Case 1	'The dialog box is displayed

Case 2	'The user selects a control

If identifier$ = "Name" Then

name$ = DlgText$("Name")

pictureName$ = "C:\PHOTOS\" + name$ + ".PIC"

DlgSetPicture "Photo", pictureName$, 0

End If

Case 3	'Text change (not applicable)

Case Else

End Select

End Function


DlgSetPicture

示例

DlgSetPicture Identifier[$], PictureName$, PictureType

用于对话函数中，设置标识符为 Identifier[$] 的 Picture 对话框控制项显示的图形。

有关对话框函数的详细内容，参阅 Microsoft Word Developer's Kit.第五章。

参数	注释
Identifier[$]	对话框控制项的字符串或数字标识符。
PictureName$	图形文件名。自动文本输入项或包含所显示图形文件的书签名。如果图片不存在，Word 显示文本“（找不到图片）”，此文本出现在图片定义的方框内。
PictureType	表明图形保存方式的值： 0   PictureName$ 是文件。 1   PictureName$ 是自动文本输入项。 2   PictureName$ 是书签。 3  忽略 PictureName$，图形从剪辑板上恢复。 4  PictureName$ 是保存在包含该宏模板的资源叉中（仅用于 Macintosh），可以用 ResEdit 程序向一个模板的资源叉中添加 PICT 文件。
_____________

请参阅

对话框定义语句和函数

Picture


PlyText示例
DlgText示例

该示例隐藏和显示对话框中的控制项，相应地，使一个命令按钮的标签在“隐藏控制”和“显示控制”间切换。（对话框定义主程序未给出），默认时，对话框在用户选中一命令按钮时关闭。但是，此例中，KeepDisplayed=1和 DlgText=KeepDisplayed 指令保持显示对话框（当对话框函数返回值1时，对话框保持显示） 。

Function dlgTest(identifier$, action, suppvalue)

Select Case action

Case 1	'The dialog box is displayed

Case 2	'The user chooses a button

If identifier$ = "Hide" Then

If DlgText$("Hide") = "Hide &Control" Then

DlgVisible "Option1", 0

DlgText$ "Hide", "Show &Control"

Else

DlgVisible "Option1", 1

DlgText$ "Hide", "Hide &Control"

End If

keepDisplayed = 1

End If

Case 3	'Text change (not applicable)

Case Else

End Select

dlgTest = keepDisplayed

End Function


DlgText, DlgText$()

示例

DlgText Identifier[$], Text$

DlgText$(Identifier[$])

DlgText$ 在对话框函数中用于设置由 Identifien[$]所标识的对话框控制项的文本或标签。DigText 语句不改变对话框控制项的字符串标识符。

对于文本框和 复合 框，DlgText 设置文本框内的文字。对.带标签的对话框控制项，例如，复选框，选项按钮，选项组和命令按钮，DlgText 设置标签。对于列表框，DlgText把. Text$ 或 Text$ 中的第一项设为选定内容。

有关对话框函数的详细内容，请参阅 The Microsoft Word Developer's Kit 第五章。

参数	注释
Identifier[$]	对话框控制项的字符串或数字标识符。
Text$	要设置的文本或标签。
DlgText$() 函数返回以 Identifir[$]为标识的对话框控制项的文本或标签。如果对话框控制项是列表框，返回选项的文本。如果对话框控制项是文本框或 复合 框，DlgText$()返回文本框中的文字。

_____________

请参阅

对话框定义语句和函数

DlgValue


DlgUpdateFilePreview示例

该示例在用户为所选文本选择了左缩进度量之后，更新文件预览框。用户选定量值后，文件预览框显示缩进有变化。注意，要从量值中删除“inch”，需要使用指令 Val(DlgText$("DropListBox1") ，因为FormatParagraph 不接受“inch”为合法度量。

Sub MAIN

Dim indents$(3)

indents$(0) = ".5 inch" : indents$(1) = "1 inch"

indents$(2) = "1.5 inches" : indents$(3) = "2 inches"

Begin Dialog UserDialog 354, 258, "Change Indents", .dlgTest

PushButton 255, 10, 88, 21, "Close", .close

Text 15, 8, 151, 25, "Select a left indent:", .Text1

FilePreview 15, 58, 219, 183, .fileprev

DropListBox 15, 29, 179, 30, indents$(), .DropListBox1

End Dialog

Dim dlg As UserDialog

DisableInput 1

x = Dialog(dlg)

DisableInput 2

End Sub

Function dlgTest(identifier$, action, suppvalue)

Select Case action

Case 1	'The dialog box is displayed

Case 2	'The user selects a control

If identifier$ = "DropListBox1" Then

indent$ = Str$(Val(DlgText$("DropListBox1")))

FormatParagraph .LeftIndent = indent$

DlgUpdateFilePreview

End If

Case Else

End Select

End Function


DlgUpdateFilePreview

示例

DlgUpdateFilePreview [Identifier$]

在对话框函数中使用，更新文件预览框（在对话框定义中由 FilePreview 指令创建）。因为一个对话框只能有一个文件预览框，所以Identifier$ 是可选项。

_____________

请参阅

对话框定义语句和函数

DlgFilePreview

FilePreview


DlgVisible, DlgVisible()

DlgVisible Identifier[$] [, On]

DlgVisible FirstIdentifier[$] , LastIdentifier[$], On

DlgVisible(Identifier[$])

在 Windows 3.x 中， DlgVisible 用于在对话框函数中显现或隐藏以 Identifer[$]标识的对话框控制项。在 Macintosh 和 Windows 95 以及 Windows NT 中，DlgVisiable 语句可用来显现或隐藏各对话框控制项。可用 dlgVisible 隐藏极少使用的选项，直到需要时才显现它们，或者创建有多个控制面板的对话框。

参数	注释
Identifier[$]	对话框控制项的字符串或数字标识符。
FirstIdentifier[$]	对话框控制项序列中第一个控制项的字符串或数字标识符。
LastIdentifier[$]	对话框控制项序列中最后一个控制项的字符串或数字标识符。
On	显示或隐藏对话框控制项 Identifier[t]或者 FirstIdentifier[$]与 LastIdentifier[$]间的对话框控制项序列。按照对话框定义中的顺序： 1 显示控制项或控制项序列。 0  隐藏控制项或控制项序列。 忽略  把控制项在显示和隐藏间交替切换。 注意，如果定义了 FirstIdentifier[$]和 LastIdentifier[$]，On 参数用忽略。
DlgVisible() 函数返回下列值：

值	注释
-1	如果控制项可见
0	如果控制项隐藏
使用 DlgVisible的示例请参阅 DlgText 示例。

_____________

请参阅

对话框定义语句和函数

DlgEnable

DlgFocus

DlgText


DocClose示例

该示例关闭每个打开的文档窗口并且提示用户保存任何未保存的修改：

While Window() <> 0

DocClose 0

Wend


DocClose

示例

DocClose [Save]

关闭活动窗口，DocClose 与 FileClose 不同：FileClose 关闭活动窗口和所有关联窗口，DocClose 仅关闭活动文档窗口。当文档在单窗口打开时（通常都是这种情况），DocClose 和 FileClose 具有相同效果。

参数	注释
Save	判定是否保存文档： 0 或忽略  如果上次保存后文档又有修改，提示用户保存文档。 1  关闭前不加提示就保存文档 2  关闭窗口但不保存文档 Save 参数同时控制在文档有增加或编辑传递名单时是否出现提示。如果 Save 是 0 或忽略，提示出现，否则，文档在关闭时不传递。
_____________

请参阅

文档、模板及加载项语句和函数

ClosePane

FileClose


DocSize示例

该示例保证恢复活动窗口然后使它大小为工作区的一半。

If DocMaximize() or DocMinimize() Then DocRestore

DocSize(Val(AppInfo$(6)) / 2), Val(AppInfo$(7))


DocSize

示例

DocSize Width, Height

调整活动窗口的大小到规定 Width 和 Heigh（以磅为单位，72磅=1英寸），如果活动窗口最大化或最小化，Word 不能执行此操作，同时产生一错误。注意 此语句必须有窗口的宽度和高度参数。如何调整窗口的高度或宽度。用 DocWindowWidth 或 DocWindowHeight 。

_____________

请参阅

窗口语句和函数

AppInfo$()

AppSize

DocWindowHeight

DocWindowWidth


DocWindowWidth 示例

该示例最大化 Word 窗口(Windows)，并且恢复文档窗口。如果有两个文档窗口打开，每个窗口的宽度都调到240点，并排放置。

If InStr(AppInfo$(1), "Macintosh") = 0 Then

If AppMaximize() = 0 Then AppMaximize

End If

If CountWindows() = 2 Then

If DocMaximize() Or DocMinimize() Then DocRestore

DocMove 0, 0

DocWindowWidth 240

NextWindow

If DocMinimize() Or DocMinimize() Then DocRestore

DocMove 240, 0

DocWindowWidth 240

End If


DocWindowWidth, DocWindowWidth()

示例

DocWindowWidth Width

DocWindowWidth()

DocWindowWidth 语句设置活动文档到规定的 Width 宽度（以磅为单位，72磅=1英寸）。高度不受影响。如果活动文档最大化或最小化，Word 不能执行这一操作且产生错误。DocWindowWidth() 函数返回以磅为单位的活动文档窗口宽度。

_____________

请参阅

窗口语句和函数

AppWindowWidth

DocSize

DocWindowHeight


DOSToWin$() 示例

该示例打开一篇用 MS-DOS 应用程序创建的顺序文件，把它的每一行转换为 Windows 字符集，然后把结果放在新的顺序文件中：

ChDir "C:\TMP"

Open "DOS.TXT" For Input As #1

Open "WINDOWS.TXT" For Output As #2

While Not Eof(1)

Line Input #1, temp$

Print #2, DOSToWin$(temp$)

Wend

Close


DOSToWin$()

示例

DOSToWin$(StringToTranslate$)

把从原始设备制造商(OEM)字符集得到的字符串转换成 Windows 字符集。

OEM 字符集的典型应用是 MS-DOS 应用程序。从 32 到 127 的字符在 OEM 和Windows 字符集中通常是相同的。 OEM 字符集中的其他字符（从 0（零）到 31 和从 128 到 255 ）一般与 Windows 字符不同。

_____________

请参阅

环境语句和函数

WinToDOS$()


DrawAlign 示例

该示例左对齐当前段落中的全部绘图对象。通过使用预定义书签“\Para”，DrawSetRange 把绘图对象范围设置到含插入点的段落。预定义书签的详细内容请参阅预定义书签。

DrawSetRange "\Para"

For count = 1 To DrawCount()

DrawExtendSelect count

Next count

DrawAlign .Horizontal = 1, .Vertical = 0, .RelativeTo = 0


DrawAlign

示例

DrawAlign [.Horizontal = number] [, .Vertical = number] [, .RelativeTo = number]

对齐选定的绘图对象。Align 语句的参数对应于“绘图”工具栏上“对齐图形”按钮的“对齐”对话框中的选项。

参数	解释
.Horizontal	指定水平对齐方式： 0 无，即保留当前水平位置 1 左对齐 2 居中 3 右对齐
.Vertical	指定垂直对齐方式： 0 无，即保留当前垂直位置 1 顶端对齐 2 居中 3 底端对齐
.RelativeTo	指定对象与谁对齐： 0 相互对齐 1 按页对齐
_____________

请参阅

绘图语句和函数

DrawCount()

DrawExtendSelect

DrawSelect

DrawSetRange

FormatDrawingObject


DrawGetCalloutTextbox 示例

该示例显示一个对话框，给出选定图注中文本区域的水平位置、垂直位置、宽度和高度。

Dim pts$(2, 2)

DrawGetCalloutTextbox pts$()

msg$ = "HorizPos: " + pts$(1, 1) + Chr$(13)

msg$ = msg$ + "VertPos: " + pts$(1, 2) + Chr$(13)

msg$ = msg$ + "Width: " + pts$(2, 1) + Chr$(13)

msg$ = msg$ + "Height: " + pts$(2, 2) + Chr$(13)

MsgBox msg$, "Text Area In Callout"


DrawGetCalloutTextbox

示例

DrawGetCalloutTextbox TwoDimensionalArray[$]() [, Object]

用描述指定图注绘图对象边界矩形中文本区域的位置和尺寸的坐标，填充一个二维数组。

参数	解释
TwoDimensionalArray[$]()	用于填充指定图注文本框坐标的预定义二维数组。TwoDimensionalArray[$]() 可以是字符串或数字数组。一个字符串数组由文本度量单位构成，该文本度量单位包括一个数值及其后的默认度量单位的缩写。一个数字数组则只由数值构成。 比如，假定数组 pts() 由指令Dim pts(2, 2) 定义，那么指令 DrawGetCalloutTextbox pts() 填充数组如下： pts(1, 1)    水平位置（从边界矩形的左边界到文本区域的距离），按默认度量单位。 pts(1, 2)    垂直位置（从边界矩形的上边界到文本区域的距离）。 pts(2, 1)    文本区域的宽度。 pts(2, 2)    文本区域的高度。
Object	指定一个绘图对象： 忽略 选定绘图对象 > 0 一个锁定点位于 DrawSetRange 语句所设置的范围内的对象，其中 1 是范围中的第一个对象，2 是第二个对象，依此类推。如果该数值不在 1 到 DrawCount() 范围内，则出错。  如果指定绘图对象不是一个图注，则出错。
_____________

请参阅

绘图语句和函数

DrawCallout

DrawSetCalloutTextbox

DrawSetInsertToTextbox


DrawNudgeDown

DrawNudgeDown

把选定绘图对象向下移动 7.5 磅（72 磅 ＝ 1 英寸），或者如果在“绘图”工具栏的“对齐格线”对话框中选择“对齐格线”命令，那么把选定对象向下移动“垂直间距”框中所指定的距离。

_____________

请参阅

绘图语句和函数

DrawNudgeDownPixel

DrawNudgeLeft

DrawNudgeRight

DrawNudgeUp

DrawSnapToGrid


DrawNudgeLeft

DrawNudgeLeft

把选定绘图对象向左移动 7.5 磅（72 磅 ＝ 1 英寸），或者如果在“绘图”工具栏的“对齐格线”对话框中选择“对齐格线”命令，那么把选定对象向左移动“水平间距”框中所指定的距离。

_____________

请参阅

绘图语句和函数

DrawNudgeDown

DrawNudgeLeftPixel

DrawNudgeRight

DrawNudgeUp

DrawSnapToGrid


DrawNudgeRight

DrawNudgeRight

把选定绘图对象向右移动 7.5 磅（72 磅 ＝ 1 英寸），或者如果在“对齐格线”对话框（“绘图”工具框）中选择“对齐格线”命令，那么把选定对象向右移动“水平间距”框中所指定的距离。

_____________

请参阅

绘图语句和函数

DrawNudgeDown

DrawNudgeLeft

DrawNudgeRightPixel

DrawNudgeUp

DrawSnapToGrid


DrawNudgeUp

DrawNudgeUp

把选定绘图对象向上移动 7.5 磅（72 磅 ＝ 1 英寸），或者如果在“对齐格线”对话框（“绘图”工具框）中选择“对齐格线”命令，那么把选定对象向上移动“垂直间距”框中所指定的距离。

_____________

请参阅

绘图语句和函数

DrawNudgeDown

DrawNudgeLeft

DrawNudgeRight

DrawNudgeUpPixel

DrawSnapToGrid


DrawSetRange 示例

该示例把绘图范围设置到当前页，并对范围内绘图对象的数目进行计数，然后显示带有相应结果的消息框。

DrawSetRange "\Page"

n = DrawCount()

MsgBox "The current page contains" + Str$(n) + " drawing object(s)."


DrawSetRange, DrawSetRange()

示例

DrawSetRange Bookmark$

DrawSetRange(Bookmark$)

DrawSetRange 语句把绘图范围设置到 Bookmark$所指定的书签内。绘图范围用于建立可用其他绘图语句和函数进行操作的绘图对象组。比如，DrawCount() 函数可以对锁定点在绘图范围内的绘图对象进行计数。

The DrawSetRange() 函数与 DrawSetRange 语句作用相同，如果范围设置成功，则返回 -1，否则返回 0（比如，如果指定书签不存在）。

在设置一个绘图范围时，使用预定义书签常常是很方便的。比如，可用指令 DrawSetRange "\Doc" 把绘图范围设置到整个文档。预定义书签的详细内容请参阅预定义书签。

_____________

请参阅

绘图语句和函数

DrawClearRange

DrawCount()

DrawSelect


DropListBox

DropListBox HorizPos, VertPos, Width, Height, ArrayVariable$(), .Identifier

创建一个下拉式列表框，从中用户可以在用户定义对话框内选定项目。 DropListBox 的使用语法与 ListBox 相同。当下拉式列表框下拉时，下拉的部分可以覆盖对话框的其他控制项或落到对话框的外面。

参数	解释
HorizPos, VertPos	从对话框左上角到下拉式列表框的左上角的水平距离(HorizPos)和垂直距离(VertPos)，以系统字体的 1/8 （对 HorizPos）和 1/12 （对 VertPos）为单位。
Width, Height	列表框的宽度和高度，以系统字体的 1/8 （对 Width）和 1/12 （对 Height）为单位。
ArrayVariable$()	包含要列表的项目的数组，每个数组元素有一个列表框项。
.Identifier	与对话记录名一起，创建其值对应于选定列表项的变量。该变量的格式是 DialogRecord.Identifier  （例如， dlg.MyList）。 标识符字符串（ .Identifier 去掉句点）也用于对列表框进行操作的对话框函数中的语句中，例如 DlgEnable 和 DlgVisible 等。
请参阅 ListBox 示例。 如果要修改示例，使之显示下拉式列表框，而不是列表框，请将 ListBox 指令改为 DropListBox ，将 Height 参数改为下拉式列表框下拉时的高度。

DropListBox 用于对话框定义中的示例请参阅 Begin Dialog...End Dialog 示例。

_____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

ComboBox

DlgListBoxArray

ListBox


EditClear 示例

该示例删除插入点右边五个字符，如果存在选定内容，则删除该选定内容和其后四个字符。

EditClear 5


EditClear

示例

EditClear [Count]

删除选定内容或指定数目的字符。与 EditCut 不同的是，EditClear 并不改变剪贴板的内容。

参数	解释
Count	指定要删除字符的数目和位置： > 0 删除插入点右边的字符 忽略 删除选定内容或插入点右边的字符 < 0 删除插入点左边的内容 注意：如果EditClear 0 ，则毫无效果。
注释

在 Word 6.0 中，如果 EditClear 删除一个段落标记，合并之后的段落采用保留的段落标记。在 Word 7.0 中合并之后的段落采用删除的段落标记。为了保持兼容，Word 7.0 中使用 W6_EditClear 来代替 EditClear，它与 EditClear 在 Word 6.0 中的效果相同。

_____________

请参阅

编辑语句和函数

EditCut


EditCut

EditCut

从文档中删除选定内容，并将其放入剪贴板中。如果没有选定内容，将会发生错误。

_____________

请参阅

编辑语句和函数

EditClear

EditCopy

EditPaste

EditPasteSpecial

Spike


EditFind 示例s
EditFind 示例

该示例查找带有单下划线格式编排的“Trey Research”的下一个实例：

EditFindClearFormatting	'Clear leftover formats

EditFindFont .Underline = 1

EditFind .Find = "Trey Research", .Direction = 0, \

.WholeWord = 0, .MatchCase = 0, .Format = 1

下例将字符串“Tip: ”插在每个 Heading 6 段落的开始处。语句 StartOfDocument 和 While EditFindFound() 是任何在每次找到指定项目后重复一系列操作的宏的关键所在。

StartOfDocument

EditFindClearFormatting

EditFindStyle .Style = "Heading 6"

EditFind .Find = "", .Direction = 0, .Format = 1, .Wrap = 0

While EditFindFound()

StartOfLine

Insert "Tip: "

EditFindStyle .Style = "Heading 6"

EditFind .Find = "", .Direction = 0, .Format = 1, .Wrap = 0

Wend


EditFind

示例

EditFind [.Find = text] [, .Replace = text] [, .Direction = number] [, .WholeWord = number] [, .MatchCase = number] [, .PatternMatch = number] [, .SoundsLike = number] [, .FindAllWordForms = number] [, .Format = number] [, .Wrap = number]

查找指定文本，格式编排或指定文本的特定格式编排的下一个实例。 EditFind 语句的参数对应于“编辑”菜单的“查找”对话框中的选项。用于 While...Wend 循环之中。 EditFind 非常适用于当每次在文档中查找到某一文本或格式编排时需要重复做一系列操作的情况。 WordBasic “帮助”中的许多示例都说明了 EditFind 的这一常见用法。

参数	解释
.Find	待查找的文本，在仅用作格式编排查找时为一个空字符串（“”）。可以查找特殊字符，例如段落标记，这样做必须确定正确的字符代码。例如：“^p”对应于段落标记，“^t”对应于制表符。特殊字符的完整列表请参阅用键盘代码查找和替换特殊字符。 如果 .PatternMatch 设置为 1，可以指定通配符和其他高级搜索条件。例如，用“*(ing)”查找所有以“ing”结尾的单词。详细内容请参阅高级搜索条件。 要搜索符号字符，将符号的 ANSI 值跟在脱字符 (^) 和一个“0”之后。例如， "^0151" 对应于长划线 ( --- ) 。
.Replace	对空串("")必须设置为.Replace 以避免产生错误。例如将PatternMatch 设为 1 并且Replace 对话窗中的当前替换文本 没有使用模式匹配，会产生一个错误。
.Direction	搜索方向： 0 向文档结尾搜索。 1 向文档开头搜索。 默认值是上次搜索方向。如果是第一次执行“查找”或“替换”命令，则默认值是 0。
.WholeWord	如果是 1，对应于选定“全字匹配”复选框。
.MatchCase	如果是 1，对应于选定“区分大小写”复选框。
.PatternMatch	如果是 1，Word 将 .Find 当作含有高级搜索条件符号，如星号 (*) 和问号 (?) 等通配符的字符串（对应于选定“模式匹配”复选框）。
.SoundsLike	如果是 1，对应于选定“同音字”复选框。
.FindAllWordForms	I如果是 1，对应于选定“查找所有 Word 样式 复选框。
.Format	查找带格式的文本或者是忽略格式的文本： 0 忽略格式 1 使用 EditFindFont，EditFindLang，EditFindPara 或 EditFindStyle 指定的格式。
.Wrap	控制如果搜索起始点不是文档开头并且搜索到文档结尾时应如何处理。（反之，如果 .Direction 设置为 1，则控制搜索起始点不在文档结尾并且搜索到文档开头时应如何处理）。.Wrap 参数也控制搜索文本在选定范围存在时在选定范围中找不到时的如处理办法。 0 或忽略    搜索操作结束且宏继续进行。 1  如果存在选定范围，Word 搜索文档的剩余部分。如果遇到文档开头或结尾，Word 继续从另一头开始搜索。 2  如果存在选定范围，Word 显示信息询问是否继续搜索文档的剩余部分。如果遇到文档开头或结尾，Word 显示信息询问是否继续从另一头开始搜索。
EditFind 语句本身并末指定格式编排，为此在进行 EditFind 操作之前，必须有一条或多条 EditFindFont、EditFindLang、EditFindPara 和 EditFindStyle 语句。然后，在 EditFind 语句中，将 .Format 设置为 1。

下面是一些如何高效使用 EditFind 的小窍门：:

EditFind 保存任何最近查找替换操作用到的设置。例如，如果最近一次查找操作中，“查找”对话框中的“全字匹配”复选框被选中（或者是参数 .WholeWord 设置为 1），那么 .WholeWord 在新的查找操作中将仍被设置为 1，除非明确地将它设为 0。在一次查找操作开始之前，必须保证正确设置那些会影响查找结果的选项。

当要搜索格式时，最好将 EditFindClearFormatting 语句包含在确定要找的格式的语句之前。那样做可以清除由前次查找或替换操作所遗留下的任何格式。.

如果用 While...Wend 循环在文档中查找文本或格式，当每找一次需要重复一次操作时，请记住将 StartOfDocument 用在第一个 EditFind 指令之前。应该忽略 .Wrap 参数或者将它设置为 0。如果把 .Wrap 设置为 1，那么可能会陷入在循环中。如果将 .Wrap 设置为 2，Word 会显示提示信息询问是否要从文档开头开始继续查找，必须选择“否”来终止循环，继续宏的其他操作。

_____________

请参阅

查找和替换语句和函数

EditFindBorder

EditFindClearFormatting

EditFindFont

EditFindFound()

EditFindFrame

EditFindLang

EditFindPara

EditFindStyle

EditFindTabs

EditReplace


EditFindClearFormatting 示例

该示例中的 EditFindClearFormatting 语句确保格式只能指定为粗体和斜体：

EditFindClearFormatting

EditFindFont .Bold = 1, .Italic = 1

EditFind .Find = "", .Format = 1


EditFindClearFormatting

示例

EditFindClearFormatting

清除任何为待查找文本所设定的格式。在用 EditFindFont，EditFindPara 等语句确定格式之前，最好包含 EditFindClearFormatting 语句以确保任何不希望的格式没有被包含进来。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindFont

EditFindFrame

EditFindLang

EditFindPara

EditFindStyle

EditFindTabs

EditReplace

EditReplaceClearFormatting


EditFindFont 示例

该示例用于查找任何粗体文本：

EditFindClearFormatting

EditFindFont .Bold = 1

EditFind .Find = "", .Format = 1

下例用于查找不是粗体的词“Note”：

EditFindClearFormatting

EditFindFont .Bold = 0

EditFind .Find = "Note", .Format = 1

下例用于查找单词“Note”，无论它是否是粗体。一般说来，可用 EditFindClearFormatting 语句删除由一次搜索操作所设定的格式编排。可用指令 EditFindFont .Bold = -1 ，删除已设定的粗体格式而不影响前面设定的其他搜索格式。

EditFindFont .Bold = -1

EditFind .Find = "Note", .Format = 1


EditFindFont

示例

EditFindFont [.Points = number] [, .Underline = number] [, .Color = number] [, .Strikethrough = number] [, .Superscript = number] [, .Subscript = number] [, .Shadow = number] [, .Hidden = number] [, .SmallCaps = number] [, .AllCaps = number] [, .Outline = number] [, .Spacing = number] [, .Position = number or text] [, .Kerning = number] [, .KerningMin = number or text] [, .Default] [, .Tab = number] [, .Font = text] [, .Bold = number] [, .Italic = number]

该语句放在带有参数 .Format = 1 的 EditFind 或 EditReplace 指令之前时，它用于指定要查找的文本的字符格式。可将参数 .Strikethrough、.Superscript、.Subscript、.Hidden、.SmallCaps、.AllCaps、.Kerning、.Bold 和 .Italic 设置为下面三个值之一。

使用的值	执行
-1	查找文本而不考虑它是否有该格式
0	查找那些不具有该格式的文本
1	查找那些具有该格式的文本
参数的详细内容请参阅 FormatFont。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindClearFormatting

EditFindFrame

EditFindLang

EditFindPara

EditFindStyle

EditFindTabs

EditReplace

EditReplaceFont

FormatFont


EditFindLang 示例

该示例将所有德语词汇设为斜体格式。注意指令 EditReplaceLang .Language = "Deutsch" 用于保存查找到的文本的语言格式。

EditFindClearFormatting

EditReplaceClearFormatting

EditFindLang .Language = "Deutsch"

EditReplaceLang .Language = "Deutsch"

EditReplaceFont .Italic = 1

EditReplace .Find = "", .Replace = "", .Format = 1, \

.ReplaceAll, .Wrap = 1


EditFindLang

示例

EditFindLang .Language = text

该语句放在带有 .Format 设为 1 的参数的 EditFind 或 EditReplace 之前时，用于指定要查找的文本的语言格式。尽管“工具”菜单的“语言”命令中列出了各种语言名字的英文格式，但是用在 .Language 的文本必须用特定的语言格式并且包含重音字符（例如： Italian 必须写作“Italiano”，而 French 必须写作“Frances”）。各种外语名称的列表请参阅 ToolsLanguage。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindFont

EditFindFrame

EditFindPara

EditFindStyle

EditFindTabs

EditReplace

EditReplaceLang

Language

ToolsLanguage


EditFindPara

EditFindPara [.LeftIndent = number or text] [, .RightIndent = number or text] [, .Before = number or text] [, .After = number or text] [, .LineSpacingRule = number] [, .LineSpacing = number or text] [, .Alignment = number] [, .WidowControl = number] [, .KeepWithNext = number] [, .KeepTogether = number] [, .PageBreak = number] [, .NoLineNum = number] [, .DontHyphen = number] [, .Tab = number] [, .FirstIndent = number or text]

该语句放在带有设为 1 的 .Format 参数的 EditFind 或 EditReplace 语句之前时，用于设定想要查找的段落格式。可将参数 .WidowControl、.KeepWithNext、.KeepTogether、.PageBreak、.NoLineNum 和 .DontHyphen 设为下面三个值之一。

使用的值	执行
-1	查找文本，忽略它的格式
0	查找不含格式的文本
1	查找含格式的文本
参数的详细内容请参阅 FormatParagraph. 的示例。请参阅 EditReplacePara 示例。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindFont

EditFindFrame

EditFindLang

EditFindStyle

EditFindTabs

EditReplace

EditReplacePara

FormatParagraph


EditFindStyle 示例s
EditFindStyle 示例

该示例查找并选择以“Heading 2”样式为格式的下一个段落：

EditFindClearFormatting

EditFindStyle .Style = "Heading 2"

EditFind .Find = "", .Format = 1

下例在任意样式的段落中查找下一处出现单词“catnip”的地方。一般说来，可用 EditFindClearFormatting 删除在一次搜索操作中所设定的格式。用 EditFindStyle .Style = "" 指令删除已指定的样式而不影响上一次指定的其他搜索样式。

EditFindStyle .Style = ""

EditFind .Find = "catnip", .Format = 1


EditFindStyle

示例

EditFindStyle .Style = text

该语句放在带有 .Format 设为 1 的参数的 EditFind 或 EditReplace 之前时，用于设定要查找的文本的样式。如果设定的样式在活动文档中不存在，或者以大写字母开头的字符串与实际的样式名称不相匹配，将会导致错误。

参数	解释
.Style	想要查找的样式名称；要想将以前设定的样式删除，可以使用空字符串 （“”）。
_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindFont

EditFindFrame

EditFindLang

EditFindPara

EditFindTabs

EditReplace

EditReplaceStyle

FormatStyle


EditLinks 示例

该示例解除一个已存在的与 Microsoft Excel 5.0 电子表格的链接，并进行自动更新：

EditLinks .UpdateMode = 0, .Locked = 0, .Link = "\Sel", \

.Application = "Excel.Sheet.5", .Item = "Sales Report!R1C1:R5C3", \

.FileName = "C:\EXCEL5\示例S\SALES.XLS"

下例选择活动文档与 Microsoft Excel 5.0 电子表格之间的所有链接，并手动更新：

StartOfDocument

ViewFieldCodes 1

EditFind "^d LINK Excel.Sheet.5", .Format = 0, .Wrap = 0

While EditFindFound()

Dim dlg As EditLinks

GetCurValues dlg

dlg.UpdateMode = 1

EditLinks dlg

CharRight

RepeatFind

Wend


EditLinks

示例

EditLinks [.UpdateMode = number,] [.Locked = number,] [.SavePictureInDoc = number,] [.UpdateNow,] [.OpenSource,] [.KillLink,] .Link = text, .Application = text, .Item = text, .FileName = text

为指定的链接设置选项。Link 语句的参数对应“编辑”菜单的“链接”对话框中的选项。

参数	解释
.UpdateMode	确定更新该链接方式： 0 自动 1 人工
.Locked	指明是否锁定该链接： 0 解除该链接锁定 1 锁定该链接
.SavePictureInDoc	如果为 1，在 Word 文档中保存该链接对象复本。
.UpdateNow	更新指定链接。
.OpenSource	打开指定链接的源（比如，一 Microsoft Excel 电子表单）。
.KillLink	用最新的内容替换指定的链接。
.Link	指明“链接”对话框中所列的链接，该对话框中的选项将设置为： "1" 对应列表中的第一个链接， "2" 对应列表中的第二个链接，等等。注意该数值必须在引号里。也可以使用已定义的书签 "\Sel" 来指明当前选中的链接。
.Application	提供链接的文档的类型，该类型与其出现在 Link 域代码中的类型一样。比如，对于一个 Word 文档为“Word.Document.6”，对于 Microsoft Excel 5.0 电子表单为 “Excel.Sheet.5”。
.Item	用于识别链接信息的文字（比如，在一个 Word 文档中的一个名为 "INTERN_LINK2" 的书签，或者在 Microsoft Excel 电子表单中的一定范围内的单元格，如 R1C1:R5C3）。
.FileName	包含链接项的源文档的路径和文件名。
最后三个参数对应于在“更改源”对话框中选择“更改源”按钮并设置选项。

_____________

请参阅

对象链接和嵌入语句和函数

EditPasteSpecial

EditPublishOptions

EditSubscribeOptions

InsertField

LockFields

UnlinkFields

UnlockFields


EditObject 示例

本示例选择并打开活动文档中的下一个公式，然后在“公式”编辑器中编辑。

EditGoTo .Destination = "o'Equation.2'"

EditObject


EditObject

示例

EditObject

打开选定的对象链接与嵌入对象，并在与对象相关联的应用程序中进行编辑。OLE 对象包括“公式编辑器”公式，由 WordArt，Microsoft Excel 图表生成的字体效果等。

_____________

请参阅

对象链接和嵌入语句和函数

ActivateObject

EditGoTo

InsertObject


EditPasteSpecial

EditPasteSpecial [.IconNumber = number] [, .Link = number] [, .DisplayIcon = number] [, .Class = text] [, .DataType = text] [, .IconFilename = text] [, .Caption = text]

在插入点处插入“剪切板”的内容。EditPasteSpecial 说明的摘要符合“选择性粘贴“对话框（“编辑”菜单)中的选项。不同于EditPaste,（如 Microsoft Excel工作表）建立链接。

参数	解释
.IconNumber	如果，“显示图标”被设置为1，一个编码将显示于“更改图标”对话框（“对象”命令，“插入”菜单），该编码与“.图标文件名.图标”所指定程序文件中所需图标相对应。“0”对应于第一个图标，“1”对应于第二个，以此类推，如果省略，将使用第一个（默认）图标。 在 Macintosh 中，嵌入对象图标无法更改，该摘要被忽略。
.Link	指定是否创建链接： “0”或省略 不创建键接。 “1”创建一个链接。
.DisplayIcon	指定是否对某链接以图标显示： “0”或省略 不以图标显示链接。 “1”以图标显示链接。
.Class	“剪贴板“内容的对象类别，本摘要无法设置但您可以定义一个对话框记录为 EditPosteSpecial 然后用对话框记录返回."Class"的当前值。
.DataType	指定所粘贴内容的格式： Bitmap    位图（只用于 Windows） DIB    与设备无关的位图（只用于 Windows） Object    嵌入和链接 (OLE) 的对象 PICT    图元文件 (Windows) RTF    Rich-text format Text    无格式文本
.IconFileName	如果“.显示成图标”设定为“1”，显示图标的程序文件路径和文件名将被储存。
.Caption	如果“.显示成图标”设定为“1”，图标标题将显示，如果省略，Word 将插入对象名。
注释

并非所有数据类型都可用于各个“剪贴板”项目。例如在 Windows 下，如果“剪贴板”含有从 Word 文档中选定的文本，有效的数据类型有"Object"."PICT"."RTF"和"TEXT"。而对从 Microsoft Excel 工作表中所选定的文本，有效的格式有“Bitmap"."Object." "PICT.""RTF."和"Text."如果您指定一个无效的数据类型，可能出现错误。

_____________

请参阅

对象链接和嵌入语句和函数

EditCopy

EditCreatePublisher

EditCut

EditLinks

EditPaste

EditSubscribeTo

InsertField


EditPicture 示例

本示例用于下一个图形并将它打开进行编辑。

ViewFieldCodes 0

EditGoTo "g"

CharRight 1,1

EditPicture


EditPicture

示例

EditPicture

打开选定的图形进行编辑。

_____________

请参阅

对象链接和嵌入语句和函数

EditObject

FormatPicture

InsertPicture

Picture


EditReplace 示例

本示例用于查找文档中所有带下划部分并替换格式为斜体字。注意指令 .wrap=1 表示不需要 StartOfDocument 说明；插入点前后（符合条件的）部分均被替换。

EditFindClearFormatting

EditReplaceClearFormatting

EditFindFont .Underline = 1

EditReplaceFont .Italic = 1, .Underline = 0

EditReplace .Find = "", .Replace = "", .Format = 1, \

.ReplaceAll, .Wrap = 1


EditReplace

示例

EditReplace [.Find = text] [, .Replace = text] [, .Direction = number] [, .MatchCase = number] [, .WholeWord = number] [, .PatternMatch = number] [, .SoundsLike = number] [, .FindAllWordForms = number] [, .FindNext] [, .ReplaceOne] [, .ReplaceAll] [, .Format = number] [, .Wrap = number]

将一个或所有指定的文本或格式（或两者）替换为另一种文本或格式。如果文本已选定，.Wrap 被省略或设置为“0”，替换将只在选定范围内进行。EditReplace 说明的摘要符合“替换”对话框内的选项。

参数	解释
.Find	所需查找的文本，或者，如果只搜索格式，可使用空字符串(“”)。指定合适的字符代码，您可以搜索如段落标志的特殊字符。例如，“P”代表段落标志，“t”代表制表符。有关完整的特殊字符列表单，请参阅用键盘代码查找和替换特殊字符。 如果“模式匹配”设置为“1”，您可以指定 wildcard 字符或其它高级的搜索准则，例如，"ing"将查找所有以"ing"结尾的词，有关详细情况，请参阅 Advanced Search Criteria. 。 要搜索符号字符，可在"^"字符及"O"后指定所选符的字符代码，例如，在 Windows 下，"^O151"代表长划线（---)。
.Replace	替换项文本，或者，如果要删除.“查找”所指定的文本，可使用空字符串(“”)。和“查找”中一样，您可指定特殊字符及高级搜索准则。 要指定一个图形或其它非文本项目作替换项，可将所指定项目置于“剪贴板”并指定"^C"为“替换”。
.Direction	搜索方向： “0” 向文档尾搜索 “1” 向文档首搜索 缺省表示向前一次搜索或“.查找”“替换”首次运行时一致的方向搜索。
.MatchCase	如果为“1”，与选择“相符”复选框一致。
.WholeWord	如果为“1”，与选择“Whole Words”复选框一致。
.PatternMatch	. 如果为“1”，Word 将视“.查找”为一个含星号(*)，问号(?)或其它字符等高级搜索准则的引号，（与选择“_ Use Pattern Matching ”复选框一致）。
.SoundsLike	如果为“1”，与选择“  Sounds Like ”复选框一致。
.FindAllWordForms	.如果为“1”，与选择“Find All Word Forms’复选框一致。
.FindNext	查找文本中下一个满足“.查找”所指定条件的实例。
.ReplaceOne	替换文本中第一个满足“.查找”所指定条件的实例。
.ReplaceAll	替换“.查找”文本的所有实例。
Format	除查找替换文本外，还查找替换格式或只查找替换格式： “0” 忽略格式 “1”用所指定的格式
.Wrap	控制查找不从文档首开始和遇到文档尾（反之，如果，“方向”设置为1，遇到文档首）时所出现的情况。“.换行”摘要也控制有选定文本而所查找文本不在选定范围时所出现的情况。 “0”替换运行结束，宏继续。 “1”如果有选定文本，替换运行在文档其余部分继续，如果遇到文档首或尾，替换运行从相反一端继续。 “2”如果有选定文本，Word 显示信息提问是否在文档剩余部分到文档首或尾，Word 显示信息提问是否从相反一端继续替换运行。
格式并非在 EditReplace 指令自身内指定，相反，您需在 EditReplace 前使用以下一项或多项说明： EditFindBorder, EditFindFont, EditFindLang, EditFindPara, EditFindStyle, EditFindTabs, EditReplaceBorder, EditReplaceFont, EditReplaceLang, EditReplacePara, EditReplaceStyle, or EditReplaceTabs. 然后在 EditReplace 指令中，设置“格式”为1 注意 EditFindBorder, EditFindTabs, EditReplaceBorder, and EditReplaceTabs 只可用于 Macintosh。

以下为有效地使用 EditReplace 的一些技巧：

EditReplace 保留最近的查找或替换运行中所使用的各种设置。例如，如果上一次替换运行中在“替换”对话框中选择了“ Find Whole Words ”复选框（或者如果：“WholeWord ”摘要被设置为1）那么在新的替换运行中，“.WholeWord ”将会自动设置为“1”---除非您明确设置为0。。替换运行开始前，确认指定每一个可能影响搜索结果的选项。

如果要搜索或替换格式，指定所要查找或替换的格式前，最好包括 EditFindClearFormatting和EditReplaceClearFormatting 说明。

_____________

请参阅

查找和替换语句和函数

EditFind

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFont

EditReplaceFrame

EditReplaceLang

EditReplacePara

EditReplaceStyle

EditReplaceTabs


EditReplaceClearFormatting

EditReplaceClearFormatting

清除为替换项文本而指定的格式，在用 EditReplacefont 或 EditReplacePara 指定替换项格式前，最好包含 EditReplaceClearFormatting 说明，以保证替换项格式中不含任何不需要的格式。有关示例请参见 EditReplace。

_____________

请参阅

查找和替换语句和函数

EditFindClearFormatting

EditReplace

EditReplaceBorder

EditReplaceFont

EditReplaceFrame

EditReplaceLang

EditReplacePara

EditReplaceStyle

EditReplaceTabs


EditReplaceFont

EditReplaceFont [.Points = number] [, .Underline = number] [, .Color = number] [, .Strikethrough = number] [, .Superscript = number] [, .Subscript = number] [, .Shadow = number] [, .Hidden = number] [, .SmallCaps = number] [, .AllCaps = number] [, .Outline = number] [, .Spacing = number] [, .Position = number or text] [, .Kerning = number] [, .KerningMin = number or text] [, .Default] [, .Tab = number] [, .Font = text] [, .Bold = number] [, .Italic = number]

字符 如果后面接有“.格式”设置为1的 EditReplace 指令，本语句将指定替换项文本的格式，您可以将“.加删除线”，“.上标”，“.阴影”，“.下标”，“隐藏”，“.小型大写字母”，“.全部大写”，“.轮廓”，“.调整字距”，“.粗体”和“.斜体”各项分别设置为以下三个值之一：

使用值	使用值目的
-1	保留所找到文本的特定格式
0 (zero)	删除所找到文本的特定格式
1	将特定格式应用于所找到的文本
注意“.阴影”和“.轮廓”只可用于 Macintosh。有关本摘要的详细情况，请参阅 FormatFont 。有关示例，请参阅 EditFindLang 示例 。

_____________

请参阅

查找和替换语句和函数

EditFindFont

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceLang

EditReplacePara

EditReplaceStyle

EditReplaceTabs

FormatFont


EditReplaceLang

EditReplaceLang .Language = text

如果后面接有“.格式”设定为1的 EditReplace 指令，本语句将指定替换项文本的语种格式，虽然“语种”命令（“工具”菜单）以英语列出了各重音符号（例如，意大利语必须指定为"Italiano"，法语必须指定为“Frances"）。有关有效的外语名列表，请参阅 ToolsLanguage. 。有关示例，请参阅 EditFindLang Example.。

_____________

请参阅

查找和替换语句和函数

EditFindLang

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFont

EditReplaceFrame

EditReplacePara

EditReplaceStyle

EditReplaceTabs

ToolsLanguage


EditReplacePara 示例

本示例将活动文档中所有段落当前的1英寸左缩进改成为2英寸左缩进。

StartOfDocument

EditFindClearFormatting

EditReplaceClearFormatting

EditFindPara .LeftIndent = "1 in"

EditReplacePara .LeftIndent = "2 in"

EditReplace .Find = "", .Replace = "", .ReplaceAll, \

.Format = 1, .Wrap = 0


EditReplacePara

示例

EditReplacePara [.LeftIndent = number or text] [, .RightIndent = number or text] [, .Before = number or text] [, .After = number or text] [, .LineSpacingRule = number] [, .LineSpacing = number or text] [, .Alignment = number] [, .WidowControl = number] [, .KeepWithNext = number] [, .KeepTogether = number] [, .PageBreak = number] [, .NoLineNum = number] [, .DontHyphen = number] [, .Tab = number] [, .FirstIndent = number or text]

如果后面接有“.格式”设置为1的 EditReplace 指令，本语句将指定替换项文本的段落格式，您可将“.窗口控制”，“.与下段同页”“.段中又分页”，“.分页”，“.无行号”和“.禁止断字“各项设置为以下三个值之一：

使用值	目的
-1	在所找到文本中何留特定格式
0 (zero)	在所找到文本中删除特字格式
1	在所找到文本中应用特定格式
有关本摘要的详细情况，请参阅FormatParagraph.。

_____________

请参阅

查找和替换语句和函数

EditFindPara

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFont

EditReplaceFrame

EditReplaceLang

EditReplaceStyle

EditReplaceTabs

FormatParagraph


EditReplaceStyle 示例

本示例改变所有“标题4”的段落为“标题3”段落。

StartOfDocument

EditFindClearFormatting

EditReplaceClearFormatting

EditFindStyle .Style = "Heading 4"

EditReplaceStyle .Style = "Heading 3"

EditReplace .Find = "", .Replace = "", .ReplaceAll, \

.Format = 1, .Wrap = 0


EditReplaceStyle

示例

EditReplaceStyle .Style = text

如果后面接有“.格式”设置为1的 EditReplace 指令，本命令指定替换项文本的样式。如果活动文档中不存在所指定样式，或者以大写字母开头与实际的样式名不匹配，将会有错误出现。

参数	解释
. .格式	替换项文本的样式名：要删除替换项格式的样式，可使用空白引用(“”)。
_____________

请参阅

查找和替换语句和函数

EditFindStyle

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFont

EditReplaceFrame

EditReplaceLang

EditReplacePara

EditReplaceTabs

FormatStyle


Environ$() 示例

本 Windows 示例检查“路径”环境变量，并依据路径中的字符数（上限127字符）显示两个信息框之中的一个。

path$ = Environ$("PATH")

length = Len(path$)

avail = 127 - length

Select Case avail

Case 127

MsgBox "The PATH is empty."

Case 0 To 126

MsgBox "You can add" + Str$(avail) + \

" character(s) to the PATH."

Case Else

End Select


Environ$()

示例

Environ$(EnvironmentVariable$)

在 Windows3.X 及 Windows95 中，本语句返回一个与“EnvironmentVaniable$ 相关的字符串，例如，tempdir$ = 将返回与TEMP环境变量相关的文件夹，在 Macintosh 下，Environ$() 无效，可能导致错误。

环境变量通常用 MS-DOS 批文件（例如 AUTOEXEC.BAT）或 WindowsNT 下“控制面板”中的“系统”选项设置，有关环境变量的详细情况，请参阅系统文件。

_____________

请参阅

环境语句和函数

AppInfo$()

GetProfileString$()

GetSystemInfo


ExitWindows

ExitWindows

本命令在 Windows3.X 版中关闭所有打开的应用程序，退出 Windows,在 Windows95 及 WindowsNT 下，ExitWindows 命令将使当前用户退回，在 Word 文档中，ExitWindows 不保存修改，也不提示保存修改，但在其它打开的 Windows 应用程序中，ExitWindows 将提示保存修改。

如果用 MS-DOS 批处理文件启动 Word，并运行带 1m 启动开关的宏 ExitWindows 命令将有广泛的用途。如果在宏的最终指令中包含 ExitWindows，您可以恢复对 MS-DOS 批文件控制，如果批文件是在 Windows3.x，Windows95 或 WindowsNT 命令提示下启动 Word，应使用 FileExit2 而不是 ExitWindows 命令。

在 Macintosh, ExitWindows 命令无效，将导致错误。

_____________

请参阅

应用程序控制语句和函数

FileExit

FileQuit


FileClose

FileClose [Save]

本语句关闭活动文档。所有含活动文档的文档窗口均关闭，如果文档在多个窗口打开而您只需关闭活动窗口，可使用 DocClose。

参数	解释
保存	如果文档“不清洁”即上次保存文件后又进行了修改，本摘要决定关闭文档前 Word 是否对文档保存。 “0”或省略 提法用户保存文档。 “1”关闭前保存文档。 “2”关闭而不保存文档。 如果文档有增加或编辑传递名单，“保存”摘要还控制是否显示提示，如果“保存”设置为“0”或省略，提示将被显示，否则文档不被传递直接关闭。
_____________

请参阅

文档、模板和加载项语句和函数

ClosePane

DocClose

FileCloseAll

FileExit

IsDocumentDirty()


FileCloseAll

FileCloseAll [Save]

本语句关闭所有打开的文档窗口。

参数	解释
Save	如果文档“不清洁”即上次保存文件后进行了修改，本摘要要将决定 Word 是否在关闭每个文档前何存文档。 “0”或省略 提示用户保存修改后的文档。 “1”关闭前保存每个修改后的文档。 “2”关闭所有文档而不保存修改后的文档。 如果文档含增加或编辑传递名单，“保存”摘要还决定是否显示提示，如果“保存”设置为“0”或省略，提示将被显示，否则，文档不被传递直接关闭。
_____________

请参阅

文档、模板和加载项语句和函数

DocClose

FileClose

FileExit

FileQuit


FileExit

FileExit [Save]

本语句退出 Word, FileExit (Windows 下)与 FileQuit(Macintosh)功能相同。

参数	解释
Save	如果文档“不清洁”---即上次保存文档后又对其进行了修改。本摘要决定 Word 是否在关闭文档前保存。 “0”或省略 提示用户保存每个修改后的文档。 “1” 退出前保存所有编辑后的文档。 “2” 不保存修改后的文档退出。 如果文档含增加或编辑传递名单或 Word 在背景下打印，“保存”提要还决定是否显示提示，如果“保存”设为“0”或省略，提示将被显示，否则，Word 不传递文档或不完成打印就退出。
_____________

请参阅

应用程序控制语句和函数

AppClose

ExitWindows

FileCloseAll

FileQuit


FileFind 示例

本 Windows 示例在两个文件夹中搜索文件扩展名为 .RPT 的文件，定义一个数组容纳这些文件名，然后用 FindFileNameR() 命令将文件名填入数组。

FileFind .SearchPath = "C:\WINWORD; C:\REPORTS", .Name = "*.RPT"

size = CountFoundFiles() - 1

If size >= 0 Then

Dim mydocs$(size)

For count = 0 To size

mydocs$(count) = FoundFileName$(count + 1)

Next

End If

下面的 Macintosh 示例为“查找文件”对话框创建一个对话记录，设定搜索路径及文件类型准则，指定显示所找到文件的摘要信息。然后列表显示所找到的文件。

Dim dlg As FileFind

dlg.SearchPath = "HD:MY DOCUMENTS"

dlg.Name = MacID$("W6BN")

dlg.View = 2

x = Dialog(dlg)


FileFind

示例

FileFind [.SearchName = text] [, .SearchPath = text] [, .Name = text] [, .SubDir = number] [, .Title = text] [, .Author = text] [, .Keywords = text] [, .Subject = text] [, .Options = number] [, .MatchCase = number] [, .Text = text] [, .PatternMatch = text] [, .DateSavedFrom = text] [, .DateSavedTo = text] [, .SavedBy = text] [, .DateCreatedFrom = text] [, .DateCreatedTo = text] [, .View = number] [, .SortBy = number] [, .ListBy = number] [, .SelectedFile = number] [, .ShowFolders = number] [, .Add] [, .Delete]

依据一项或多项摘要所指定的搜索准则，本语句创建一个所找到文件的列表，在 Word6.0 版本中，FileFind 明的摘要与“查找”对话框（“查找文件”命令，“文件”菜单）中的选项一致。

在 Word7.0 版本中，“.搜索名”，“.选项”，“.图案相符”，“.视图”，和“删除”摘要均被忽略。无法用 Dialog 或 Dialog() 指令显示 Word6.0 版本的“查找文件”对话框。

参数	解释
.SearchName	对“搜索”对话框中需添加或删除（使用“.添加”或“删除”）的一组搜索准则的命名，注意进行搜索时，Word 将忽略“.搜索名”，必须用“搜索路径”，“.名字”等指定准则。
.SearchPath	待搜索文件的路径列表（路径之间用分号(；)分隔）。
.Name	文档名或在 Windows 下的文件，例如，要查找文档模板，文件将为"*.DOT",在 Macintosh 下，可用 MacID$() 指定文件类型（例如，用 MacID$("WTBN")查找文档模板）。
.SubDirectory	如果为“1”，Word 将搜索文件夹的子文件或由“.搜索路径”指定的文件夹。
.Title	“摘要信息”对话框中的标题。
.Author	“摘要信息”对话框中的作者。
.KeyWord	“摘要信息”对话框中用于识别文档的关键词。
.Subject	“摘要信息”对话框中的主题。
.Option	指定对所找到文件的列表方式： “0”新建一个列表 “1”在现存文件列表中添加 “2”只在现存文件列表中搜索。
.MatchCase	指定是否对“.文件”中每个字母区分大小写（区分大小写）。  “0”不区分大小写（缺省） “1”区分大小写
.Text	所需从文档中搜索的文本。
.PattenMatch	如果为“1”，Word 将视“文本”为含"*"、"?"通配符等高级搜索准则的串，有关详细情况，请参阅 Advanced search criteria.。
.DateSavedFrom	搜索该日期以后保存的文档。
.DateSavedTo	搜索该日期以前所保存文档。
.SaveBy	上次保存文档者的姓名。
.DateCreatedFrom	搜索该日期以后所创建文档,以下为有效日期格式示例：: 7/8/93 8-Jul-91 July 8, 1991
.DateCreatedTo	搜索该日期以前所创建文档。
.View	如果用 Dialog 或 Dialog() 指令显示“查找文件”对话框，本摘要指定对话框右侧所显示内容。 “0”“文件”信息（每个文件一行） “1”选定文件内容的预览窗口 “2”选定文件的摘要信息
.SortBy	用 Dialog 或 Dialog() 指令显示“查找文件”对话框时本摘要指定对文档的排序方式： “0”依作者姓名字母顺序。 “1”依创建日期，最后创建的文件列于首位。 “2”依上次保存者姓名字母顺序。 “3”依上次保存日期，最后保存的这件列于首位。 “4”依文件名字母顺序。 “5”依文件大小，最小的文件列于首位。
.ListBy	本摘要指定对话框左侧列表文件名或标题用 Dialog 或 Dialog() 指令显示“查找文件”对话框时： “0”文件名 “1”标题
.SelectedFile	.选定文件 如果您已用 Dialog或 Dialog() 指令显示“查找文件”对话框，本摘要在用户关闭与上次所选定文件相关的对话框时返回一个编码，要找回文件名，可将该值传递给 FoundFileName$()，例如 FoundFileName$(dlg.SelectedFile)。
.ShowFolders	如果为“1”，用 Dialog 或 Dialog() 指令显示“查找文件”对话框时，依据文件夹组合文件名。
.Add	以“.搜索名”所指定的名字保存所指定的搜索准则。本摘要可用于创建或修改一组搜索准则。
.Delete	删除一组由“搜索名”所指定的搜索准则。
如果您给“.标题”，“.主题”，“.作者”，“.关键词”，“.路径”和“.文本”指定多个单词，Word 将把整个摘要解释为一个逻辑表达而不是一个多单词短语。逗号被解释为逻辑运算符“或者”(OR)；空格式(&)被解释为逻辑运算符和“和”(AND) 有关详细内容，请参阅在文档搜索中使用特殊字符。 。

_____________

请参阅

文档、模板和加载项语句和函数

CountFoundFiles()

FoundFileName$()


FileList 示例

本示例打开最后一次使用的文件，您可以将这些指令包含在 AutoExec 宏中，这样，每次启动时，Word 都会自动打开最后一次使用的文件，如果“文件”菜单中未列有文件，“Error Resume Next”将避免Word显示错误信息。

On Error Resume Next

FileList 1

有关自动宏详细情况，请参阅自动宏


FileList

示例

FileList Number

最近使用过的文件列表于“文件”菜单底端。本语句可打开列表中的某个文件。（Word 对“使用过”定义为打开或保存过）。所指定的 Number（编码）与“文件“菜单中所需打开的文件名后的编码一致（从1到9）。如果所指定的Number（编码）大于所列文件编码，错误将出现，如果所指定文件已打开，Word 将激活该文档。

在“选项”对话框（“工具”菜单）中，通过“常规”选项卡下的“Recently Used File List ”选项，您可以控制“文件”菜单中显示的文件名数目。

_____________

请参阅

文档、模板和加载项语句和函数

CountFiles()

FileName$()

FileNumber

FileOpen


FileName$() 示例

运行时，本示例显示FileNameR()和WindowName$() 的区别，FileName$() 总返回文件路径和文件名，而 WindowName$() 返回窗口标题，其中不含路径，但文件名后可能含如（只读）或“2”之类的额外文字。

MsgBox "File = " + FileName$() + Chr$(13) + \

"Window = " + WindowName$()


FileName$()

示例

FileName$([Number])

本语句返回活动文档或“文件”菜单底部列表中最近所使用文件的某一个文件路径及文件名。

参数	解释
.Number	“文件”菜单中所列顺序的文件编码（从1至9）如果编码为“0”或省略，FileName$() 返回活动文档名；如果无活动文档，返回字符串(“”)如果所指定编码大于“文件”菜单中所列文件数，将有错误出现。 在“选项”对话框（“工具”菜单）中，通过“常规”选项卡下的“Recently Used File List ”选项，您可以控制显示于“文件“菜单中的文件数目。
_____________

请参阅

文档、模板和加载项语句和函数

CountFiles()

FileList

FileNameFromWindow$()

FileNumber

Files$()

WindowName$()


FileNameInfo$() 示例

本 Windows 示例用 FileNameInfo$() 将当前文件夹中所有含扩展名 .Doc 文件改成。RTF 扩展名，并以 RTF 格式保存这些文件。

file$ = Files$("*.DOC")

While file$ <> ""

FileOpen .Name = file$

noExtension$ = FileNameInfo$(file$, 4)

FileSaveAs .Name = noExtension$ + ".RTF" , .format = 6

FileClose 2

file$ = Files$()

Wend


FileNameInfo$()

示例

FileNameInfo$(Filename$, InfoType)

返回由 InfoType 指定的 Filename$ 文件名的一部分。

参数	解释
.Filename$	某文档的路径（如果已指定）及文件名虽然路径必须存在，但文件名不一定是现存文档的名字。如果路径不存在，错误将出现。
.InfoType	要返回的文件名的部分： 1  完整路径及文件名，例如在 Windows 下， FileNameInfo$()可能返回"C:\ DOCUMENT\TEST.DOC "如果 Filename$ 不含路径，FileNameInfo$() 将返回由当前文件夹和 Filename$ 拟造的路径，即使文件尚不存在。 2    如果 Filename$ 位于当前文件夹，只返回文件名否则返回完整路径名及文件名。 3    文件名，例如在 Macintosh下 FileNameInfo$("HD:DOCUMENTS:TEST DOC", 3) 返回 "TEST DOC."。 4     不含扩展名的文件名，例如在 Windows 下FileNameInfo$("C:\DOCUMENT\TEST.DOC", 4) 返回 "TEST." 而在 Macintosh下, setting InfoType to 4 返回整个文件名 （与 InfoType to 3相同）。 5    完整路径，包含 (\) (Windows) or colon (:) (Macintosh). 例如在 Macintosh 下FileNameInfo$("HD:DOCUMENTS:TEST DOC", 5) 返回 "HD:DOCUMENTS:."。 6    在 Windows 下，返回(UNC)网络路径及文件名，例如，如果 TEST.DOC 位于一个含网络共享名"DOCUMENT\PUBUC\DOCUMENT\TEST.DOC".FileNameInfo$("D:\DOCUMENT\TEST.DOC", 6) 返回 "\\DOCUMENT\PUBLIC\DOCUMENT\TEST.DOC." 。
_____________

请参阅

文档、模板和加载项语句和函数

FileName$()

FileNameFromWindow$()


FileNew 示例

该示例创建基于 memv 模板的新文档，在 Windows 中，.DOT 文件扩展名是可选的。也就是说，可指定为 "MEMO1" 也可指定为 "MEMO1.DOT"。

FileNew .Template = "MEMO1"	'Windows

FileNew .Template = "MEMO 1"	'Macintosh

下例创建基于已有的 Letter3 模板的文档。

FileNew .NewTemplate = 1, .Template = "LETTER3.DOT"	'Windows

FileNew .NewTemplate = 1, .Template = "LETTER 3"	'Macintosh

下例运行“简历”向导。

FileNew .Template = "RESUME.WIZ"	'Windows

FileNew .Template = "RESUME WIZARD"	'Macintosh


FileNew

示例

FileNew [.Template = text] [, .NewTemplate = number]

用 FileNew 语句可在指定的模板基础上建立新文档或新模板。或者运行一向导程序。fileNew 语句的参数对应于“文件”菜单中“新建”对话框中的选项。

参数	解释
.Template	生成新文档或模板所要依赖的模板或文档的名称或者指将要运行的向导。
.NewTemplate	说明建立新文档还是新模板： 0或省略   新文档 1          新模板
_____________

请参阅

Documents, Templates, and Add-ins 语句和函数

FileNewDefault

FileOpen


FileOpen 示例

以下 Windows 示例改变当前路径，然后以只读方式打开文件 MYDOC.DOC：

ChDir "C:\WINWORD\DOCS"

FileOpen .Name = "MYDOC.DOC", .ReadOnly = 1

以下 Macintosh 示例同样打开 MYDOCVMENT，但由于说明了完全的路径，所示在 FileOpen 指令前不需要 ChDir 指令。

FileOpen .Name = "HD:WORD:MY DOCUMENT", .ReadOnly = 1


FileOpen

示例

FileOpen .Name = text [, .ConfirmConversions = number] [, .ReadOnly = number] [, .AddToMru = number] [, .PasswordDoc = text] [, .PasswordDot = text] [, .Revert = number] [, .WritePasswordDoc = text] [, .WritePasswordDot = text]

打开某一指定文档如果文档不存在或不在指定路径下，则出错。FileOpen 语句中的大部分参数对应于“文件”菜单中“打开”对话框中的选项。

参数	解释
.Name	文档名（认可路径下）。在 Windows 中，可同时定义多个文件，用空格将文件名分开，在 Macintosh 中，每个 FileOpen 或 Dialog()显示“打开”对话框，通过Name 设置文件定义，可显示某一类型的文件。例如，要显示文本文件，文件定义为“*.TXT”(Windows )或 MACID$(“TEXT”)(Macintosh )示例请见 MacID$() Examples。
.ConfirmConversions	若为1，如果文件不是 Word  格式，则显示“转换文件”对话框。
.ReadOnly	若为1，则以只读方式打开文档。
.AddToMru	若为1，则将文件名加到“文件”菜单底部的最近使用文件列表中（注意：MRU为“Mestrecently used”的缩写）。
.PasswordDoc	如果需要，可设置打开文档口令。
.PasswordDot	如果需要，可设置打开模板口令。
.Revert	如果 Name 为一打开文档的文件名时，控制以下动作： 0   Word 选中已打开文档。 1   Word 舍弃对打开文档所做的所有未保存的修改，并重新打开文件。
.WritePasswordDoc	需要时，为文档保存设置口令。
.WritePasswordDot	需要时，为保存模板变化设置口令。
在 Windows 95 及 Windows NT 中，如果由 Name 说明的路径或文件名的任意部分包含空格符，则必须用 Chr$(34)字符包围整个路径和文件，如下例所示：

FileOpen .Name = Chr$(34) + "C:\DOCUMENTS\AUGUST REPORT" + Chr$(34)

使用同样的方法可指定多个文件。每个文件名必须用空格分隔。如下所示：

FileOpen .Name = Chr$(34) + "JUNE REPORT" + Chr$(34) + " " + \

Chr$(34) + "JULY REPORT" + Chr$(34) + " " + \

Chr$(34) + "AUGUST REPORT" + Chr$(34)

在 Macintosh 中，包含空格的路径和文件不能用Chr$(34)字符包围，以下 Macintosh 示例说明如何在 FileOpen 指令中定义含空格的路径和文件。

FileOpen .Name = "HD:MONTHLY REPORTS:AUGUST REPORT"

_____________

请参阅

Documents, Templates, and Add-ins 语句和函数

FileConfirmConversions

FileFind

FileNew

MacID$()


FilePageSetup示例

以下 Windows 示例设置整个文档的上边矩为1英寸：

FilePageSetup .ApplyPropsTo = 4, .TopMargin = "1 in"

以下 Windows 示例显示“页面设置”对话框中的“纸张来源”选项卡，然后使用用户选择的设置。

Dim dlg As FilePageSetup

GetCurValues dlg

dlg.Tab = 2

Dialog dlg

FilePageSetup dlg


FilePageSetup

示例

FilePageSetup [.Tab = number] [, .TopMargin = number or text] [, .BottomMargin = number or text] [, .LeftMargin = number or text] [, .RightMargin = number or text] [, .Gutter = number or text] [, .PageWidth = number or text] [, .PageHeight = number or text] [, .Orientation = number] [, .FirstPage = number] [, .OtherPages = number] [, .VertAlign = number] [, .ApplyPropsTo = number] [, .Default] [, .FacingPages = number] [, .HeaderDistance = number or text] [, .FooterDistance = number or text] [, .SectionStart = number] [, .OddAndEvenPages = number] [, .DifferentFirstPage = number] [, .Endnotes = number] [, .LineNum = number] [, .StartingNum = number] [, .FromText = number or text] [, .CountBy = number] [, .NumMode = number]

在 Windows 中，用 FilePageSetup 设置页面属性，如设置整个文档或文档中各段的边距，页宽。FilePageSetup 语句中的参数对应于“文件”菜单中“页面设置”对话框中的选项，在 Macintosh 中用FileDocumentLayout.。

参数	解释
.Tab	定义当用 Dialog 或 Dialog() 指令显示“页面设置”对话框时，选择哪张选项卡。 0   页边矩 1   纸张大小 2   纸张来源 3   版面 详细说明请参阅本部分的第二个示例。
.TopMargin	纸张上边界到文本主体上边界间的距离，以磅数或文本量度为单位。
.BottomMargin	纸张的下边界到和文本主体下边界间的距离，以磅数或文字量度为单位。
.LeftMargin	纸张的左边界和文本主体左边界间的距离，以磅数或文本量度为单位。
.RightMargin	纸张的右边界和文本主体右边界间的距离，以磅数或文本量度为单位。
.Gutter	装订文档要留出的额外的边距，以磅数或文本量度为单位。
.PageWidth	页面宽度，以磅数或文本量度为单位。
.PageHeight	页面高度，以磅数或文本量度为单位。
.Orientation	纸张的方向： 0   纵向 1   横向 注：与 TogglePortrait 语句不同，用 FilePageSetup 定义一个新方向时，不会自动为新方向调节纸张大小和边矩。
.FirstPage, .OtherPages	为文档中的第一页和其它页选择纸张来源： 0   默认纸盒（由打印机驱动程序决定） 1   上层纸盒 2   下层纸盒 3   手动送纸（通常用于越过默认纸盒送第一张纸） 4   信封 其他可能的值取决于所用的打印机驱动程序。 要确定一个值，请为宏编辑窗口中的 .FirstPage 和 .OtherPages 记录一个宏，用来选择希望的“页面设置”对话框中“纸张来源”选项卡的选项，然后审阅这些值。
.VertAlign	一页中段落的对齐方式： 0  上对齐 1  居中对齐 2  两端对齐
.ApplyPropsTo	页面设置功能适用的文档部分： 0  本节 1  插入点之后 2  选定节 3  选定文本 4  整个文本
.Default	使当前的页面设置方式成为基于活动模板建立的新文档的默认方式。
.FacingPages	若为1，则对应于选择“对称页边距”复选框。
.HeaderDistance	从纸张顶端到页眉的距离。
.FooterDistance	从纸张底端到页脚的距离。
.SectionStart	确定分节的类型： 0  连续 1  新建栏 2  新建页 3  偶数页 4  奇数页
.OddAndEvenPages	若为1，对应于选择“奇偶页不同”复选框。
.DifferentFirstPage	若为1，对应于选择“首页不同”复选框。
.Endnotes	若为1，对应于选择“取消尾注”复选框。
.LineNum	若为1，对应于选择“添加行号”复选框。
.StartingNum	行起始编号。
.FromText	文本之间间距，以磅或文本量度为单位。0设为自动间距。
.CountBy	用于打印行号的数字增量。
.NumMode	行编号方式： 0  每新的一页重新开始编号 1  每新的一节重新开始编号 2  连续编号
_____________

请参阅

文档、模板和加载项语句和函数

FileDocumentLayout

FileMacCustomPageSetupGX

FileMacPageSetup

FileMacPageSetupGX

FormatColumns

FormatSectionLayout


FilePreview

FilePreview HorizPos, VertPos, Width, Height, .Identifier

FilePreview 命令在自定义对话框中建立一个文件预览框，类似于“文件”菜单中“查找文件”对话框中的文件预览框，每个自定义对话框中只能有一个文件预览框。

不能用“对话编辑器”产生 FilePreview 指令，一种解决方法就是用另一个控制项代替，在“对话编辑器”中，根据对文件预览框的要求确定代替控制项的大小和位置，然后，将对话框定义粘贴到宏定义中，将代替的指令转换为 FilePreview 指令。

当对话框显示时，文件预览框显示选中文档的第一页，还可用一对话函数 DlgFilePreview 来控制文件预览框内显示哪个文档，有关使用对话功能的信息，请参阅The Microsoft Word Developer's Kit.第5章“自定义对话框操作”。

参数	解释
HorizPos, VertPos	文件预览框的左上角距对话框的左上角的水平和垂直距离，增量为系统字体（Windows ）或对话字体（Macintosh ）的1/8和1/12。
Width, Height	文件预览框的宽度和高度，增量为系统字体（Windows ）或对话字体（Macintosh ）的1/8和1/12。
.Identifier	对话函数中 DlgFilePreview 指令所用的标识符，用以改变文件预览框中显示的文档。
示例请见 DlgUpdateFilePreview 示例。

_____________

请参阅

对话框定义和控制语句和函数

DlgFilePreview

DlgUpdateFilePreview

Picture


FilePrint

FilePrint [.Background = number] [, .AppendPrFile = number] [, .Range = number] [, .PrToFileName = text] [, .From = text] [, .To = text] [, .Type = number] [, .NumCopies = number] [, .Pages = text] [, .Order = number] [, .PrintToFile = number] [, .Collate = number] [, .FileName = text] [, .OutputPrinter = text]

FilePrint 命令打印活动文档或指定文档的全部或部分， FilePrint 说明的参数对应于“文件”菜单中“打印”对话框中的选项。

参数	解释
.Background	若为1，则当 Word 打印文档时，宏定义继续生效。在Macintosh ，此参数无效，否则出错。
.AppendPrFile	当打印到文件中时，如果文件已存在，定义是覆盖文件还是追加到文件后面。 0  覆盖 1  追加 在 Macintosh 中，此参数被忽略，除非安装了 QuickDraw GX。
.Range	页面范围： 0  打印整个文档 1  打印选择部分 2  打印当前页 3  打印由 From 和 To 说明的范围 4  打印由 Pages 说明的页码范围
.PrToFileName	当打印到文件中时该文件的路径和文件名，在 Macintosh 中，该参数被忽略，除非安装了 QuickDraw GX。
.From	当 Range为3 时，起始页号。
.To	当 Range 为3时，结束页号。
.Type	打印项目： 0  文档 1  摘要信息 2  批注 3  样式 4  自动图文集词条 5  键值
.NumCopies	打印的份数。
.Pages	欲打印的页号及页范围，用逗号分开。例如，“2，6-10”打印第2页及第6到第10页。
.Order	进一步确定打印页的范围： 0  打印范围内的所有页 1  只打印范围内的奇数页 2  只打印范围内的偶数页
.PrintToFile	当为1时，将打印机指令送到一文件中，必须用.PrToFileName 参数说明文件名，对 Macintosh ，此参数无效，除非安装了 QuickDraw GX。
.Collate	若为1，则当打印多份文档时，整理页。
.FileName	打印的文档路径和文件名，如忽略，则 Word 打印当前选中的文档。
.OutputPrinter	对 Macintosh ，如果安装了QuickDraw GX   ，则确定打印机，如果指定的打印机不正确，则 Word 用“打印”对话框中选择的打印机或默认桌面打印机打印。
_____________

请参阅

文档、模板和加载项语句和函数

FilePrintDefault

FilePrintSetup

ToolsOptionsPrint


FilePrintDefault

FilePrintDefault

用“文件”菜单中“打印”和“打印设置”（Word 6.0版本）对话框及“工具”菜单中“选项”对话框中“打印”选项卡的当前设置来打印当前活动文档。

_____________

请参阅

文档、模板和加载项语句和函数

FilePrint

FilePrintOneCopy

FilePrintSetup

ToolsOptionsPrint


FilePrintSetup 示例

以下 Windows 示例将系统默认打印机改为接到COM2端口的PostScript 打印机。

FilePrintSetup .Printer = "PostScript printer on COM2:"

以下 Windows 示例用 SendKeys 语句将键序列 ALT+0，ALT+L，ENTER 送到“选项”对话框以设置当前打印机，指令取决于“方向”框存在与否。“方向”框的进入键为 0，框中“横向”按钮进入键为L。

SendKeys "%o%l{enter}"

FilePrintSetup .Options


FilePrintSetup

示例

FilePrintSetup [.Printer = text] [, .Options] [, .DoNotSetAsSysDefault = number]

改变当前活动打印机或打印机的选项，在 Word 6.0 版本中， FilePrintSetup 语句的参数对应于“打印机设置”对话框（“文件”菜单中“打印”命令）中的选项，Macintosh 禁用 FilePrintSetup, 否则会出错。

参数	解释
.Printer	被激活的新打印机的名字，当此参数出现在“打印机设置”对话框中时，必须确切说明，要激活系统默认打印机，则说明一个字符空串(“”)。
.Options	显示一对话框，提供选项，可用 SendKeys 语句选择这些选项。
.DoNotSetAsSysDefault	当为0或省略时，使 .Printer 值为系统默认打印机。 在 Word 6.0版本中，此参数无效并产生错误。
_____________

请参阅

文档、模板和加载项语句和函数

FilePrint

SendKeys

ToolsOptionsPrint


FileRoutingSlip 示例

该示例将一个传递名单加到活动文档中（该文档在标题行包含有当前日期），加两个收件人，再传递该文档。

curdate$ = Date$(Now())

FileRoutingSlip .Subject = "Status Doc " + curdate$, \

.Message = "Please fill in your status.", .AllAtOnce = 0, \

.ReturnWhenDone = 1, .TrackStatus = 1, .Protect = 1, .AddSlip

FileRoutingSlip .Address = "Sara Levine", .AddRecipient

FileRoutingSlip .Address = "Carlos Alicea", .AddRecipient

FileRoutingSlip .RouteDocument


FileRoutingSlip

示例

FileRoutingSlip [.Subject = text] [, .Message = text] [, .AllAtOnce = number] [, .ReturnWhenDone = number] [, .TrackStatus = number] [, .Protect = number] [, .AddSlip] [, .RouteDocument] [, .AddRecipient] [, .OldRecipient] [, .ResetSlip] [, .ClearSlip] [, .ClearRecipients] [, .Address = text]

为激活文档添加，删除或改变传递名单，或者将活动文档传递给传递名单中指定的收件人，仅当安装了 Microsoft Mail 后才可用 FileRoutingSlip命令， FileRoutingSlip 语句的参数对应于“增加或编辑传递名单”对话框中的选项（“文件”菜单中“添加传递名单”命令）。

参数	解释
.Subject	电子邮件消息主题行文本。
.Message	想要优先的选用文档图标的信息。
.AllAtOnce	说明收件人如何接收文档： 0  将文档传递给地址指定的第一个收件人 1  将文档的拷贝同时传递给所有收件人
.ReturnWhenDone	若为1，则当最后一个收件人从“文件”菜单中选择“发送邮件”命令时，将文档送回给原始发件人。
.TrackStatus	若为1则每次文档向前传递时，都回送一个消息给原始发件人。
.Protect	为文档指定一个保护级别： 0  没有保护 1  由修订标记跟踪所有变化 2  收件人只能加批注 3  收件人只能在表单域内加入信息
.Address	所传递的文档的收件人地址如果要加多个收件人，则用多个 FileRoutingSlip 指令，每次添加一个收件人地址，如果每次传递一份文档给每个收件人，则应根据传递文档的顺序增加收件人的名字。
对每个 FileRoutingSlip 指令只能定义以下参数中的一个。

参数	解释
.AddSlip	往活动文档中加入一个传递名单。 注释：当关闭一个带有传递名单的文档时，Word 将显示一条信息，询问是否传递该文档，若要在包含 DocClose, FileClose FileCloseAll,或 FileExit 指令的宏中取消该信息，则设置.Save 参数为1或2，这样 Word 就会关闭该文档或没有传递的文档。
.RouteDocument	传递活动文档。
.AddRecipient	将 .Address 参数指定的地址添加到收件人列表中。
.OldRecipient	仅当文档还未传送时，才将 .Address 参数指定的地址添加到收件人列表中，当为一个已传递的文档记录了一次传递名单的修改时，带有 .OldRecipient 参数的 FileRoutingSlip 指令为已经接收到文档的接收者作记录。
.ResetSlip	准备将文档重新传递给收件人。如果文档的首次传送还没有完成，则 Word 显示一信息。
.ClearSlip	从活动文档中删除传送名单。
.ClearRecipients	从收件人列表中删除所有地址。
_____________

请参阅

电子邮件和传送语句和函数

FileSendMail


Files$() 示例

以下 Windows 示例返回在当前路径中找到的第一个以 .DOC 文件扩展名结尾的文件。

a$ = Files$("*.DOC")

以下是为 Macintosh 重写的同一示例，W6BN 为一四字符序列，说明 Word 文档的文件类型。

a$ = Files$(MacID$("W6BN"))

该示例返回当前路径（例如 "C:\WINWORD" or "HD:WORD 6:”）。

CurDir$ = Files$(".")	'Windows example

CurDir$ = Files$(":")	'Macintosh example

如果当前路径中存在 NOTE.DOC 文件，下例打开此文档，如果不存在 NOTE.DOC 文件，则显示一信息框。

If Files$("NOTE.DOC") <> "" Then

FileOpen "NOTE.DOC"

Else

MsgBox "File not found in current folder."

End If

下例以当前路径下所有文件名填充一个数组，在下面的指令中，首先计算文件的数目以确定数组的大小，然后定义数组，用文件名填充它，并排序。可用这个数组在用户定义对话框中显示一个文件列表，或者打开数组中每一个文件，进行某种操作。对 Macintosh ，在文件说明时用 MacID$(“****”)代替“*.*”。

temp$ = Files$("*.*")

count = - 1

While temp$ <> ""

count = count + 1

temp$ = Files$()

Wend

If count > -1 Then

Dim list$(count)

list$(0) = Files$("*.*")

For i = 1 To count

list$(i) = Files$()

Next i

SortArray list$()

MsgBox Str$(count + 1) + " files; 1st in array is " + list$(0)

Else

MsgBox "No files in current folder."

End If


Files$()

示例

Files$(FileSpec$)

返回与文件说明相匹配的第一个文件名，如果指定一个句号(.)(Windows )或一冒号(：)(Macintosh )作为 FileSpec$， 则 Files$() 返回当前路径，在 Windows 中，还可用 MS-DOS 通配符，星号(*)和问号(？)，来说明文件。在 Macintosh 中，可用 MacID$() 说明某种类型的文件。

参数	解释
FileSpec$	指定文件的文件名。如果忽略它，则返回与最近使用的 FileSpec$ 匹配的下一个文件。 在 Windows 中，可指定一个路径作为文件名说明的一部分（例如 ， C:\DOCS\*.TXT）。对 Macintosh， 用 ChDir 改变当前路径，再用 MacID$() 说明某种类型的文件（例如 MacID$("TEXT")），这样会产生同样的结果。
如果在第一次循环时说明 FileSpec$ ，并在以后的步骤中忽略该说明，则可用 Files$() 产生一个与 FileSpec$ 匹配的文件列表（如本参考条目下最后一个示例所示），如果没有匹配的文件，则返回一个空字符串(“”)。

请注意：如果 Files$() 返回的路径或文件名包含一个或多个空格，则返回值用引号围住。

_____________

请参阅

磁盘存取和管理语句和函数

FileFind

MacID$()


FileSaveAs 示例

本示例以 TEST.RTF 为文件名，以 RTF 格式保存活动文档：

FileSaveAs .Name = "TEST.RTF", .Format = 6


FileSaveAs

示例

FileSaveAs [.Name = text] [, .Format = number] [, .LockAnnot = number] [, .Password = text] [, .AddToMru = number] [, .WritePassword = text] [, .RecommendReadOnly = number] [, .EmbedFonts = number] [, .NativePictureFormat = number] [, .FormsData = number] [, .SaveAsAOCELetter = number]

以新文件名或格式保存活动文档。 FileSaveAs 语句的参数对应于“文件”菜单中“另存为”对话框中的选项。

参数	解释
.Name	新文件名，如果不说明 Name ，则当前路径和文件名为默认值，如果文档还未保存过，则 Word 将其保存为一个默认文件名，如 DOC1.DOC(Windows )或DOCUMENTI(Macintosh )，如果同名文档已存在，则 Word 将覆盖该文件而不加提示。
.Format	说明新的格式： 0   Word 文档 1   文档模板 2   纯文本（扩展字符以 ANSI 字符集保存） 3   带分行符的纯文本（扩展字符以ANSI字符集保存） 4   MS-DOS 文本（扩展字符以 IBM PC 字符集保存）（仅对 Windows 有效） 5   带分行符的 MS-DOS 文本（扩展字符以 IBM PC 字符集保存）（仅对 Windows 有效） 6 RTF格式()  ConverterLookup() 指令定义其它格式名后，可返回对应于该格式的值。
.LockAnnot	如果是1，为批注锁定文档。还可通过 ToolsProtectDocument. 语句锁定文档。
.Password	设置打开文档的口令。
.AddToMru	如果是1，将文档名置于“文件”菜单底部的近期所用文档列表的首位。
.WritePassword	设置文档改变保存口令。
.RecommendReadOnly	如果是1，打开文档则显示一信息，提示以只读方式打开文档。
.EmbedFonts	如果是1，在打开文档中嵌入TrueType字体。
.NativePictureFormat	如果是1，仅保存输入图形的 Windows 版本。
.FormsData	如果是1，将用户输入的数据以数据记录形式保存在表中。值得注意的是，该表必须是不加保护的，否则 FileSaveAs 将产生错误。
.SaveAsAOCELetter	如果活动文档有附加邮件，说明如何保存文档： 0   作为 Word 文档（不保存邮件） 1或省略  作为 AOCE 字母（保存邮件） 此选项仅适用于安装PowerTalk 的 Macintosh 系统。
_____________

请参阅

文档、模板和加载项语句和函数

Converter$()

ConverterLookup()

FileSave

FileSaveAll

Name

ToolsOptionsSave

ToolsProtectDocument


FileSendMail

FileSendMail

当通过“Microsoft Mail”传递活动文档时，FileSandMail 命令打开一信息窗，用SendMailAttach 参数的 ToolsOptionsGeneral 语句 来控制文档是作为信息窗中的文本还是作为一附件传送，仅当安装了“Microsoft Mail”时 FileSandMail 才有效。

_____________

请参阅

电子邮件和传送语句和函数

AOCESendMail

FileAOCESendMail

FileRoutingSlip

ToolsOptionsGeneral


FormatAutoFormat 示例

以下 Windows 示例用 REPORT1.DOT 中的格式自动地格式化活动文档，在 Macintosh 中，用“REPORT1”代替“REPORT1”。

FormatStyleGallery .Template = "REPORT1"

FormatAutoFormat


 FormatAutoFormat

示例

FormatAutoFormat

FormatAutoFormat 命令根据 ToolsOptionsAutoFormat 设置的选项，自动地格式化文档，如果要控制文档的版面，则可在运行 FormatAutoFormat.  之前或之后，用 FormatStyleGallery 将样式拷贝到活动文档中。

_____________

请参阅

文档和节的格式语句和函数

FormatStyleGallery

ToolsOptionsAutoFormat


FormatBulletsAndNumbering 示例

该示例将菱形项目符号加到选定的段落中，并且用悬挂式缩进格式化该段落。

FormatBulletsAndNumbering .Hang = 1, .Preset = 3


FormatBulletsAndNumbering

示例

FormatBulletsAndNumbering [.Remove] [, .Hang = number] [, .Preset = number]

FormatBulletsAndNumbering 命令根据当前指定的项目符号或编号方式将项目符号或编号加到选定的段落中，或者删除项目符号和编号。 FormatBulletsAndNumbering 语句参数对应于“格式”菜单中“项目符号和编号”对话框中的选项，在 Windows 中，不能用 Dialog 或 Dialog() 指令显示此对话框。在 Macintosh 中，可用 Dialog 或 Dialog()  指令显示此对话框，但是，不出现“多级符号”选项卡。

参数	解释
.Remove	从选择段落中删除项目符号或编号。
.Hang	当为1时，将悬挂式缩进运用于所选段落。
.Preset	对应于“项目符号和编号”对话框中一个项目符号和编号方式的一个编号。 要确定一个合适的编号，可显示“项目符号和编号”对话框，然后选择带所选方式的选项卡，从左到右计数，.Preset 方式的值为： 1到6，有关“项目符号”选项卡的方式。 7到12，有关“编号”选项卡的方式。 13到18，有关“多级符号”选项卡的方式。
_____________

请参阅

项目符号和编号语句和函数

FormatBulletDefault

FormatNumberDefault

RemoveBulletsNumbers

SkipNumbering


FormatBordersAndShading

FormatBordersAndShading [.ApplyTo = number] [, .Shadow = number] [, .TopBorder = number] [, .LeftBorder = number] [, .BottomBorder = number] [, .RightBorder = number] [, .HorizBorder = number] [, .VertBorder = number] [, .TopColor = number] [, .LeftColor = number] [, .BottomColor = number] [, .RightColor = number] [, .HorizColor = number] [, .VertColor = number] [, .FineShading = number] [, .FromText = number or text] [, .Shading = number] [, .Foreground = number] [, .Background = number] [, .Tab = number]

FormatBordersAndShading 命令为选定的段落，表格单元格，或图形设置边框和底纹格式。 FormatBordersAndShading 语句的参数对应于“格式”菜单中“边框和底纹”对话框中的选项。

参数	解释
.ApplyTo	如果选项由以下项目中的多个组成，则说明 .ApplyTo 格式运用于哪个或哪些项目： 0  段落 1  图形 2  单元格 3  整个表格 如果 ApplyTo 省略，则认为是默认选项。
.Shadow	说明段落或图形的边框是否用阴影： 0  不用阴影 1  用阴影 对表格或表格单元格不能用阴影，若要对段落或图形加阴影，该项目必须有指定相匹配的右，左，上部及底端框线，否则会出错。
.TopBorder, .LeftBorder, .BottomBorder, .RightBorder	段落，单元格或图形的顶端，左边界，底端或右边界的边框线型，范围从0（没有边框）到11（在 Macintosh 中为12）有关线型及其值的列表，请参阅BorderLineStyle.。
.HorizBorder	段落或表格单元格之间水平边框的线型，范围从0（没有边框），到11（在 Macintosh 中为 12）至少有两个连续的段落或表格行时，才会出现此边框。
.VertBorder	表格单元格之间的垂直边框的线型，范围为0（没有边框）到 11（在 Macintosh 中为 12）当表格至少有两单元格宽时，才会出现此边框（当用于段落时， VertBorder 与 LeftBorder.  有同样的效果）。
.TopColor, .LeftColor, .BottomColor, .RightColor, .HorizColor, .VertColor	T 用于指定边框的颜色，范围从0（“自动”）到16, 有关颜色及其值的列表，请参阅 CharColor 。
.FineShading	底纹模式，范围从0到40，对应于以2.5%为增量的，如果 FineShading 为0，则忽略 Shading 。
.FromText	边框到相邻文本的距离，以磅数或文本量度为单位。该参数仅对段落有效；如果是其他项目， FromText 必须为一空串(“”)或省略，否则会出错。
.Shading	用于选项的底纹模式，范围从0（“清除”）到25，有关底纹模式及其值的列表，参见ShadingPattern.。
.Foreground	用于底纹前台的颜色，范围从0（“自动”）到16，有关颜色及其值的列表，请见CharColor.。
.Background	用于底纹背景的颜色，范围从0（“自动”）到16。
.Tab	说明当用 Dialog 或 Dialog()指令显示“边框及底纹”对话框时，选择哪个选项卡： 0  边框选项卡 1  底纹选项卡
_____________

请参阅

边框和图文框语句和函数

BorderBottom

BorderInside

BorderLeft

BorderLineStyle

BorderNone

BorderOutside

BorderRight

BorderTop

EditFindBorder

EditReplaceBorder

ShadingPattern


FormatFont 示例

该示例说明如何在 FormatFont 指令中，通过说明一文字度量来使用度量而不是twips 或磅数，这一指令将所选的字符置于底线0.25 厘米之上。

FormatFont .Position = ".25 cm"


FormatFont

示例

FormatFont [.Points = number] [, .Underline = number] [, .Color = number] [, .Strikethrough = number] [, .Superscript = number] [, .Subscript = number] [, .Shadow = number] [, .Hidden = number] [, .SmallCaps = number] [, .AllCaps = number] [, .Outline = number] [, .Spacing = number] [, .Position = number or text] [, .Kerning = number] [, .KerningMin = number or text] [, .Default] [, .Tab = number] [, .Font = text] [, .Bold = number] [, .Italic = number]

FormatFont 命令将字符格式用于所选的文本。 FormatFont 语句的参数对应于“格式”菜单中“字体”对话框中的选项。

参数	解释
.Points	字体大小，以磅数计算。
.Underline	使用的下划线类型： 0  无下划线 1  单线 2  只在字下加线 3  双线 4  点线
.Color	文本的颜色（颜色列表请参见CharColor.). 。
.Strikethrough	当为1时，加删除线格式。
.Superscript	当为1时，用上标格式。
.Shadow	当为1时，用阴影格式（仅对 Macintosh 有效）。
.Subscript	当为1时，用下标格式。
.Hidden	当为1时，用隐藏格式。
.SmallCaps	当为1时，用小型大写字母格式。
.AllCaps	当为1时，用全部大写格式。
.Outline	当为1时，用大纲格式（仅对 Macintosh 有效）。
.Spacing	字符之间的间距，以 twips（20twips=1 磅,72磅=1英寸）或以文本度量为单位： 0  普通 >0  扩大指定的距离 <0  压缩指定的距离
.Position	字符相对于基线的位置，以1/2磅或文本度量为单位： 0  普通 >0   升高指定的距离 <0   降低指定的距离
.Kerning	当为1时，自动进行字距调整（字符间距）。
.KerningMin	如果 Kerning 置为1，则为自动字距调整设置最小字体，以磅为单位。
.Default	设置字符格式为“普通”格式。
.Tab	说明用 Dialog 或 Dialog() 指令显示“字体”对话框时，选择哪个选项卡： 0  字体选项卡 1  字符间距选项卡
.Font	字体名。
.Bold	当为1时，用粗体格式。
.Italic	当为1时，用斜体格式。
_____________

请参阅

字符格式语句和函数

AllCaps

Bold

CharColor

DoubleUnderline

EditFindFont

EditReplaceFont

Font

FontSize

FormatChangeCase

FormatDefineStyleFont

GrowFont

Hidden

Italic

Outline

ResetChar

Shadow

ShrinkFont

SmallCaps

Strikethrough

Subscript

Superscript

Underline

WordUnderline


FormatFrame 示例

该示例选择当前段落，为其加上图文框，然后将该框格式化为左对齐，相对于当前栏，并且设置其上、下端文字与框的间距为 0.13 英寸：

EditGoTo "\Para"

InsertFrame

FormatFrame .PositionHorz = 0, .PositionHorzRel = 2, \

.DistVertFromText = "0.13 in"


FormatFrame

示例

FormatFrame [.Wrap = number] [, .WidthRule = number] [, .FixedWidth = number or text] [, .HeightRule = number] [, .FixedHeight = number or text] [, .PositionHorz = number or text] [, .PositionHorzRel = number] [, .DistFromText = number or text] [, .PositionVert = number or text] [, .PositionVertRel = number] [, .DistVertFromText = number or text] [, .MoveWithText = number] [, .LockAnchor = number] [, .RemoveFrame]

为选定图文框定位并设置选项。如果插入点或选定内容不在一图文框中，则将产生错误。FormatFrame 语句的参数对应于“格式”菜单的“图文框”对话框中的选项。

参数	解释
.Wrap	指定正文环绕选项： 0 文本在图文框内不环绕。 1 文本在图文框内环绕。
.WidthRule	决定图文框宽度的规则： 0 自动（由段落宽度决定）。 1 指定（宽度由 .FixedWidth 决定）。
.FixedWidth	如果 .WidthRule 值为 1，则 .FixedWidth 表示以磅值或文本度量为单位的框宽度。
.HeightRule	决定图文框高度的规则： 0 自动（由段落高度决定）。 1 至少（高度不低于 .FixedHeight)。 2 指定（高度由 .FixedHeight 指定）。
.FixedHeight	如果 .HeightRule 值为 1 或 2，则 .FixedHeight 为以磅值或文本度量为单位的图文框高度（1 英寸 = 72 磅）。
.PositionHorz	从由 .PositionHorzRel 指定的项目的边缘到图文框的水平距离，以磅值或文本度量为单位。还可指定“左”、“右”、“居中”、“内侧”和“外侧”为文本参数。
.PositionHorzRel	用于确定相对水平位置的项： 0 页边距 1 页 2 栏
.DistFromText	在图文框和文本与其左，右或左右两边之间的距离，以磅值或文本度量为单位。
.PositionVert	从由 .PositionVertRel 指定项目的边缘到图文框的垂直距离，以磅值或文本度量为单位。还可指定“Top”，“Bottom”和“Center”作为文本参数。
.PositionVertRel	用于确定相对垂直位置的项： 0 页边距 1 页 2 段落
.DistVertFromText	在图文框与其上、下或上、下两处的文本之间的距离，以磅值或文本度量为单位。
.MoveWithText	如果值为 1，则当其周围的文本添加或删除时，该图文框也随之移动。
.LockAnchor	如果值为 1，则当图文框重新定位时，相对应的图文框锁定点（指示图文档出现在标准视图中的位置）不变。锁定的图文框不可重新定位。
.RemoveFrame	从选定文本或图形中删除图文框格式。
_____________

请参阅

边框和图文框语句和函数

EditFindFrame

EditReplaceFrame

FormatDefineStyleFrame

InsertFrame

RemoveFrames


FormatTabs 示例

该示例在 1.5 英寸处设置一个右对齐制表位：

FormatTabs .Position = "1.5 in", .Align = 2, .Set

下例清除所有用户定义的制表位：

FormatTabs .ClearAll


FormatTabs

示例

FormatTabs [.Position = text] [, .DefTabs = number or text] [, .Align = number] [, .Leader = number] [, .Set] [, .Clear] [, .ClearAll]

设置或清除选中段落中的制表位。FormatTabs 语句的参数对应于“格式”菜单的“制表位”对话框中的选项。

参数	解释
.Position	制表位的位置，按文字尺寸计量。
.DefTabs	当前文档中默认的制表位的位置，按磅或文字尺寸计量。
.Align	制表位对齐方式： 0 左 1 居中 2 右 3 小数点 4 竖线
.Leader	制表位前导字符： 0 无 1 虚线 2 短线 3 下划线
.Set	设置特定的自定义的制表位。
.Clear	清除特定的自定义的制表位。
.ClearAll	清除所有的自定义的制表位。
_____________

请参阅

段落格式语句和函数

EditFindTabs

EditReplaceTabs

FormatDefineStyleTabs

NextTab()

PrevTab()

TabLeader$()

TabType()


GetAddInID() 示例

该示例显示两条信息之一，具体显示哪一条取决于指定的模板是否当前装入的。在 Macintosh 中， 将路径和文件名代以 HD:TEMPLATES:MY TEMPLATE。

id = GetAddInID("C:\TEMPLATES\MYDOT.DOT")

If id > 0 Then

MsgBox "MYDOT.DOT is global template number" + Str$(id) + "."

Else

MsgBox "MYDOT.DOT is not currently a global template."

End If


GetAddInID()

示例

GetAddInID(AddIn$)

返回一个编号，该编号对应于指定的全局模板或加载项在“文件”菜单的“模板”命令的“模板和加载项”对话框中的“共用模板及加载项”列表中的位置：1 对应于第一个模板或加载项，2 对应于第二个，依此类推。如果 AddIn$ 不是当前的全局模板或加载项，那么 GetAddInID() 返回 0。

参数	说明
AddIn$	全局模板或 Word 加载项库（WLL）的路径和文件名。
_____________

请参阅

文档、模板和加载项语句和函数

AddAddIn

AddInState

ClearAddIns

CountAddIns()

DeleteAddIn

GetAddInName$()


GetAttr()

GetAttr(Filename$)

返回一个数值，这个数值对应由文件名 Filename$ 所指定文件的文件属性。可用“文件管理器”中“文件”菜单的“属性”命令设置文件属性。有关属性的定义，请显示“属性”对话框并选择“帮助”按钮。由 GetAttr() 返回的值是下面值的和。比如，如果选定“只读”和“文档”，那么返回值是 33 （1 和 32 的和）。

值	解释
0	没有选定任何文件属性
1	选定“只读”属性
2	选定“隐藏”属性
4	选定“系统”属性（在 Macintosh 中无效）
32	选定“文档”属性（在 Macintosh 中无效）
示例请参阅 SetAttr 示例。

_____________

请参阅

磁盘存取及管理语句和函数

SetAttr


GetDirectory$() 示例

该示例用当前文件夹下的子文件夹名定义一个数组。在定义一个对话框时，可在一个 ListBox 指令中指定这个数组来提供一个子文件夹的列表。

Dim subdirs$(CountDirectories())

For i = 1 To CountDirectories()

subdirs$(i) = LCase$(GetDirectory$(i))

Next


GetDirectory$()

示例

GetDirectory$([Directory$,] Count)

返回指定文件夹下由 Count 指定的子文件夹的名称。

参数	解释
Directory$	含有该子文件夹的路径，如果省略，则假定为当前文件夹。
Count	范围在 1 到 CountDirectories() 之间的一个数值，其中 1 对应第一个子文件夹，2 对应第二个子文件夹，依此类推。
_____________

请参阅

磁盘存取及管理语句和函数

CountDirectories()


GetPrivateProfileString$() 示例

这个示例把变量 artdir$ 设置为 WINWORD6.INI 的 [Microsoft Word] 节中的 PICTURE-PATH 设置项所指定的路径，如果设置存在，据此改变当前路径。最后两条指令显示“插入”菜单的“图片”命令的“插入图片”对话框。在 Macintosh 中，用 Word Settings (6) 代替 WINWORD6.INI。在 Windows 95 和 Windows NT 中，用 Options key 的整个路径代替“Microsoft Word”而用空字符串 （""）替代 WINWORD6.INI。

artdir$ = GetPrivateProfileString$("Microsoft Word", \

"PICTURE-PATH", "WINWORD6.INI")

If artdir$ <> "" Then ChDir artdir$

Dim dlg As InsertPicture

x = Dialog(dlg)

其他示例请参阅 SetPrivateProfileString。


GetPrivateProfileString$()

示例

GetPrivateProfileString$(Section$, KeyName$, Filename$)

返回设置文件中的设置。在 Windows中,设置文件是一个象 WIN.INI 这样的文本文件的宏，可用它来贮存和检索设置。例如，退出 Word 时可把活动文档名贮存起来，以便下次启动 Word 时可自动重新打开该文档。在 Macintosh中，设置文件是一个象 Word Settings (6) 这样的源文件。

在 Windows 95 和 Windows NT 中可用 GetPrivateProfileString$() 来返回注册中的设置。

参数	解释
Section$	包含 KeyName$ 的设置文件中的节名。节名出现于相关设置项前的括号之间（请勿在 Section$ 中包含括号）。 如果在 Windows 95 和 Windows NT 中使用 GetPrivateProfileString$() 返回 registry 中的设置, Section$ 应该是包括根目录的此设置的完整路径（例如, "HKEY_CURRENT_USER\software\Microsoft\Word\7.0\Options"）。
KeyName$	要检索其设置的设置项。在设置文件中，设置项名后接等号(=)和设置。 如果在 Windows 95 和 Windows NT 中使用 GetPrivateProfileString$() 返回到注册中的设置, KeyName$ 应该是由 Section$ 确定的此设置的值（例如, "MessageBeeps"）。
Filename$	设置文件的文件名。如果没有指定一个路径,则设定为 Windows 文件夹(Windows)或首选文件夹 (Macintosh)。 如果在 Windows 95 和 Windows NT 中使用 GetPrivateProfileString$() 返回注册中的设置, Filename$ 必须为空字符串("")。
如果指定的节、设置项或文件不存在，则 GetPrivateProfileString$() 返回空字符串。

_____________

请参阅

环境语句和函数

GetProfileString$()

SetPrivateProfileString

SetProfileString


GetProfileString$()

GetProfileString$([Section$,] KeyName$)

在 Windows 3.x 中，返回 WIN.INI 中的设置，或者，如果 Section$ 是Microsoft Word 2.0、Microsoft Word、MSWord Text Converters 或 MSWord Editable Sections，则返回 WINWORD6.INI 中的设置。这些例外是为了与 Word 2.x 保持兼容。在 Macintosh中，GetProfileString$() 从 Word Settings (6) 文件返回设置。在 Windows 或 Macintosh 中，一般使用 GetPrivateProfileString$() 更好，它允许利用返回的信息来确定设置文件。

参数	解释
Section$	包含 KeyName$ 的设置文件中的节名。节名出现于相关设置项前的括号之间（请勿在 Section$ 中包含括号）。如果省略，则假定为“Microsoft Word”。
KeyName$	要检索其设置的设置项。在设置文件中，设置项名后接等号(=)和设置。
如果指定的节或设置项不存在，则 GetProfileString$() 返回空字符串（“”）。

注意

在 Windows 95 和 Windows NT 中，设置存在注册中，可用 SetProfileString 和 GetProfileString$() 从文件名为 WIN.INI 的文本文件中设定和返回设置，但系统和 Word 都不使用这些设置。必须用 GetPrivateProfileString$() 和 SetPrivateProfileString 来进入和改变 WordBasic 中注册的值。

_____________

请参阅

环境语句和函数

GetPrivateProfileString$()

SetPrivateProfileString

SetProfileString


GetSystemInfo 示例

该示例在一个新文档中创建一个系统信息的表格。首先，该示例定义一个数组，并用每种类型系统信息的标签填充它。其次，打开一个新文档并定义 info$() 数组，用 GetSystemInfo 对其填充系统信息。最后，用 For...Next 循环插入信息的表格。只要把数组素的长度增加到15并修改标签，该示例就适用于 Macintosh。

Dim a$(11)

a$(0) = "Environment" : a$(1) = "CPU" : a$(2) = "MS-DOS"

a$(3) = "Windows" : a$(4) = "% Resources" : a$(5) = "Disk Space"

a$(6) = "Mode" : a$(7) = "Coprocessor" : a$(8) = "Country"

a$(9) = "Language" : a$(10) = "Pixels High" : a$(11) = "Pixels Wide"

Dim info$(11)

GetSystemInfo info$()

FileNewDefault

FormatTabs .Position = "1.5 in", .Set

For i = 0 To 11

Insert a$(i) + Chr$(9) + info$(i)

InsertPara

Next

下面的 Macintosh 示例在信息框中显示可用磁盘空间的总量。

space$ = GetSystemInfo$(526)

MsgBox "Available disk space: " + space$ + " bytes."


GetSystemInfo, GetSystemInfo$()

示例

GetSystemInfo Array$()

GetSystemInfo$(Type)

GetSystemInfo 语句用关于 Word 运行环境的信息填充一个已定义的字符串数组。在 Windows 中， 数组的长度为 12，在 Macintosh中为 15。

GetSystemInfo$() 函数返回一条关于 Word 运行环境的信息。

Type 是指指定所要返回信息的下列数码之一。在 Windows 中， Type 为从 21 到 32 的值。注意 Type 23、25、和 27 只在 Windows 3.x 中返回有意义的值。

Type	解释
21	环境（比如“Windows”或 “Windows NT”）。
22	中央处理器的类型（比如“80286”、“80386”、“i486”或“未知”）。
23	MS-DOS 的版本号。
24	Windows 的版本号。
25	系统可用资源的百分比。
26	按字节计算的可用磁盘数量。
27	Windows 运行模式：“标准”或 “386 增强方式”。
28	是否安装了数学协处理器：“是”或“否”。
29	地区设置。
30	语言设置。
31	以象素为单位的垂直显示分辨率。
32	以象素为单位的水平显示分辨率。
在 Macintosh 中，Type 为从 512 到 526 的值。

Type	解释
512	环境（“Macintosh”）。
513	存放设置文件的文件夹（比如“HD:System Folder:Preferences:”）。
514	当前显示是否为彩色：“是”或“否”。
515	处理器的类型（比如“68000”、“68040”或“PowerPC”）。
516	计算机的类型（比如“Macintosh Iici”或“PowerBook 145”）。
517	系统软件版本号（比如“7.1”）。
518	设置在共享 Setup 控制板中的 Macintosh 名称。
519	是否安装了QuickDraw GX：“是”或“否”
520	是否安装了“帮助”：“是”或“否”。
521	以象素为单位的垂直显示分辨率
522	以象素为单位的水平显示分辨率
523	国家设置
524	是否安装了数学协处理器：“是”或“否”
525	按字节计算的可用内存数量。
526	按字节计算的剩余磁盘空间。
如果在编写一个在 Windows 和 Macintosh 中都能运行的宏，在运行 GetSystemInfo$() 之前先用 AppInfo$() 确定当前平台。

_____________

请参阅

应用程序控制语句和函数

AppInfo$()


GroupBox

GroupBox HorizPos, VertPos, Width, Height, Label$ [, .Identifier]

在自定义对话框中，创建一个可用来包含一组相关选项按钮或复选框的方框。

参数	解释
HorizPos, VertPos	从对话框左上角到组框的左上角的水平距离（HorizPos）和垂直距离（VertPos），以系统字体（对 Windows）或对话字体（对 Macintosh）的 1/8 和 1/12 为单位。
Width, Height	组框的宽度和高度，以系统字体（对 Windows）或对话字体（对 Macintosh）的 1/8 和 1/12 为单位。
Label$	显示在组框左上角的标签。在 Label$ 中前面有 & 的字符是移动组框的访问键。
.Identifier	对组框进行操作的对话函数中的语句所使用的可选标识符。例如，对话框显示时，可用这个带 DlgText 标识符来改变 Label$ 。
有关示例，请参阅 OptionGroup 示例 。

_____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

DlgText

OptionGroup


HelpAbout 示例

本例定义“关于 Microsoft Word”对话框的对话记录，它保存了对话记录中的当前值，然后在一个信息框中显示出这一序列号。

Dim dlg As HelpAbout

GetCurValues dlg

MsgBox "Serial number: " + dlg.AppSerialNumber


HelpAbout

示例

HelpAbout [.AppName = text] [, .AppCopyright = text] [, .AppUserName = text] [, .AppOrganization = text] [, .AppSerialNumber = text]

HelpAbout 函数不需其他参数，即可显示“帮助”菜单中“关于 Microsoft Word”对话框。它能给出来 Word 的版本号、序列号、版权信息以及获准使用者的姓名。

HelpAbout 函数的参数是只读的，与其他 WordBasic 函数不同。

HelpAbout 函数不能用来设定一个值。但可为 HelpAbout 函数定义一个对话记录，然后以类似于函数返回信息方式，来使用这个对话记录。用这种方法，对话记录便可从“关于 Microsoft Word。”对话框中返回信息。以系统字体（对 Windows）或对话字体（对 Macintosh ）的 1/8 和 1/12 为单位。

参数	解释
.AppName	显示“关于 Microsoft Word”对话框中的名称及版本号。
.AppCopyright	Word 的版权声明。
.AppUserName	获准使用 Word 有效复制版的使用者姓名。
.AppOrganization	当安装 Word 时所提供的系统名。
.AppSerialNumber	Word 有效复制版的序列号。
_____________

请参阅

“帮助”语句和函数

AppInfo$()

DocumentStatistics

GetSystemInfo

MicrosoftSystemInfo


HelpExamplesAndDemos

HelpExamplesAndDemos

显示一个窗口，从此窗口中可找到“帮助”中所有的示例。注意在 Windows 95 和 Windows NT 中，这个例子和说明无效而且 HelpExamplesAndDemos会出错。

_____________

请参阅

“帮助”语句和函数

HelpQuickPreview


HelpQuickPreview

HelpQuickPreview

开始显示介绍 Microsoft Word 的教学课程。注意：在 Windows 95 和 Windows NT 中，Quick Preview demos 无效且 HelpQuickPreview会出错。

_____________

请参阅

“帮助”语句和函数

HelpExamplesAndDemos


HelpWordPerfectHelp 示例

显示“WordPerfect 用户帮助”对话框的示例。

Dim dlg As HelpWordPerfectHelp

x = Dialog (dlg)


HelpWordPerfectHelp

示例

HelpWordPerfectHelp

配合 Dialog 或 Dialog() 指令，显示“帮助”菜单中“WordPerfect 用户帮助”对话框。象在这个标题的例子中演示的一样。在 Macintosh 中，HelpWordPerfectHelp 无效且会出错。

_____________

请参阅

“帮助”语句和函数

HelpWordPerfectHelpOptions


HelpWordPerfectHelpOptions

HelpWordPerfectHelpOptions [.CommandKeyHelp = number] [, .DocNavKeys = number] [, .MouseSimulation = number] [, .DemoGuidance = number] [, .DemoSpeed = number] [, .HelpType = number]

在“WordPerfect 用户帮助”的功能中设置选项。 HelpWordPerfectHelpOptions 的参数与“帮助”菜单中“WordPerfect 用户帮助”命令的“帮助选项”对话框中的选项对应。在 Macintosh 中， HelpWordPerfectHelpOptions 无效且会出错。

参数	解释
.CommandKeyHelp	如果为 1，Word 中的按键与  WordPerfect 按键一致。
.DocNavKeys	如果为 1，箭头键以及 PAGE UP、PAGE DOWN、HOME、END 和 ESC 等键在 WordPerfect 中保持原来各自的功能。
.MouseSimulation	如果为 1，在演示期间，鼠标箭头的移动作为“WordPerfect 用户帮助”中的选择选项。
.DemoGuidance	如果为 1，当用户在演示期间被要求输入时，“WordPerfect 用户帮助”显示帮助文本信息。
.DemoSpeed	控制演示的速度： 0 快速 1 中速 2 慢速
.HelpType	指定“WordPerfect 用户帮助”显示帮助文本信息或者演示选择的 WordPerfect 命令： 0 帮助文本信息 1 演示
_____________

请参阅

“帮助”语句和函数

HelpWordPerfectHelp


Input 示例

该示例打开一个文件列表，并将它们保存为 RTF 格式。假定文件 FILES.TXT 是一文本文件，其中每一段落包含两个串值：要打开的文件名和要存储的文件名。该指令依次打开每一个文件并以 RTF 格式将其保存。在 Macintosh中，文件夹的名字代以 HD:WORD DOCS: and HD:RTF DOCS：

Open "C:\DOCS\FILES.TXT" For Input As #1

While Not Eof(#1)

Input #1, docname$, rtfname$

FileOpen "C:\DOCS\" + docname$

FileSaveAs .Name =  "C:\RTF\" + rtfname$, .Format = 6

FileClose 2

Wend

Close #1

下例在状态栏中提示“RTFfilename ?”并以用户键入的文本来定义变量 rtfname$：

Input "RTF filename", rtfname$


Input

示例

Input #FileNumber, Variable1[$] [, Variable2[$]] [, Variable3[$]] [, ...]

Input [Prompt$,] Variable1[$] [, Variable2[$]] [, Variable3[$]] [, ...]

从一顺序文件中读入串值或数字值，并将这些值赋给相应变量，该顺序文件通常包含由 Print 语句添加的数据。FileNumber 是在为输入而打开文件时 Open 指令中指定的数。有关顺序文件的详细内容，请参阅 《The Microsoft Word Developer's Kit》的第九章“More WordBasic Techniques”。

Input 与 Read 类似的地方是两者都从顺序文件中读入以逗号分隔的值，但与 Read 不同的是，Input 并不从串值中去掉引号。可接受多达 65,280 个字符的字符串，太长的串将被截断。详细内容请参阅 Read。

如果省略 FileNumber，将在状态栏中提示问号（？），让用户键入一个或多个值，这些值用逗号隔开。用户按 ENTER 键结束键盘输入。如果指定了 Prompt$，则在串后跟一问号。

_____________

请参阅

文件输入/输入的基本语句和函数

Close

Eof()

Input$()

InputBox$()

Line Input

Lof()

Open

Print

Read

Seek

Write


Input$() 示例

该示例用文本文件 INFO.TXT 中的前 10 个字符定义变量 filecode$。

Open "INFO.TXT" For Input As #1

filecode$ = Input$(10, #1)

Close #1


Input$()

示例

Input$(NumChars, [#]FileNumber)

从一个打开的顺序文件中读入 NumChars 字符（最多 32,767个）。FileNumber 是在为输入打开文件时在 Open 指令中指定的数。

_____________

请参阅

文件输入/输入的基本语句和函数

Close

Eof()

Input

InputBox$()

Line Input

Lof()

Open

Print

Read

Seek

Write


InputBox$() 示例

该示例要求用户键入一个单词，将该词被赋予 word$ 变量。可将该变量用于宏中，计算活动文档中给定单词出现的次数（如 EditFindFound() 的示例所示）。

word$ = InputBox$("Count instances of:", "WordCounter")

下例提示用户键入从 1 到 10 的一个数。 InputBox$() 将该数按字符串返回，而 Val() 函数将该字符串转换为数并赋予 num 变量。注意：如果用户键入了“Ten”而不是“10”，Val() 就返回 0。

num = Val(InputBox$("Type a number from 1 to 10:"))

下例要求用户键入两行，把这两行赋给 a$ 变量。函数 CleanString$() 删除行中的非打印字符（在Windows 中返回），换行符被保留。

a$ = InputBox$("Type multiple lines:")

a$ = CleanString$(a$)


InputBox$()

示例

InputBox$(Prompt$ [, Title$] [, Default$])

显示一个要求单条信息的对话框，如果用户选择“确定”按钮，它返回键入对话框中的文本。如果用户选择“取消”按钮，则发生错误。可用 On Error 语句来捕获错误。

参数	解释
Prompt$	在指明要求的信息类型的对话框中显示的文本。如果 Prompt$ 多于 255 个字符，就会产生错误。
Title$	显示在对话框标题栏中的文本（如果忽略，Word 就用“Microsoft Word”作标题）。
Default$	起始出现在对话框的文本框中的文本。如果用户在选择“确定”按钮之前什么也没键入，则返回这个值。如果 Default$ 多于 255 个字符，就会产生错误。
如果在对话框显示时用户按下 ENTER 来开始新的一行，则 InputBox$() 返回包含 Chr$(11) + Chr$(13) （换行字符加上段落标记）的文本，其中加入了换行符。有关换行字符的删除方法，请参阅本条目的第三个示例。在 Macintosh 中，如果按ENTER开始新的一行，则返回 Chr$(13)。

要在输入框使用键中选则“确定”键，按 ENTER 键 （Macintosh），或先按 TAB 键将焦点移至“确定”键，再按 ENTER 键（Windows）。

_____________

请参阅

对话框定义及控制语句和函数

Input

MsgBox

On Error

Val()


InsertAutoCaption 示例

该示例创建一新题注标签“Picture”，并指定每当插入 Microsoft Paintbrush 对象时，该标签自动插入。

InsertAddCaption .Name = "Picture"

InsertAutoCaption .Object = "Word.Picture.6", \

.Label = "Picture"


InsertAutoCaption

示例

InsertAutoCaption [.Clear] [, .ClearAll] [, .Object = text] [, .Label = text] [, .Position = number]

在插入任一指定类型对象的时候，系统将自动插入指定的题注。InsertAutoCaption 语句的参数对应于“插入”菜单的“题注”命令的“自动插入题注”对话框中的选项。

参数	解释
.Clear	对由 .Object 参数指定的对象类型。取消自动添加题注功能。
.ClearAll	对所有对象取消自动添加题注功能。
.Object	希望为其自动添加题注的对象类型的名称。该名称与“插入时添加题注”中的名称一样。
.Label	自动插入的题注标签。如果该标签还未被定义，则会发生错误。可用 InsertAddCaption 定义新标签。
.Position	题注的位置： 0 在项目上方 1 在项目下方
_____________

请参阅

编辑语句和函数

InsertAddCaption

InsertCaption

InsertCaptionNumbering


InsertCaption 示例

该示例在活动文档中每个 WordArt 对象后插入题注，其标签为“Figure”，题注为“WordArt 对象”。GetSelStartPos() 返回在 EditGoTo 指令前和该指令后的插入点的字符位置。当字符位置相同，也即不再有 WordArt 对象时，将退出 While...Wend 循环。

StartOfDocument

cp1 = GetSelStartPos()

EditGoTo "o'MSWordArt.2'"

cp2 = GetSelStartPos()

While cp1 <> cp2

CharRight 1, 1

InsertCaption .Label = "Figure", \

.Title = ": WordArt Object", .Position = 1

cp1 = GetSelStartPos()

EditGoTo "o'MSWordArt.2'"

cp2 = GetSelStartPos()

Wend


InsertCaption

示例

InsertCaption [.Label = text] [, .TitleAutoText = text] [, .Title = text]  [, .Delete] [, .Position = number]

在所选项目上面或下面插入一题注。InsertCaption 语句的参数对应于“插入”菜单下“题注”对话框中的选项。

参数	解释
.Label	所插入的题注标签。如果还未定义该标签，则会发生错误。可用 InsertAddCaption 来定义新标签。
.TitleAutoText	希望在题注标签后标入其内容的自动图文集词条（忽略由 .Title 所指定的任何文本）。
.Title	在题注标签后插入的文本（如果指定了 .TitleAutoText，则忽略该参数）。
.Delete	从标签框中删除指定标签。内部标签（如“Figure”）不能删除。如果 .Label 指定了一个内部标签，则将产生错误。
.Position	当选定了某一项目时，该参数指定在该项目的上面或下面插入题注： 0 在选定项目上方插入 1 在选定项目下方插入
_____________

请参阅

编辑语句和函数

InsertAddCaption

InsertAutoCaption

InsertCaptionNumbering


InsertCrossReference 示例

该示例插入一语句，该语句包含两个对图的交叉引用：一个对题注，另一个对包含该图的页。用指令插入的典型句子可以是“For a diagram of a widget, see 'Figure 1: Standard Widget' on page 5”。

Insert "For a diagram of a widget, see " + Chr$(34)

InsertCrossReference .ReferenceType = "Figure", \

.ReferenceKind = "2", .ReferenceItem = "1"

Insert Chr$(34) + " on page "

InsertCrossReference .ReferenceType = "Figure", \

.ReferenceKind = "7", .ReferenceItem = "1"

Insert "."


InsertCrossReference

示例

InsertCrossReference [.ReferenceType = text] [, .ReferenceKind = text] [, .ReferenceItem = text]

在标题、书签、脚注、尾注或已为其定义了题注标签的项目（如公式、数字或表格）中插入交叉引用。InsertCrossReference 语句的参数对应于“插入”菜单的“交叉引用”对话框中的选项。

参数	解释
.ReferenceType	希望在其中插入交叉引用的项目类型。它对应于“引用类型”框。
.ReferenceKind	以文本方式指定的数字代号，其对应于希望包含在交叉引用中的信息。请参阅以下表格得到可用值。
.ReferenceItem	以文本方式指定的数字代号，其对应于“供哪一［引用类型］使用”框中的选项。1 对应于第一项，2 对应于第二项，依此类推。
以下表格显示了基于 .ReferenceType 设置的 .ReferenceKind 的有效值。

.ReferenceType	.ReferenceKind 的可用值
标题	0 标题文本 7 页码 8 标题编号
书签	1 书签文本 7 页码 9 段落编号
脚注	5 脚注编号 7 页码
尾注	6 尾注编号 7 页码
已定义题注标签的项	2 所有题注 3 只有标签和编号 4 只有题注文本 7 页码
_____________

请参阅

编辑语句和函数

InsertCaption


InsertDatabase

InsertDatabase [.Format = number] [, .Style = number] [, .LinkToSource = number] [, .Connection = text] [, .SQLStatement = text] [, .SQLStatement1 = text] [, .PasswordDoc = text] [, .PasswordDot = text] [, .DataSource = text] [, .From = text] [, .To = text] [, .IncludeFields = number]

从一个数据源（例如一个独立的 Word 文档，一个 Mcirosoft Exce l工作表或一个 Micorsoft Acess 数据库）中调入数据，并且把它作为一个表格插入到活动文档中。

参数	说明
.Format	指定一种在“表格自动套用格式”对话框（“表格”菜单）中“格式”下所列的格式。0（零）对应列表中的第一种格式（“无”），1对应第二种格式，依次类推。
.Style	指定 .Format 格式的何种属性应用到表格上。使用下列值中任意几个的和： 0 无 1 边框 2 底纹 4 字体 8 颜色 16 自动匹配 32 标题行 64 最后一行 128 第一列 256 最后一列
.LinkToSource	如果是1，则在新表格和数据源之间建链接。
.Connection	指定一个范围，在这个范围中进行查询。指定范围的方式依赖于数据调入的方式。例如： 在用ODBC ( Windows ) 调入数据时，指定一个连接字符串。 在用动态数据交换 ( ODE ) 从 Microsoft Excel 中调入数据时，指定一个命名范围。 在从 Microsoft Access 中调入数据时（仅在 Windows 中）在表格或查询的名字之前指定单词“Table”或“Query”。
.SQLStatement	一个可选查询字符串，它从一个初始数据源中调入一个数据子集，插入文档中（仅适用于 Windows）。
.SQLStatement1	如果查询字符串超过255个字符，.SQLStatement 指定字符串的第一部分. SQLStatement1 指定第二部分（仅适用于 Windows）。
.PasswordDoc	打开数据源所需的口令（如有的话）。
.PasswordDot	如果数据源是一个 Word 文档，则表示打开附加模板所需的口令（如有的话）。
.DataSource	数据源的路径和文件名。
.From	所要插入的记录范围中第一条数据记录的记录号。
.To	所要插入的记录范围中最后一条数据记录的记录号。
.IncludeFields	若为1，则数据源的字段名出现在新表格的第一行中。
注释

要自动生成连接或查询字符串，可录下在“数据库”对话框（“插入”菜单）中所做动作的一个宏。

_____________

请参阅

对象链接和嵌入语句和函数

InsertExcelTable

MailMergeCreateDataSource


InsertDateTime 示例

本例在表格“3September,1993”中为当前日期插入一个TIME域。

InsertDateTime .InsertAsField = 1, .DateTimePic = "d MMMM, yyyy"


InsertDateTime

示例

InsertDateTime [.DateTimePic = text] [, .InsertAsField = number]

以文字或 TIME 域形式插入当前日期、时间或两者都插入。

参数	说明
.DateTimePic	一个描述日期、时间或两者显示格式的字符串，如果省略，Word 就使用 WINWORD6.INI 文件[Microsoft Word]节( Windows3.X )或 Word Setting (6) ( Macintosh )或注册表（windows95 和 WindowsNT）中“DateFormat="行所指定的格式，在 Windows3.X 中，如果没有“DateFormat=”行，Word 就使用 WIN.INI 文件[intl]节中的"ShortDate"设置。
.InsertAsField	指定 Word 是否将信息当作一个 TIME 域插入： 0（零） Word 将信息当作文本插入 1 Word 将信息作为一个 TIME 域插入 省略 Word 根据“时间和日期”对话框（“插入”菜单）中“作为域插入”复选框的当前设置插入信息。
_____________

请参阅

日期和时间语句和函数

InsertDateField

InsertField

InsertPageField


InsertExcelTable

InsertExcelTable

启动 Microsoft Excel 并显示一个新的工作表。在用户退出 MicrosoftExcel 时，将工作表嵌入到活动文档中。指令 InsertExcelTable 与指令 InsertObject.Class="Excel.Sheet.5"相同。

_____________

请参阅

表格语句和函数

InsertChart

InsertDatabase

InsertObject


InsertField 示例

本例插入一个AUTHOR域。

InsertField .Field = "AUTHOR"

用 InsertField 插入一个 COMMENTS 域，然后用 InsertFieldChars 插入 FILLIN 域。

ToolsOptionsView .FieldCodes = 1

InsertField .Field = "COMMENTS"

CharLeft

InsertFieldChars

Insert "FILLIN " + Chr$(34) + "Type your comment" + Chr$(34)


InsertField

示例

InsertField .Field = text

在插入点插入指定的域。

参数	说明
.Field	要插入的域类型和指令，要了解有关一个指定域的内容，包括语法和例子，可在“域”对话框（“插入”菜单）中选择域名，然后按F1键( Windows )或 HELP 键( Macintosh ).Field参数最多允许255个字符。
不包含域字符(｛｝)，但遵守域代码所有其它规则。在域代码中插入双引号，可以用 Chr$(34)。

_____________

请参阅

域语句和函数

InsertFieldChars


InsertFile 示例

本例在活动文档中插入 PRICES.DOC 的内容，在 Macintosh 中，路径和文件各用诸如 HD:PRICES:PRICELIST 来代替。

InsertFile .Name = "C:\PRICES\PRICES.DOC"

本例在活动文档中插入 PRICES.DOC 中用书签"Sportscars"标记的部分。

InsertFile .Name = "PRICES.DOC", .Range = "sportscars"

本 Windows 例子创建一个新文档，然后对文件夹 C:\TMP 下每个扩展名为 .TXT 的文件插入一个 INCLUDETEXT 域。

FileNewDefault

ChDir "C:\TMP"

name$ = Files$("*.TXT")

While name$ <> ""

InsertFile name$, .Link = 1, .ConfirmConversions = 0

InsertPara

name$ = Files$()

Wend

要将上例改成能在 Macintosh 中运行，只要分别将第二和第三个语句，代之以 ChDir "HD:TEMP FILES"和name$=Files$(MacID$("TEXT"))。


InsertFile

示例

InsertFile .Name = text [, .Range = text] [, .ConfirmConversions = number] [, .Link = number]

在插入点插入指定文件的全部或部分。

参数	说明
.Name	要插入的文件的路径和文件名。如果没有指定路径名，就假设为当前文件夹。
.Range	如果 .Name 指定的是一个 Word 文档，.Range 则是一个书签。如果文件是其它类型（例如一个 Microsoft Excel 2 工作表），.Range 就指向一个命名的范围或单元格范围（例如 R1C1:R3C4 ）。如果 Word 不能识别 .Range，则会出错。
.ConfirmConversions	指定在插入非 Word 文档格式的文件时， Word 是否要显示“转换文件”对话框。
.Link	如果是1，则插入一个 INCLUDETEXT 域，而不是文件内容本身。
_____________

请参阅

文档、模板和加载项语句和函数

InsertDatabase

InsertField


 InsertFrame 示例

本例插入一个图文框，并放在当前段落左边的页边距内，以使用户能在其中键入一个页边注释。如果活动文档不在页面视图下，则 Word 就显示一个对话框询问是否要切换到页面视图下。

SelType 1

If ViewPage() = 0 Then

ans = MsgBox("Switch to page layout view?", \

"Insert Margin Note", 36)

If ans = - 1 Then ViewPage

End If

InsertFrame

FormatFrame .Wrap = 1, .WidthRule = 1, .FixedWidth = ".75 in", \

.PositionHorz = "Left", .PositionHorzRel = 1, \

.DistFromText = "0.13 in", .PositionVert = "0", \

.PositionVertRel = 2, .DistVertFromText = "0"

SelType 1 : FontSize 8 : Italic 1

ToolsOptionsView .HScroll = 1

HScroll 0


InsertFrame

示例

InsertFrame

插入一个空图文框，或为选定的文本或图形。如果没有选定内容，Word 就在插入点插入一个一英寸的方框（这个图在页面视图下看起来就象一个正方形）可以用 FormatFrame 来改变图文框的大小。

_____________

请参阅

边框和图文框语句和函数

FormatFrame

RemoveFrames


InsertObject 示例

本 Windows 例子启动“Microsoft 画图”，当用户在“文件”菜单中选择“退出并返回”后，Word 在插入点插入下面的域：{EMBEDPBrush \* MERGEFORMAT}。

InsertObject .Class = "PBrush"

本 Windows 例子插入一个链接到文件 FLock.BMP 的嵌入对象。

InsertObject .FileName = "C:\WIN31\FLOCK.BMP", .Link = 1, \
.Tab = 1, .Class = "Pbrush"

本 Macintosh 例子插入一个链接到文件 APPILSALES 的嵌入对象。

InsertObject .FileName = "HD1:MICROSOFT WORD:CHARTS:APRIL SALES", \
.Link = 1, .Tab = 1, .Class = "MSGraph"


InsertObject

示例

InsertObject [.IconNumber = number] [, .FileName = text] [, .Link = number] [, .DisplayIcon = number] [, .Tab = number] [, .Class = text] [, .IconFilename = number] [, .Caption = text]

启动一个对象链接和嵌入 ( OLE ) 应用，在应用中用户创建一个对象或用一个指定文件立即创建一个嵌入对象。在两种情况下，InsertObject 都在插入点插入一个 EMBED 域。

参数	说明
.IconNumber	如果 .Displaylcon 设为1，则是一个数，它对应了想要用的图标，图标放在 .IconFilename 指定的程序文件中。图标在“更改图标对话框（“插入”菜单中的“对象”命令）中出现。0（零）对应于第一个图标，1对应于第二个图标，依次类推，如果省略，则使用第一个（默认）图标。 注意在 Macintosh 中，嵌入对象的图标不能更改，本参数被忽略。
.FileName	活动文档中要作为一个嵌入对象保存的文件的路径和文件名。 如果指定了 .Filename，就必须把 .Tab 设为1并且指定 .Class。关于一个作为对象插入一个已存在文件的例子，参见本词条的第二个例子。
.Link	若为1，链接嵌入对象到 .FileName 指定的文件，在文件更改时，Word 更新嵌入对象。
.DisplayIcon	指明一个链接是否显示为一个图标：0（零）或省略 链接不显示为图标。 1 链接显示为图标。
.Tab	指定在用 Dialog 或 Dialog() 语句显示“对象”对话框时选择哪个选项卡 0（零） “新建”选项卡 1 “由文件创建”选项卡
.Class	要插入的新对象的类型名。要查看类型名，可在一个文档中插入一个对象，查看域代码，对象的类型各跟在单词“EMBED”后。
.IconFilename	如果 .Display 设为1，则是程序文件的路径和文件名，要显示的图标就保存在这个文件中。 注意在 Macintosh 中，嵌入对象的图标不能更改，本参数被忽略。
.Caption	如果 .DisplayIcon 设为1，则是显示的图标的标题。如果省略，Word 插入对象的名字。
_____________

请参阅

对象链接和嵌入语句和函数

ActivateObject

EditObject

InsertChart

InsertDrawing

InsertExcelTable


InsertPicture 示例

本示例插入一个 INCLUDEPICTURE 域， 其内容是 Windows 位图 WINLOGO.BMP：

InsertPicture .Name = "WINLOGO.BMP", .LinkToFile = 1

本例插入一个 INCLUDEPICTURE 域，其值是 PICT 格式位图 Artist：

InsertPicture .Name = "Artist", .LinkToFile = 1


InsertPicture

示例

InsertPicture .Name = text [, .LinkToFile = number]  [, .New]

在插入点插入一个图象。如果 .LinkToFile 设为 1 或 2，图象就作为一个 INCLUDEPICTURE 域插入，这个域在图象文件更改时可以更新。

参数	说明
.Name	插入图形的路径和文件名。若路径省略，则假设为当前文件夹。
.LinkToFile	指定是否作为一个域插入图象和是否在文档中保存图象数据。 0（零）或省略  插入 .Name 参数指定的图形。 1  在插入点插入一个 INCLUDEPICTURE 域并在文档中保存图象数据。 2  在插入点插入一个 INCLUDEPICTURE 域并且通过加入一个 \d 开关不在文档中保存图象数据。
.New	插入一个1英寸正方形的四周带有边界的空图元文件图形。
_____________

请参阅

对象链接和嵌入语句和函数

InsertDrawing

InsertFile

InsertObject


InsertSound

InsertSound

在 Windows 中启动“录音机”或在 Macintosh 中启动“Microsoft Voice Annotation”以便用户能记录或插入声音，当用户退出这个声音应用时，声音被嵌入到活动文档中。如果计算机没有安装声音设备，就会出错。

_____________

请参阅

对象链接和嵌入语句和函数

InsertChart

InsertDrawing

InsertExcelTable

InsertObject


InsertSubdocument 示例

本例将文档 SUB1.DOC 作为一个只读或锁定的子文档加入到活动文档的开头，在 Macintosh 中，用 HD:MYDOCS:SUBDOC1 来取代路径。

StartOfDocument

ViewMasterDocument

InsertSubdocument .Name = "C:\MYDOCS\SUB1.DOC", .ReadOnly = 1


InsertSubdocument

示例

InsertSubdocument .Name = text [, .ConfirmConversions = number] [, .ReadOnly = number] [, .PasswordDoc = text] [, .PasswordDot = text] [, .Revert = number] [, .WritePasswordDoc = text] [, .WritePasswordDot = text]

在活动主控文档中加入指定文件作为子文档。如果活动文档不是在大纲或主控文档视图下，就会发生错误，有关参数描述，请参阅FileOpen.。

_____________

请参阅

大纲和主控文档语句和函数

CreateSubdocument

FileOpen

MergeSubdocument

OpenSubdocument

RemoveSubdocument

SplitSubdocument

ViewMasterDocument


InsertTableOfContents 示例s
InsertTableOfContents 示例

本例用标题1到标题3样式插入一个目录，不包括TC域（如存在的话）。

InsertTableOfContents .Outline = 1, .From = 1, .To = 3, \

.Fields = 0, .RightAlignPageNumbers = 1, .Replace = 1

本例用标题 1 到标题 3 样式以及标题 5 样式（标题 4 样式被略过）插入一个目录。注意用标题5样式编排的标题在目录中用 TOC4 样式编排。

InsertTableOfContents .Outline = 1, .From = 1, .To = 3, \

.AddedStyles = "Heading 5,4", .RightAlignPageNumbers = 1, \

.Replace = 0

本例插入一个基于用 "Intor,"、"Main heading"、"Summary" 和 "Subhead" 样式编排的文本的目录。由 Intro、Main heading 和 Summary 样式编排的文本映射到 TOC1 样式；由 Subhead style 样式编排的文本映射到 TOC2 样式。

custom$ = "Intro,1,Summary,1,Main heading,1,Subhead,2"

InsertTableOfContents .Outline = 0, .AddedStyles = custom$, \

.RightAlignPageNumbers = 1, .Replace = 0


InsertTableOfContents

示例

InsertTableOfContents [.Outline = number] [, .Fields = number] [, .From = number] [, .To = number] [, .TableId = text]  [, .AddedStyles = text] [, .Replace = number] [, .RightAlignPageNumbers = number]

从标题，TC（目录项）域或同时从两者中收集目录项，并在插入点插入一个 TOC（目录）域。

参数	说明
.Outline	若为1，则从标题样式中收集目录项。
.Fields	若为1，则从 TC（目录项）域中收集目录项。
.From	如果 .Outline 为1，则为要收集的最高级的标题样式。
.To	如果 .Outline 为1，则为要收集的最低级的标题样式。
.TableId	要在目录中包括的这些 TC 域所指定的目录项标识符。
.AddedStyles	由 .From 和 .To 指明的标题样式之外的要收集的样式，在指定 .AddedStyles 时要有如下语法： Style To collect TOC#[], Style to Collet2 Toc#[...]。 可以指定任意数目的样式来收集，但字符串的长度不能超过256个字符，例如：.AddedStyles="NoteStyle.3"会使用一种叫"NoteStyle"样式编排的文本被收集到目录中，并用 TOC3 样式编排。
.Replace	指定是否替换上次编译的目录： 0（零）或省略 存在的目录不被替换（本指令只有选定目录后才有效）。 1 存在的目录被替换。
.RightAlignPageNumbers	如果是1，页码与右页边距对齐。
_____________

请参阅

编辑语句和函数编辑

InsertTableOfAuthorities

InsertTableOfFigures

MarkTableOfContentsEntry


InsertTableOfFigures 示例

本例插入带有标签"Diagram"的标题所标记的一个图表目录，如果已经存在一图表目录，该图表将被替换。

InsertTableOfFigures .Outline = 0, .Caption = "Diagram", .Label = 1, \

.RightAlignPageNumbers = 1, .Replace = 1


InsertTableOfFigures

示例

InsertTableOfFigures [.Outline = number][, .From = number] [, .To = number] [, .Caption = text] [, .Label = number] [, .RightAlignPageNumbers = number] [, .Replace = number]

收集带有指定标签的标题，并将它们插入到插入点位置。

参数	说明
.Outline	若为1，则包括图标目录分级标题中的文字，如仅收集标题，则把.Outline 设为0（零）。
.From	如果.Outline 为1，则为要收集最高级的标题样式。
.To	如果.Outline 为1，则为要收集的最低级的标题样式。
.Caption	标识想为其建立一个目录表的项目的标签。
.Label	如果为1，则在图表中包括标签和标题序号。
.RightAlignPageNumbers	如果为1，则页码与右页边距对齐。
.Replace	指定是否替换上次编译的图表目录： 0（零）或省略 已有的图表目录不被替换（该指令只有选定了图表目录后才有效）。 1 已有的表被替换。
_____________

请参阅

编辑语句和函数

InsertAutoCaption

InsertCaption

InsertTableOfAuthorities

InsertTableOfContents


InStr() 示例s
InStr() 示例

本例将变量 pos 设为 7。

list$ = "Bonn, Paris, Tokyo"

city$ = "Paris"

pos = InStr(list$, city$)

下述例子将 pos 设成 15，注意如果没有指定 Index, Pox 将会是 2。

pos = InStr(3, "Bonn, Paris, Tokyo", "o")

下述例子将一个带扩展名的 MS-DOS 文件名赋给 name$.， 定义 prefix 为不带扩展名的文件名。

name$ = "SUMMARY.DOC"

dot = InStr(name$, ".")

If dot > 1 Then prefix$ = Left$(name$, dot - 1)


InStr()

示例

InStr([Index,] Source$, Search$)

返回了在 Source$ 串中 Search$ 串开始的字符位置，其中1对应第一个字符，2代表第二个，依次类推。如果 Source$ 中不包含 Search$，则 Instr() 返回0（零）。

参数	说明
Index	Source$ 中开始搜索的字符位置
Source$	被搜索的源文本
Search$	要搜索的目的文本
_____________

请参阅

字符串和数字语句和函数

Left$()

Len()

LTrim$()

Mid$()

Right$()

RTrim$()


Int() 示例s
Int() 示例

本例将变量 X 设为98。

x = Int(98.6)

本例将变量 X 设为 -9。

x = Int(-9.6)

本函数将一个小数取整成与其最接近的整数。

Function fRoundOff(x)

fRoundOff = Int(x + 0.5 * Sgn(x))

End Function


Int()

示例

Int(n)

返回一个小数 n 的整数部分。如果 n 大于或等于32768或者 n 小于或等于-37269，就产生一个错误。

_____________

请参阅

字符串和数字语句和函数

Abs()

Rnd()

Sgn()


IsExecuteOnly() 示例

本例决定共用宏 Test 是否是只执行的。如果不是，Word 在宏编辑窗口中显示该宏。

encrypted = IsExecuteOnly("NORMAL:Test")

If encrypted = 0 Then ToolsMacro .Name = "Test", .Show = 1, .Edit


IsExecuteOnly()

示例

IsExecuteOnly([Macro$])

如果指定的宏可以编辑则返回0（零），如果只执行，则返回-1。不能被编辑的宏有时被称作加密的，可以用 MacroCopy 来使一个宏可执行。

参数	说明
Macro$	宏的名字，使用下列语法： [TemplateName]MacroName$ 如果省略了 TemplateName，Word 在正文模板和调入的通用模板中寻找宏。如果指定了 TemplateName，则这个模板必须在一个文档窗口中打开，或连到一个打开的文档上，或作为一个通用模板被调入，否则 IsExecuteOnly() 就会出错。如果 TemplateNamet MacroName$ 都省略，则认为是包含 ISExecuteOnly() 指令的那个宏。
_____________

请参阅

宏语句和函数

IsMacro()

MacroCopy


Kill 示例s
Kill 示例

本例删除一个在 C:\WORD\LETTERS 下的文件。在 Macintosh 中，将路径和文件名用 HD:WORD:LETTERS:DRAFT 来代替。

Kill "C:\WORD\LETTERS\DRAFT.DOC"

下面的 Windows 例子删除 C:\DELETE 文件夹下的所有文件。

Kill "C:\DELETE\*.*"

上述例子在 Macintosh 中可改写如下：

ChDir "HD:DELETE"

Kill MacID$("****")


Kill

示例

Kill FileSpec$

删除指定的一个或几个文件，如果 .FileSpec$ 指定了一个打开的文档，则出错。

参数	说明
FileSpec$	文件描述。在 Windows 中可以使用 MS—DOS 的通配符——星号 (*) 和问号 (?) ——来指定文件、也可以将路径指定为文件描述的一部分（例如 C:\DOS\*.TXT）。 在 Macintosh 中，可以用 MACID$() 来指定某一类文件。例如 Macid$(TEXT)；要指定一个路径，则在 Kill 指令前加上 CHDir 指令。
_____________

请参阅

磁盘存取和管理语句和函数

CopyFile

MacID$()

RmDir


LCase$() 示例

本例以全小写的方式显示一个赋给变量 name$ 的字符串。

name$ = "Stella Richards"

MsgBox LCase$(name$)


LCase$()

示例

LCase$(Source$)

返回一个字符串，在这个字符串中，Samce$ 的所有字母都被转化为小写。

_____________

请参阅

字符串和数字语句和函数

ChangeCase

UCase$()


ListBox 示例

这个宏显示一个菜单名列表，首先，它创建一个放在一个列表框中的菜单名数组，然后它定义一个包含这个列表框的对话框，最后显示这个对话框。

Sub MAIN

Dim MyList$(CountMenus(1) - 1)

For i = 1 To CountMenus(1)

MyList$(i - 1) = MenuText$(1, i)

Next i

Begin Dialog UserDialog 320, 118, "List Box Example"

Text 27, 8, 129, 13, "This is a list box:"

ListBox 29, 25, 160, 84, MyList$(), .MyList

OKButton 226, 5, 88, 21

CancelButton 226, 29, 88, 21

End Dialog

Dim dlg As UserDialog

x = Dialog(dlg)

End Sub


ListBox

示例

ListBox HorizPos, VertPos, Width, Height, ArrayVariable$(), .Identifier

创建一个列表框，用户可以在一个自定义的对话框中从这个列表框里选择一项。

参数	说明
HorizPos, VertPos	从列表框左上角到对话框左上角的水平和垂直距离，增量是以系统字体 ( Windows ) 1/8或对话字体 ( Maciatosh ) 的1/2为单位。
Width, Height	列表框的宽度和高度，增量是以系统字体 ( Windows ) 1/8或对话字体 ( Macintosh ) 的1/2为单位。
ArrayVariable$()	一个包含列表的字符串数组，每个数组元素为一个列表框项。
.Identifier	与对话记录名一起使用，.Identifier 创建一个变量，变量的值对应被选中的列表框项的序号。这个变量的形式是DialogRecord.(dentifien)（例如dlg.Mglist）。 标识符字符串（ldentifier去掉圆点）也用于对列表框进行操作的对话框函数的语句中，如Dlgenable 和 Dlgvisible等。
 _____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

ComboBox

DlgListBoxArray

DropListBox


MacroCopy 示例

本例把MyTest 宏从 MYTEMP 模板复制到正文模板中，新的宏取名的 MyFinal。

MacroCopy "MYTEMP:MyTest", "Global:MyFinal"


MacroCopy

示例

MacroCopy [Template1:]Macro1$, [Template2:]Macro2$ [, ExecuteOnly]

把一个宏从一个打开模板复制到另一个模板。MacroCopy 不能替换一个打开的宏。如果一个模板附加到一个在文档窗口中打开的文档或作为共用模板加载，那么这个模板就打开了。如果您只是执行新宏，则它不能被编辑。

参数	说明
Template1, Template2	打开含有您要复制的宏的模板，并打开您要把宏复制过去的模板。在   Windows 中，如果模板名中不包含扩展文件名，则赋予.DOT。 如果模板不在由“选项”对话框（“工具”菜单）中“文位位置”选项卡上“文件类型”框中“用户模板”指定的目录中，则要在模板名中加入路径。
Macro1$, Macro2$	分别是复制宏名和新宏的名字。
ExecuteOnly	如果非零，则只执行目标宏。这个操作不能逆转。最好在第一次执行时，做一份宏的备份。
如果不指定一个源或目标模板，就假设为正文模板。可以在一个 MacroCopy 指令中用语法 Global: MacroNamc$ 来指定的正文模板作为源或目标。例如：

 MacroCopy "MyTemp:DelStylesTest", "Global:DelStyles"

尽管不作要求，但包含“Global”的 MacroCopy 指令可以使一个影响正文模板的宏更易阅读。

_____________

请参阅

宏语句和函数

IsExecuteOnly()


MacroName$()

MacroName$(Count [, Context] [, All] [, Global])

返回在指定上下文中定义的的宏的名字。

参数	说明
Count	一个数值，它代表指定上下文中位于宏的内部列表上的位置。与“宏”对话框（“工具”菜单）中的列表不同，它的顺序不是按字母排列的。数字的范围可以是从1到指定上下文中由 CountMacros() 返回的数。 如果指定 Count 为0（零），MacroName$() 返回在活动（或最近活动）宏编辑窗口中宏的名字。
Context	指定一个模板，从这个模板中生成了宏的内部列表： 0（零）正文模板 1  活动模板 注意：如果在正文模板是活动模板时指定为1，并且 Count  大于0（零），则出错。
All	如果是1 则以下列顺序列出所有可用的宏，加载项命令和内置命令。保存在活动模板中的宏，保存在正文模板中的宏，保存在已加载通用模板中的宏，加载项命令，内置命令。
Global	如果1 则只列出保存在已加载通用模板中的宏和加载项命令列表。
有关使用 MacoName$ 的一个例子。请参阅 MacroDesc$() 示例. 。

_____________

请参阅

宏语句和函数

CountMacros()

ListCommands


MailMergeAskToConvertChevrons, MailMergeAskToConvertChevrons()

MailMergeAskToConvertChevrons [Prompt]

MailMergeAskToConvertChevrons()

当打开一个由 Word for the Macintosh 5.X 或者 4.0 版创建的，包含尖引号（《 》）的文档时，MailMergeAskToConvertChevrons() 语句控制 Word 是否显示一条提示，询问要不要将尖引号中的文本转换为合并域。

参数	注释
Prompt	指定是否显示一条提示。 0   不显示提示。由MailMergeConvertChevrons 控制 Word 是否转换合并域。 1    显示提示。 忽略 在显示和不显示提示间切换。
如果 Word 显示提示，MailMergeAskToConvertChevrons() 函数返回-1，如果 Word 不显示提示，则返回0。

_____________

请参阅

邮件合并语句和函数

MailMergeConvertChevrons


MailMergeConvertChevrons, MailMergeConvertChevrons()

MailMergeConvertChevrons [Convert]

MailMergeConvertChevrons()

打开一个由 Word for the Macintosh 5.X 或者 4.0 版创建的，包含尖引号(� �)的文档，并且 MailMergeAskToConvertChevrons() 返回0时，MailMergeConvertChevrons 控制 Word 是否把尖引号中的文本转换为合并域。如果 MailMergeAskToconventChevrons() 返回1，在 Word 显示一条提示，询问要不要转换尖引号时，由 MailMergeConvertChevrons 控制哪一个按钮作为默认按钮。

参数	注释
Convert	控制是否转换尖引号（如果提示出现，则确定哪个控钮是默认的）： 0  不转换尖引号（或者把提示中的默认按钮设置为 No）。 1  转换尖引号（或者把提示中的默认按钮设置为 Yes）。 忽略  切换是否转换尖引号的设置，（ 或者切换提示中的默认按钮设置）。
如果默认按钮为 No，则MailMergeConvertChevrons() 函数返回0；如果默认按钮为 Yes，则返回-1。

_____________

请参阅

邮件合并语句和函数

MailMergeAskToConvertChevrons


MailMergeCreateDataSource

MailMergeCreateDataSource .FileName = text [, .PasswordDoc = text] [, .HeaderRecord = text] [, .MSQuery] [, .SQLStatement = text] [, .SQLStatement1 = text] [, .Connection = text] [, .LinkToSource = number]

创建一个存储邮件合并数据的 Word 文档。MailMergeCreateDataSource 把这个新的数据源附着在活动文档上。如果活动文档还不是主文档，它就变成为主文档。

为创建一个带表格的新数据源，其中的表格供以后填写用，只需指定.FileName 和 .HeaderRecord（如果想要保护这个新数据源，还需指定 .PassWordDoc ）。

参数	注释
.FileName	新数据源的路径和文件名。
.PasswordDoc	为保护新数据源设置的口令。
.HeaderRecord	用于头部记录（ HeaderRecord ）的域名。如果忽略，则使用标准的头部记录，即："Title, FileName, LastName... JobTitle, Company, Address1, Address2, City, State, PostalCode, Country, HomePhone, WorkPhone." 为了隔开域名，在 Windows 中，，使用在 WIN.INI 文件[intl]节中 sList 设置值指定的字符。（在 Windows95 和 WindowsNT 中，这项设置存放在“登录”（the registry）中）。
.MSQuery	发出 Microsoft Query，如果安装了的话（仅在 Windows 中）。.FileName, .PasswordDoc, 和.HeaderRecod 参数被忽略。
.SQLStatement、.SQLStatement1 和 .Connection 参数在 MailMergeCreateDataSource 指令中不起作用。如果用一个对语记录和一条 Dialog 或者 Dialog() 指令显示 Create Data Source 对语框，就可以返回这些参数的值。有关返回这些值的详细内容，请参阅 MailMergeDataSource$()。LinkToSource 参数被忽略。

_____________

请参阅

邮件合并语句和函数

MailMergeCreateHeaderSource

MailMergeDataSource$()

MailMergeEditDataSource

MailMergeOpenDataSource


MailMergeCreateHeaderSource

MailMergeCreateHeaderSource [.FileName = text] [.PasswordDoc = text] [, .HeaderRecord = text]

创建一个 Word 文档，用以存储一个头部记录。该头部记录用以代替一个邮件合并中的数据源头部记录。MailMergeCreateHeaderSource 把新头部记录源附着在活动文档上。如果活动文档还不是主文档，它即变为主文档。

参数	注释
.FileName	新头部源的路径和文件名。
.PasswordDoc	用于保护新头部源的口令。
.HeaderRecord	用于头部记录的域名。如果忽略，则使用标准的头部记录，即："Title, FileName, LastName... JobTitle, Company, Address1, Address2, City, State, PostalCode, Country, HomePhone, WorkPhone." 为了隔开域名，在 Windows 中，，使用在 WIN.INI 文件[intl]节中 sList 设置值指定的字符。（在 Windows95和 WindowsNT 中，这项设置存放在“登录”（the registry）中）。
_____________

请参阅

邮件合并语句和函数

MailMergeCreateDataSource

MailMergeEditHeaderSource

MailMergeOpenHeaderSource


MailMergeDataSource$()

MailMergeDataSource$(Type)

返回有关数据或者头部源的信息，数据检索方法，或者当前联接或查询字符串。

类型	值和说明
0	数据源的路径和文件名。
1	头部源的路径和文件名。
2	以文本形式返回的数值，指示怎样把数据提供给邮件合并操作： 0 来自一个 Word 文档或者通过一个 Word 文件转换器。 1 来自 Microsoft Access（仅对Windows）的动态数据交换(DDE)。 2 来自 Microsoft Excel 的 DDE。 3 来自 Microsoft Query（仅对 Windows）的 DDE。 4 打开数据库联络( ODBC )（仅对   Windows ）。
3	以文本形式返回的一个数值，指示怎样把头部源提供给邮件合并操作。请参阅上述关于类型 2 的值和说明。
4	该数据源的联接字符串。
5	查询字符串（ SQL 语句）。
_____________

请参阅

邮件合并语句和函数

MailMergeCreateDataSource

MailMergeEditDataSource

MailMergeOpenDataSource


MailMergeEditDataSource

MailMergeEditDataSource

当一个主文档为活动时，执行以下操作：

{bmc.bmp}如果数据源是一个 Word 文档，打开该数据源（如果数据源已经打开，则激活它。，） 。

{bmcb.bmp}如果 Word 正在通过动态数据交换(DDE)－使用一个诸如 Microsoft Excel 或者 Microsoft Access 之类的应用程序－存取数据，则在该应用程序中显示该数据源 。

{bmcb.bmp}如果 Word 正在通过打开数据库联络(ODBC)存取数据（仅对 Windows ），则在一个 Word 文档中显示该数据。注意，如果安装了 Microsoft Query，则出现一个信息，用于决定是否显示 Microsoft Quny 以代替数据转换。

_____________

请参阅

邮件合并语句和函数

MailMergeCreateDataSource

MailMergeEditMainDocument

MailMergeOpenDataSource


MailMergeOpenDataSource

MailMergeOpenDataSource .Name = text [, .ConfirmConversions = number] [, .ReadOnly = number] [, .LinkToSource = number] [, .AddToMru = number] [, .PasswordDoc = text] [, .PasswordDot = text] [, .Revert = number] [, .WritePasswordDoc = text] [, .WritePasswordDot = text] [, .Connection = text] [, .SQLStatement = text] [, .SQLStatement1 = text]

把指定的数据源附着在活动文档上，如果活动文档尚不是主文档，活动文档即变为主文档。

参数	注释
.Name	数据源的名字。在 Windows 中，可以指定一个 Microsoft Query (.QRY) 文件来代替指定一个数据源、一个联接字符串、和一个查询字符串。
.LinkToSource	如果为1，则由 .Connection 和 .SQLStatement 指定的查询在每次打开主文档时都要执行。
.Connection	指定一个范围，在其中执行由 .SQLStatement 指定的查询。怎样指定该查询取决于数据的检索方式。例如： {bmcb.bmp}通过 ODBC（仅对 Windows ）检索数据时，指定一个联接字符串。 {bmcb.bmp}通过动态数据交换( DDE 从 Microsft Excel 中检索数据时，指定一个命名范围。 {bmcb.bmp}从 Microsoft Access（仅对 Windows ）中检索数据时，指定单词“Table”或者“Query”，后跟一个表格或者查询的名称。
.SQLStatement	定义数据检索的查询选项。
.SQLStatement1	如果查询字符串长度超255个字符，.SQLStatement 指定该字符串的第一部分，.SQLStatement1 指定该字符串的第二部分。
注意

要确定联接和查询字符串，先手工设置查询选项，然后使用 MailMargeDataSource$() 返回这些字符串。

关于其它参数的说明，请参阅FileOpen.。

_____________

请参阅

邮件合并语句和函数

FileOpen

MailMergeCreateDataSource

MailMergeEditDataSource

MailMergeOpenHeaderSource


MailMergeQueryOptions

MailMergeQueryOptions .SQLStatement = text [, .SQLStatement1 = text]

指定邮件合并的查询选项。可以用 MailMergeQueryOptions 改变由 MailMergeCreateDataSource 或者 MailMergeOpenDataSource 指令建立的查询选项。如果活动文档不是一个主文档，则发生错误。

参数	注释
.SQLStatement	一个可选的查询字符串，它在一个主数据源中检索一个数据子集。
.SQLStatement1	如果查询字符串长度超255个字符，.SQLStatement 指定该字符串的第一部分，.SQLStatement1 指定该字符串的第二部分。
注意

要确定查询字符串，先手工设置查询选项，然后用MailMergeDataSource$()返回该字符串。

_____________

请参阅

邮件合并语句和函数

MailMergeCreateDataSource

MailMergeDataSource$()

MailMergeOpenDataSource


MenuItemText$() 示例

本示例在没有文档打开时，显示一个消息框，给出 Help 菜单上第一个 Word 相关项的菜单文本（在 Macintosh 上，这是 Show Balloons 命令后面的第一项）:

MsgBox MenuItemText$("Help", 1, 1, 0)


MenuItemText$()

示例

MenuItemText$(Menu$, Type, Item [, Context])

返回与赋予指定菜单的宏或者内置命令相关联的菜单文本。可以用 ToolsCustomizeMenus 改变该菜单文本。

注意

内置命令的一个子集的菜单文本，随 Word 环境的当前状态而改变。对于这些命令，MenuItemText$()  返回命令名称而不是菜单文本。这些命令包括 EditCopy、 EditPaste、 EditRedoOrRepeat、 EditUndo、 FileClose、 FileCloseAll、 FileCloseOrCloseAll、 FileExit、 FileQuit、 FileSave、 FileSaveAll、 FileSaveAs、 FormatFrameOrFramePicture、 TableDeleteGeneral、 TableInsertGeneral、 TableSort、 TableToOrFromText、和 ToolsProtectUnprotectDocument。

参数	注释
Menu$	一个菜单或者快捷菜单的名字。菜单名字列在 “自定义”对话框（“工具”菜单）中，“菜单”选项卡下的 “更改菜单项”框中。 菜单名中带下划线的字母前面的符号&是可选的（例如，指定“File”，和指定“&File”等效）。不要包含由括号括起的短语“(没有文档)”和"(快捷方式)”，尽管这些文本出现在了“自定义” 对话框中。
Type	菜单类型： 0  有文档打开时菜单栏里的菜单。 1  没有文档打开时菜单栏里的菜单。 2  快捷方式菜单。
Item	一个表示菜单项在菜单上位置的数字，该数字在1到 CountMenuItems() 返回数字的范围内。把命令间的分隔符亦当作菜单项。如果 Item 表示一个分隔符的位置，MenuItem Text$() 返回字符串“分隔符r”。 注意，那些列表（比如 File 菜单上的最近用过的文件列表，或者“工具”菜单上的校对工具）只对应一个菜单项。如果指定一个列表的位置。MenuItemText$() 将返回一个括号括起的短语来说明该列表。例如，“(最近使用过的文件列表)”或者“(校对工具列表)”。
Context	指定拟返回其菜单文本的那些菜单的对应关系： 0或者忽略  当一个基于Normal模板的文档是活动文档时可用的菜单对应关系。 1 当前可用的菜单对应关系。 注意：可用的菜单对应关系依赖于活动模板的、任何已加载的共用模板的、和 Normal 模板的自定义设置（如果有的话）。
_____________

请参阅

自定义语句和函数

CountMenuItems()

CountMenus()

MenuItemMacro$()

MenuText$()

ToolsCustomizeMenus


MenuMode

MenuMode

激活菜单栏，MenuMode 对应于按 Alt 键(对Windows)或者关闭 NumLock 时数字键盘的小数点键(对Macintosh)。


MenuText$() 示例

本示例定义一个数组。并把 Normal 模板中可用的快捷方式菜单名称添入该数组。

size = CountMenus(2, 0) - 1

Dim shortcutMenus$(size)

For count = 0 To size

shortcutMenus$(count) = MenuText$(2, count + 1, 0)

Next count


MenuText$()

示例

MenuText$(Type, MenuNumber [, Context])

返在一个快捷方式菜单或者一个菜单栏上菜单的名字。如果该菜单名中有一个带下划线的字母，Menutext$() 在返回文本中该字母的前面包括一个符号&。（在 Macintosh 上，菜单和命令名中带下划线的字母只出现在菜单模式中）。

参数	注释
Type	菜单的类型： 0  当有文档打开时菜单栏上的菜单。 1 没有文档打开时菜单栏上的菜单。 2 快捷方式菜单。
MenuNumber	对应指定类型（Type）的一个数字，范围在1到 CountMenus() 之间。如果 Type 是 0 或者1，则 MenuNumber 代表菜单栏上由左向右数的一个位置（这里1对应“文件”菜单）。如果 Type 是2，则 MenuNumber 代表“自定义”对话框（“工具”菜单）中、“菜单”选项卡下、“更改菜单项”框里的一系列快捷方式菜单中的一个位置，其中第一个快捷方式菜单为1，第二个为2，依次类推。
Context	指定包含拟返回菜单 MenuNumber 的名字的模板： 0或者忽略  Normal （普通）模板 1  活动模板
_____________

请参阅

自定义语句和函数

CountMenuItems()

CountMenus()

MenuItemMacro$()

MenuItemText$()

ToolsCustomizeMenus


MkDir 示例

本示例通过指定一个路径创建文件夹“ OUTPUT ”。注意，TEXT 文件夹必须已经存在，MkDir 不能同时创建两个文件夹。在 Macintosh 上，替换为形如HD：TEST：OUTPUT的文件夹。

MkDir "C:\TEST\OUTPUT"

以下每个示例都在当前文件夹中创建一个子文件夹。

MkDir "OUTPUT"	'Windows or Macintosh

MkDir ".\OUTPUT"	'Windows

MkDir ":OUTPUT"	'Macintosh

以下 Windows 示例创建一个与当前文件夹同级的文件夹。

MkDir "..\OUTPUT"

以下示例是前面示例在 Macintosh 下的形态。

MkDir "::OUTPUT"


MkDir

示例

MkDir Name$

创建 Name$ 指定的文件夹。如果该文件夹已经存在，则发生错误。如果未指定一个路径，则把 Name$ 视为相对于当前文件夹。注意，在 Macintosh 上，如果 Name$ 以一个冒号开始，则它是一个相对路径；如果 Name$ 在文件夹说明符中其它位置包含一个冒号，则它一个绝对路径。

_____________

请参阅

磁盘存取和管理语句和函数

ChDir

CountDirectories()

Files$()

GetDirectory$()

Name

RmDir


MoveToolbar 示例

本示例显示一个 Forms 工具栏，并把它移到 Word 窗口的右下角。如果 If 条件为真，则阻止 AppMaximize 指令运行，在 Macintosh 上则产生一个错误。

If InStr(AppInfo$(1), "Macintosh") = 0 Then AppMaximize 1

ViewToolbars .Toolbar = "Forms", .Show

MoveToolbar "Forms", 0, 520, 410


MoveToolbar

示例

MoveToolbar Toolbar$, Dock, HorizPos, VertPos

移动指定的工具栏。如果指定的工具栏未显示，则发生错误。

参数	注释
Toolbar$	要移动的工具栏名称，它列在 “工具栏” 对话框（“视图”菜单）中。
Dock	指定把工具栏固定于 Word 窗口的顶部，底部或是任何一侧，还是把它设置为文档窗口上的浮动工具栏。 0 工具栏浮动于文档窗口上。 1  工具栏固定于 Word 窗口顶部。 2 工具栏固定于 Word 窗口左侧。 3 工具栏固定于 Word 窗口右侧。 4 工具栏固定于 Word 窗口底部。
HorizPos, VertPos	如果 Dock 为0，则为Word 窗口左上角到工具栏左上角的水平和垂直距离，以象素为单位。 如果 Dock 非零，仍然必须指定 HorizPos 和 VertPos。Word 将把该工具栏移到 一系列已定位的工具栏上最近的可用位置。
_____________

请参阅

自定义语句和函数

ToolbarName$()

ToolbarState()

ViewToolbars


MsgBox 示例

在本示例中，MsgBox 指令显示一个消息框，其中包含消息“Unable to find file”、标题“My Text macro”、一个 OK 按钮、和一个 Stop 符号(0 + 16 + 0 = 16；

MsgBox "Unable to find file.", "MyTest Macro", 16

在下面的宏中，If 条件在开始运行前检查有无选择区存在。如果没有选定文本，MsgBox() 函数显示一个消息框，询问用户是否继续。第二个If条件检测返回值。如果返回值为0，意味着第二个按钮(No)被选中，宏结束，不再运行后面的指令。

Sub MAIN

'Series of instructions that select text

If SelType() <> 2 Then

button = MsgBox("There is no selection. Continue anyway?", 36)

If button = 0 Then Goto bye

End If

'Series of instructions that act on the selection

bye:

End Sub


MsgBox, MsgBox()

示例

MsgBox Message$ [, Title$] [, Type]

MsgBox(Message$ [, Title$] [, Type])

MsgBox 语句在一个消息框中显示一条消息。也可以用 MsgBox 函数显示一个消息框。该函数，将依据用户在该消息框中选择哪个命令或者按钮来返回相应的值。如果需要让宏依照用户的反应产生动作，使用 MsgBox。

参数	注释
Message$	显示在消息框里的消息。如果Message$ 的长度超过255个字符，则发生错误。
Title$	消息框的标题。在 Windows 中，，如果 Tittle$ 被忽略或者是一个空字符串(“”)，即以“Microsoft Word”为默认标题。在 Macintosh 中，如果 Title$ 是一个空字符串(“”)，则在消息框中不出现标题栏。
Type	一个值，它代表显示在消息框里的符号和按钮。
Type 是三个值的合，其中每一个来自于以下的一个组。

组	值	含义
Button	0	OK 按钮（默认）
	1	OK 和 Cancel 按钮
	2	Abort（作废）、Retry（重试）、 和 Ignore（忽略） 按钮
	3	Yes、No、和 Cancel 按钮
	4	Yes 和 No 按钮
	5	Retry and Cancel buttons
Symbol	0	No 符号（默认）
	16	Stop 符号
	32	问号(在 Windows 中)或者强调符号(在 Macintosh 中)
	48	强调符号
	64	信息符号
Button action	0	第一个按钮是默认的
	256	第二个按钮是默认的
	512	第三个按钮是默认的
通过指定 Type 为-1、-2、或者-8，就可以在状态栏而不是在一个消息框中显示消息。这类似于使用 Print 语句，但能更多地控制显示消息的长度。Type 被指定为-1时，消息一直显示，直到另一条消息代替它；被指定为-2时，消息一直显示，直到发生一个鼠标或者键盘动作；被指定为-8时，在整个状态栏宽度范围内显示消息，直到发生一个鼠标或者键盘动作。

因为 MsgBox 语句不返回值，所以不推荐使用0以外的其它按钮值。为使用 OK 按钮以外的其它按钮，要使用 MsgBox() 函数。MsgBox() 返回以下值。

返回值	按钮选择	按钮文本
-1	第一个（最左端）按钮	OK
		Yes
		Abort
0	第二个按钮	Cancel
		No
		Retry
1	第三个按钮	Cancel
		Ignore
如果 Type 为一个负值，也就说，如果要用 MsgBox() 有状态栏显示一条消息，MsgBox() 总返回0。

_____________

请参阅

对话框定义和控制语句和函数

InputBox$()

Print


Name 示例

本示例使用 CHDir 设置当前文件夹，然后将该文件夹中的文件 COGS.DOC 改名为 COGS88.DOC。如果前面没有 ChDir 指令，Name 指令需要指定每个文个名的完整路径。在 Macintosh 上，在 ChDir 指令中，换用类似于 HD：DOCS：MEMOS：JULY 的文件夹。

ChDir "C:\MYDOCS\MEMOS\JULY"

Name "COGS.DOC" As "COGS88.DOC"

以下 Windows 示例把文件 COGS.DOC 移到另一个文件夹中，并保留原文件名不变：

Name "C:\TMP\COGS.DOC" As "C:\DOCS\COGS.DOC"


Name

示例

Name OldName$ As NewName$

为一个文件重新命名。如果 OldName$ 和 NewName$ 未包括路径，则Name 默认使用当前文件夹－即在“打开”对话框（“文件”菜单）中选定的文件夹。在 Windows 中，可为 NewName$ 指定另外一个的路径，而把文件移到另外的文件夹中。但是，不能用 Name 移动文件夹或者把文件移到另外的驱动器。在 Macintosh 上，OldName$ 的路径必须与 NewName$ 的路径一致，否则发生错误。

参数	注释
OldName$	先前的文件名。如果 .OldName$ 指定的文件名不存在或者其文件是打开的，则发生错误。
NewName$	新文件名，如果 .NewName$ 指定的文件名已经存在则发生错误。
参数 .OldName$ 和 .NewName$ 不接受通配符（星号(*)和问号(?)）。

_____________

请参阅

磁盘存取和管理语句和函数

ChDir

CopyFile

FileSaveAs

Kill

MkDir

RmDir


NextObject 示例

本示例把插入点移到当前页中的第一个文档对象。EditGoTo "\Page"指令选定当前页，SelType 1 取消该选择，把插入点留在该页顶部。NextObject 指令把插入点移到第一个文档对象。

ViewPage

EditGoTo "\Page"

SelType 1

NextObject


NextObject

示例

NextObject

在页面视图中，把插入点移到当前页中下一个文档对象。与按 ALT+下箭头键（在 Windows 中）或者 OPTION+下箭头键（在Macintosh中）相同。文档对象包括文本栏、表格单元格、脚注、和图标框。

从页面上第一个文本栏顶端开始，NextObject 语句按照以下顺序移过各文档对象：

{bmcb.bmp}各个文本栏，按照从第一个到最后一个的顺序（如果多于一个的话），移过全部表格单元格，然后是出现在文本栏内的全部脚注。

{bmcb.bmp}图文框（如果显示的话），按照它们在普通视图中出现的顺序，从前一个分页符到下一个分页符。

在再次循环移过文档对象之前，NextObject 最终将移到第一个文本栏的顶端。

使用 NextObject 时，记注以下各点：

 当活动文档在页面视图中时，选定 “选项”对话框（“工具”菜单）中、“视图”选项卡下“文本边框”复选框，就能标识文档对象。

 Word 不把 OLE 对象(例如嵌入的图形或者图表）当作文档对象，除非它们带有图文框。

 如果插入点在页眉或者页脚中，NextObject 将在页眉与页脚之间移动。

 确保在使用 NextObject 之前切换到页面视图。

_____________

请参阅

移动插入点和选定语句和函数

PrevObject


NextWindow

NextWindow

激活“窗口”菜单中紧跟在活动窗口后面的窗口。如果活动窗口是窗口列表中的最后一个，NextWindow即激活窗口列表顶端的窗口。如果活动窗口是仅有的打开的文档窗口，则这条语句无作用。

_____________

请参阅

移动插入点和选定语句和函数

Activate

ChDir

PrevWindow

Window()

WindowList

WindowName$()

WindowNumber


NoteOptions 示例

本示例把脚注置于紧贴在文本下方，使用“A，B，C”格式并且从“A”开始；每个新节中的脚注重新编号。

NoteOptions .FootnotesAt = 1, .FootNumberAs = 2, \

.FootStartingNum = "1", .FootRestartNum = 1


NoteOptions

示例

NoteOptions [.FootnotesAt = number] [, .FootNumberAs = number] [, .FootStartingNum = text] [, .FootRestartNum = number] [, .EndnotesAt = number] [, .EndNumberAs = number] [, .EndStartingNum = text] [, .EndRestartNum = number]

指定脚注和尾注的放置位置和格式。NoteOptions 语句的参数对应于“附注选项”对话框（“脚注” 命令，“插入” 菜单）中的选项。

参数	注释
.FootnotesAt	指定脚注的位置： 0 页面底端 1 文字下方
.FootNumberAs	指定脚注引用标志的格式： 0     1, 2, 3,... 1 a, b, c,... 2 A, B, C,... 3 i, ii, iii,... 4 I, II, III,... 5 *, [image], [image], �,...
.FootStartingNum	脚注起始编号，如果.FootStartingNum 不是1，则 FootRestartNum 必须设置为0。
.FootRestartNum	指定分页符或分节符后面的脚注怎样编号： 0 连续 1 每节重新编号 2 每页重新编号
.EndnotesAt	指定尾注的位置： 0 本节结尾 1 文档结尾
.EndNumberAs	指定尾注引用标志的格式。有关的值，请参阅 .FootNumberAs 参数。
.EndStartingNum	尾注的起始编号；如果 .EndStartingNum 不是1，则 .EndRestartNum 必须设置为0。
.EndRestartNum	指定分节符后面的尾注怎样编号： 0 连续 1 每节重新编号
_____________

请参阅

脚注、尾注和批注语句和函数

InsertFootnote


OKButton

OKButton HorizPos, VertPos, Width, Height [, .Identifier]

在一个自定义的对话框中创建一个 OK 按钮。如果用户选择 OK 按钮，对话框关闭，其设置值即生效。

参数	注释
HorizPos, VertPos	OK 按钮左上角到对话框左上角的水平和垂直距离，增量为 System 字体(在 Windows 中) 或对话字体(在 Macintosh 中)的1/8和1/12。
Width, Height	OK 按钮的宽度和高度，增量为 System 字体(在 Windows 中) 或对话字体(在 Macintosh 中)的1/8和1/12。
.Identifier	作用于 OK 按钮的对话函数中语句（如 DlgEnable 和 DlgVisible）所使用的可选标识符。如果忽略，则以"OK"为默认标识符。
注意，在一个自定义对话框中，选择 OK 按钮总是返回-1，选择 Cancel 按钮总是返回 0。例如，在用 x=Dialog(dlg) 指令显示的一个对话框中，选择 OK 按钮则置 x 的值为-1。其它按钮的返回值由对话框定义中 PushButton 语句的相对顺序决定。

关于用在一个完整的对话框定义中的 OKButton 示例，请参阅 Begin Dialog...End Dialog 示例。

_____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

CancelButton

PushButton


On Error 示例

本示例给出 On Error Resume Nent 的一个普通的用法，即在用户取消一个对话框或者提示时，避免 Wordbask102 号错误“命令失败”。

On Error Resume Next

A$ = InputBox$("Your name please:")

下面的宏提示用户指定一个用于输入的顺序文件（例如，一个包含一个 Word 文档列表的纯文本文件，）。如果找不到该文件，跟在由 On Error Goto label 指定的标志后面的指令即给出一个原因和对应的错误编号 。

Sub MAIN

On Error Goto ErrorHandler

DocName$ = InputBox$("Filename for input:", "", DocName$)

Open DocName$ For Input As #1

'Statements that use the input go here

Close #1

Goto Done	'If there is no error, skip the error handler

ErrorHandler:

Select Case Err

Case 53 : MsgBox "The file " + DocName$ + " does not exist."

Case 64 : MsgBox "The specified drive is not available."

Case 76 : MsgBox "The specified folder does not exist."

Case 102	'If the user cancels the dialog box

Case Else : MsgBox "Error" + Str$(Err) + " occurred."

End Select

Err = 0

Done:

End Sub


On Error

示例

On Error Goto Label

On Error Resume Next

On Error Goto 0

建立一个“错误处理器”－通常是一系列指令。发生错误时，将执行的这些指令。如错误发生在一个不包含 On Error 语句的宏中，将显示一条出错消息，并且退出该宏。

这种格式	完成这个动作
On Error Goto Label	从出错行跳转到指定的标志（Label）。然后，跟在这个标志后面的指令可以确定错误的性质（使用特殊变量 Err），并采取某些适当的措施更正或者解决问题。详细内容，请参阅 Err。
On Error Resume Next	从跟在出错行后面的行继续运行，并且把Err重置为 0。实际上，错误被忽略。
On Error Goto 0	使由 On Error Goto 或者 On Error Resume Next 语句建立的错误捕获功能失效，并把 Err 设置为 0。
一旦一个错误触发了一个错误处理器，直到 Err 被重置为 0 以前，就不再进一步作错误处理。通常，应该把 Err=0 指令放在您的错误处理器末尾。不要在一个错误处理器中间包含 Err= 0。否则，如果处理器中发生错误，就会有产生死循环的危险。

注意，当控制转到另一个子程序时，在 main 子程序中建立的错误处理器即不再执行。为捕捉所有的错误，每个子程序都必须有自己的 On Error 语句和错误处理器。当控制返回 main 子程序后，其中的 OnError 指令重新执行。

WordBasic 产生的错误，编号小于1000；Word 本身产生的错误，编号为1000或更大。错误处理器能够捕捉 WordBasic 和 Word 错误。但是，如果发生一个 Word 错误，则显示一个错误消息，而且用户必须响应它，宏才能继续执行。用户选择 OK 按钮时，控制即转向错误处理器。

关于全部 WordBasic 和 Word 错误消息及错误编号的一个完整列表，请参阅 Error Messages。

_____________

请参阅

分支和控制语句和函数

Err

Error

Goto

Select Case


Open 示例

这个宏为每个列在文本文件 CONVERT.TXT 中的文档保存一个 (RTF) 格式的拷贝。Open 指令打开 CONVERT.TXT 作为一个用于输入的顺序文件。While…Wend 循环中的指令对每个文档运行一遍，把 CONVERT.TXT 中列出的下一个文件名分配给 curdoc$，打开该文档，保存一个 RTF 拷贝，然后关闭该文档。

Sub MAIN

Open "CONVERT.TXT" For Input As #1

While Not Eof(1)

Line Input #1, curdoc$

FileOpen .Name = curdoc$

FileSaveAs .Name = curdoc$, .Format = 6

FileClose 2

Wend

Close #1

End Sub


 Open

示例

Open Name$ For Mode$ As [#]FileNumber

打开一个顺序文件用于文本的输入和输出。可以用顺序文件为宏变量提供值，或者存储宏生成的数据。

顺序文件用 Open 打开，用 Close 关闭，不显示在文档窗口中。尽管可以用 Open 打开任何文件，Open 和 Close 原本目的是用于文本文件的。有关顺序文件更多的内容，请参阅《The Microsoft Word Developer's Kit》的第九章“More WordBasic Techniques”。

参数	注释
Name$	要打开文件的名字。
Mode$	文件打开时所处的模式： Input 打开文本文件，使得数据可以从该文件读入宏中。在为输入打开一个文件时，可以使用 Read、Input、Line Input、和 Input$() 指令从该文件读出数据。如果 Name$ 不存在，则发生错误。 Output 打开文本文件，使得数据可以由宏写到该文件。在为输出打开一个文件时，可以使用 Write 和 Print 指令向该文件写入数据。如果 Name$ 不存在，Word 即创建它。如果 Name$ 已经存在，则Word 删除其中的内容。 Append 打开文本文件，使得数据可以由宏写到该文件。在为追加而打开一个文件时，可以使用 Write 和 Print 指令向该文件写数据。该文件中原有的内容依然保留，写入的内容追加在文件末尾。如果 Name$ 不存在，则 Word 创建它。
FileNumber	赋予该文件的一个数字，从1到4。
_____________

请参阅

基本的文件输入/输出语句和函数

Close

Eof()

Input

Input$()

Line Input

Lof()

Print

Read

Seek

Write


OptionButton

OptionButton HorizPos, VertPos, Width, Height, Label$ [, .Identifier]

在自定义对话框里创建选项按钮。每类相关的 OptionButton 指令都需要一条 OptionGroup 指令，而且 OptionButton 指令必须直接跟在 OptionGroup 指令的后面。在一组选项按钮里，每次只能选择一个按钮。

参数	解释
HorizPos, VertPos	包含有选项按钮及其相关联文本的矩形的左上角到该对话框左上角的水平距离和垂直距离，。增量为 System 字体(在 Windows中 ) 或对话字体(在 Macintosh 中)的1/8和1/12
Width, Height	该矩形的宽度和高度，增量为 System 字体(对 Windows ) 或对话字体(对 Macintosh )的1/8和1/12。
Label$	与选项按钮相关联的标志。字符“&”出现在 Label$ 中的字符的前面。 Label$ 中的字符为 用于选择该选项按钮的调用键。
.Identifier	作用于选项按钮的对话函数中语句所使用的可选标识符。如果省略，默认标识符为 Label$ 参数里的开始两个单词（如果 Label$ 只有一个单词，则为整个字串）。由于在对 Label$ 进行更改时，所指定的标识符保持不变，所以您应该指定 .ldentifier 参数。
有关 OptionBution 指令在一个完整对话框定义中应用的示例，请参阅 OptionGroup 示例。

_____________

请参阅

对话框定义和控制语句和函数

CheckBox

GroupBox

OptionGroup

PushButton


Organizer 示例

此宏将活动模板中的“自动图文集”词条复制给“普通”模板。首先，从“模板和加载项”对话框（“文件”菜单，“模板”命令）中获取活动模板的名称。如果“文档模板”文本框是空框，表明活动文档是模板，模板的名称将从“文档统计”对话框（“文件”菜单，“摘要信息”命令，“统计信息”按钮）中获取。然后，返回存储在活动模板里的“自动图文集”词条的数量。最后，通过 For...Next 循环，对每项“自动图文集”词条都执行一次 Organizer 指令。

Sub MAIN

Dim dlg As FileTemplates

GetCurValues dlg

template$ = dlg.Template

If template$ = "" Then

Redim dlg As DocumentStatistics

GetCurValues dlg

template$ = dlg.Directory + "\" + dlg.FileName

End If

num = CountAutoTextEntries(1)

If num = 0 Then Goto bye

For count = 1 To num

Organizer .Copy, .Source = template$, \

.Destination = "C:\WINWORD\TEMPLATE\NORMAL.DOT", \

.Name = AutoTextName$(count, 1), .Tab = 1

Next count

bye:

End Sub


Organizer

示例

Organizer [.Copy, ] [.Delete, ] [.Rename, ] [.Source = text, ] [.Destination = text, ] .Name = text [, .NewName = text] [, .Tab = number]

删除和重命名样式、“自动图文集”词条、工具栏、和宏，并将这些元素在模板之间进行复制。Organizer 语句的参数对应“管理器”对话框（“工具”菜单，“宏”命令）中的选项。

参数	解释
.Copy	从源（.Source）向目的（.Destination）复制指定的项目。
.Delete	从源（.Source）中删除指定的项目。
.Rename	重命名源（.Source）中指定的项目。
.Source	包含有拟复制、删除和重命名项目的文档或模板的文件名。可以包括路径。
.Destination	拟将项目复制到的文档或模板的文件名。可以包括路径。
.Name	拟复制、删除和重命名的样式、“自动图文集”词条、工具栏或宏的名字。
.NewName	指定项目的新名称。与 .Rename 一起使用。
.Tab	拟复制、删除和重命名的项目的种类： 0  样式 1 “自动图文集” 2 工具栏 3 宏 在用 Dialog 或 Dialog() 指令显示“管理器”对话框时，可用这些值指定所选择的标签。
注释

当使用 Organizer 指令对未打开的文件进行更改时，Word 将在后台打开文件，保存更改，然后并闭该文件。如果需要进行大量的更改，最好是先打开文件，再执行 Organizer 指令，然后使用 FuileClose 1 指令保存更改并闭文件。这样宏 运行的速度会更快。

_____________

请参阅

文档、模板和加载项语句和函数

EditAutoText

FileTemplates

FormatStyle

NewToolbar

ToolsMacro


PageUp 示例

本示例选择插入点上方的一屏。如果插入点的上方不足一屏，状态栏里将显示信息"Selected to start of document" “选择到文档的开头”。

PageUp 1, 1

If CmpBookmarks("\StartOfSel", "\StartOfDoc") = 0 Then

Print "Selected to start of document."

End If


PageUp, PageUp()

示例

PageUp [Count] [, Select]

PageUp([Count] [, Select])

PageUp 语句将插入点或选择区的活动尾（即按 SHIFT+PAGE UP 键时移动的结尾）向上移动指定数目屏，其中一屏等于活动窗口的高度。如果从插入点或选择区到文档开头之间不足整屏，PagUp语句将把插入点或选择区的活动尾移到文档的开头。

参数	解释
Count	移动的屏数。如果省略，设定为1。负数将把插入点或选择区的活动尾向下移动。
Select	指明是否选择文本： 0   或省略 不选择文本。如果已有选定文本，则 PageUp 指令将把插入点向选定内上方移动 Count-1屏。 非零 选择文本。如果已有选定文本，则 PageUp 指令将把选择区的活动尾向文档的开头方向移动。 在通常的从左向右建立的选择区中，选定内容的活动尾靠近文档结尾一端，PageUp 指令将压缩选择区。如选择区从右向左建立，PageUp 指令将扩展选择区。
PageUp() 函数与语句的作用相同，并且也返回下列数值。

数值	解释
0	如果插入点或选择区的活动尾不能向上移动。
-1	如果插入点或选择区的活动尾向上移动了任意屏，即使少于 Count 参数所指定的数目。例如， PageUp(2) 将返回-1，即使只用了一次 PageUp 指令就把文档的开头移到了视图里。
_____________

请参阅

移动插入点和选定内容语句和函数

EditGoTo

HPage

HScroll

PageDown

PrevPage

VPage

VScroll


ParaDown 示例

本示例在文档里每个段落前插入三个星号( *** )。由于 While ParaDown() 指令最终将把插入点移到最后段落段的末尾，那里就不再需要星号了，所以，该 If 控制结构来使用 CmpBookmarks() 指令来测试条件，并退出 While...Wend 循环。

StartOfDocument

Insert "***"

While ParaDown()

If CmpBookmarks("\Sel", "\EndOfDoc") <> 0 Then

Insert "***"

End If

Wend


ParaDown, ParaDown()

示例

ParaDown [Count] [, Select]

ParaDown([Count] [, Select])

ParaDown 语句将插入点或选择区的活动尾（即按 CTRL+SHIFT+DOWN ARROW 键(在 Windows 中)或 COMAND+SHIFT+下箭头 键(在 Macintosh 中)时移动的尾）向下移动指定数目的段落。

无论插入点位于段落的什么位置，也不管段落里是否有选择区，ParaDown 指令都将把插入点移到下一个段落的开头。只有当插入点在该文档的最后段落中时才是例外，这时，ParaDown 指令将把插入点移到该段落的末尾。如果当前选择区包括多个段落，ParaDown 指令将把插入点移到选定范围之后第一个段落的开头。

参数	解释
Count	拟移动的段落数。如果省略，则设定为1。负数将把插入点或选择区的活动尾向上移动。
Select	指定是否选择文本： 0或省略 不选择文本。如果已有选择区，ParaDown 指令将把插入点向选择区下方移动 Count 个段落。 非零 选择文本。如果已有选择区，ParaDown 指令将把选择区的活动尾向文档的末尾方向移动。。 在通常的从左向右建立的选择区中，选择区的活动尾靠近文档的末尾一端，ParaDown 指令将扩展选择区。在从右向左建立的选择区中，ParaDown 指令将压缩选择区。
ParaDown()函数与语句的作用相同，并且也返回下列数值。

数值	解释
0	如果插入点或选择区的活动尾不能向下移动。
-1	如果插入点或选择区的活动尾向下移动任意个段落，即使少于 Count 参数所指定的数目。例如，即使插入点位于该文档最后段落的开头，ParaDown(2) 也将返回-1。
_____________

请参阅

移动插入点和选定内容语句和函数

LineDown

PageDown

ParaUp


ParaUp 示例

本示例查找下一个"Press F1 for Help"（按F1键获得帮助）句子，然后选择该段落全部文本。

EditFind .Find = "Press F1 for Help"

ParaUp

ParaDown 1, 1

注意：还可在 EditGoTo "\Para"指令中使用预定义书签"\Para"，选择包含插入点或选择区的段落。预定义书签的详细内容请参阅算符及预定义书签。


ParaUp, ParaUp()

示例

ParaUp [Count] [, Select]

ParaUp([Count] [, Select])

ParaUp 语句将插入点或选择区的活动尾（就按 CTRL+SHIFT+UP ARROW 键(在Windows中)或 COMMAND+SHIFT+UP ARROW 键(在Macintosh中)时移动的结尾）向上移动指定数目的段落。

如果插入点位于某段落的开头，则 ParaUp 指令将把插入点移到上一段落的开头。如果插入点不在该段落开头，或者存在一个选择区，则 ParaUp 指令将把插入点移到当前段落的开头。如果当前选择区包括多个段落，ParaUp 指令将把插入点移到第一个选定段落的开头。

参数	解释
Count	拟移动的段落数。如果省略，则设定为1。负数将把插入点或选择区的活动尾向下移动。
Select	指定是否选择文本。  0或省略  不选择文本。如果已有选择区，Paralup 指令将把插入点向选择区上面移动 Count-1 个段落。 非零  选择文本。如果已有选择区，Paralup 指令将把选择区的活动尾向文挡的开头方向移动。 在通常的从左向右建立的选择区里，选择区的活动结尾靠近文档的末尾一端，Paraup 指令将压缩选择区。在从右向左建立的选择区中，Paralup 指令将扩展选择区。
ParaUp()函数与语句的作用相同，并且也返回下列数值：

数值	解释
0	如果插入点或选择区的活动尾不能向上移动。
-1	如果插入点或选择区的活动尾向上移动了任意个段落，即使少于 Count 参数所指定的数目，例如，即使插入点位于该文档中第一个段落的末尾，Parallp(2) 也将返回 -1。
_____________

请参阅

移动插入点和选定内容语句和函数

LineUp

PageUp

ParaDown


PathFromMacPath$() 示例

在 Word for Windows 中，本示例返回路径和文件名“\HD80\Reports\!FinalRe.por”。

winpath$ = PathFromMacPath$("HD80:Reports:Final Report")


PathFromMacPath$()

示例

PathFromMacPath$(Path$)

将由 Path$ 参数指定的 Macintosh 路径和文件名转换为当前操作系统里有效的路径和文件名。

在 Windows3.x 里，每个文件夹名和文件名最多可包含8个字符，后跟一个可选的文件扩展名（句点和最多3个字符）。在将 Macintosh 路径转换为有效的 Windows3.x 路径时，Word 将对每个 Macintosh 文件夹名和文件名进行下列操作：

删除空格。

在已删除空格和多余字符的文件夹名和文件名前添加一个感叹号(!)。

如果文件夹名和文件名超过8个字符，则添加句点，并删除多余的字符，从而构成一个有效的、带有扩展名的 Windows3.x 文件夹名或文件名。例如，Macintosh 文件夹名“Employee Addresses”将变成 Windows3.x 的文件夹名“!Emplye.eAd”。

根据第一个句点（如果有的话）决定 Windows3.x 文件夹名和文件名的扩展名开始的地方，并删除无用的字符。例如，Macintosh 文件名“PC text file.text”将变成 Windows 文件名“!PCtextf.tex”。

如果有两个以上的句点，则删除第一个句点与最后一个句点之间的所有字符。例如，Macintosh 文件名“chapter1.rev.3”将变成 Windows 文件名“!chapter.3”。

_____________

请参阅

文档、模板和加载项语句和函数

PathFromWinPath$()


Picture 示例

本示例定义一个对话框左上角的正方形区域，并将存储在“自动词文集”词条“Smiley”里的图形插入其中。由 .Graphic 参数标识对话框控制。完整的对话框定义的示例请参阅 Begin Dialog...End Dialog 示例 。

Picture 7, 7, 50, 50, "Smiley", 1, .Graphic


Picture

示例

Picture HorizPos, VertPos, Width, Height, PictureName$, Type, .Identifier

在自定义对话框里显示一个图形。Word 自动放缩图形以适应已指定的 Width 和 Height 参数。

参数	解释
HorizPos, VertPos	包含该图形的矩形的左上角到该对话框左上角的水平距离和垂直距离，增量为 System 字体(对 Windows ) 或对话字体(对 Macintosh )的1/8和1/12。
Width, Height	该矩形的宽和高，增量为 System 字体(对 Windows ) 或对话字体(对 Macintosh )的1/8和1/12。
PictureName$	包含最初所显示图形的图形文件名、或“自动图文集”词条名、或书签名。在显示该对话框后，可用对话函数里的 DlgSetPicture 重置 PictureName$ 参数。
Type	数值，指明图形的存储方式。。 0（零)  PictureName$ 为一图形文件。允许包括路径。 1 PictureName$ 为一“自动图文集”词条。“自动图文集”词条必须只包含单个图形（没有文字及段落标记），并只能存储在Normal （普通）模板或附着于活动文档的模板里。 2 PictureName$ 为活动文档里的一个书签。书签必须只标记单个图形（没有文字及段落标记）。 3 忽略 PictureName$ ，从“剪贴板”上获取图形。在PictureName$ 的位置包括一对空引号(“”)。“剪贴板”上必须只包含单个图形。如果“剪贴板”含有任何 Word 文档时的文字，在改对话框里显示的是 Microsoft Word 图标。 4 PictureName$为一个 PICT 文件（只适用于 Mcintosh）。它存储在包含该宏的模板的资源分支（resource fork ）里。可以用 ResEdit 程序将 PICT 文件添加到一个模板的资源分支里。
.Identifier	被作用于图形的对话函数中语句使用的标识符。例如，可以在 DlgSetPicture 里使用此标识符，以显示另一个图形。
注释

如果指定的图片不存在，Word 将在定义该图片区域的矩形里显示“missing picture（没有图片）”。可在 Type 值加上16以避免这种现象。如果 Type 参数值为16、17、18、或19，而指定图片又不存在，Word 将显示错误信息，（这种错误可用 On Error捕获），而在该对话框里既不显示“missing picture（没有图片）”也不显示矩形。

_____________

请参阅

对话框定义和控制语句和函数

DlgSetPicture


PrevCell 示例

本示例将选择区移向上一单元格，如果选择区为第一个单元格，则选择整个表格。

If PrevCell() = 0 Then TableSelectTable


PrevCell, PrevCell()

示例

PrevCell

PrevCell()

PrevCell 语句选择上一单元格的内容（相当于在表格里按 SHIF+TAB 键）。如果已经有了一个含多个单元格的选择区，PrevCell 语句将选择选择区中的第一个单元格。

PrevCell() 函数与语句相同，并且也返回下列数值。

数值	解释
0	选择区整个包含在第一行最左边的单元格中（即如果选择区没有移动）。
-1	选择区被移动。
_____________

请参阅

移动插入点和选定内容语句和函数

NextCell


PrevObject

PrevObject

在页面视图里，将插入点移到当前页的上一个文档对象（相当于按 ALT+UP ARROW 键(在 Windows 中)或 OPTION+UP ARROW 键(在 Macintosh 中)）。文档对象包括图文框、脚注、表单元格和文本列。

PrevObject 语句从一页中第一个文本列的顶部，按下列顺序移过文档对象。

图文框（如果有的话），按其在普通视图里出现的顺序，从下一个分页符至上一个分页符。

每个文本列，按从最后到第一个的顺序（如果超过一列的话），移过所有脚注，然后移过所有出现在文本列里的单元格。

PrevOject  语句在再次循环文档对象前，最终将移到第一个文本列的顶部。

在使用 PrevObject 语句时牢记以下几点：

可以通过选择“选项”对话框（“工具”菜单）里“视图”选项卡下的“正文边框”复选框，来标识文档对象。

Word 不把 OLE 对象（如嵌入的图形和图表）作为文档对象，除非为它们加了图文框。

如果插入点在页眉或页脚里，PrevObject语句将在页眉和页脚之间移动。

在使用 PrevObject 语句之前，要确保已经切换到页面视图里。

_____________

请参阅

移动插入点和选定内容语句和函数

NextObject


PrevWindow

PrevWindow

激活紧列于“窗口”菜单上活动窗口之前的窗口。如果活动窗口是列表中的第一项，PrevWindow 语句将激活列表末端的窗口。如果活动窗口是唯一打开的窗口，本语句将不作任何操作。

_____________

请参阅

移动插入点和选定内容语句和函数

Activate

ChDir

NextWindow

Window()

WindowList

WindowName$()

WindowNumber


Print 示例

本示例在状态栏里显示下列语句：“March sales were 2500 and May sales were 3600 for a total of 6100.”。

mar = 2500

may = 3600

Print "March sales were"; mar ; " and May sales were" \

; may ; " for a total of" ; mar + may ; "."

下例在状态栏里显示。“Juan Garcia 32 1234”。

name$ = "Juan Garcia"

age = 32

employeeNum = 1234

Print name$; age; employeeNum

下例设置一个顺序文件，以在邮件合并操作中作为纯文本数据源使用。第一条 Print 指令插入栏标题，第二条添加数据记录。给定的 Print 指令里的项目将被插入到单独的段落里，并且用制表符分隔。注意，Word Basic 没有可用来读由制表符分界数据的序列文件存取指令。若要查看结果，必须象打开其它 Word 文档一样把序列文件打开。

Open "DATA.TXT" For Output As #1

Print #1, "Name", "Address", "Occupation"

Print #1, "Juan Garcia", "123 Main St", "Accountant"

Close #1


Print

示例

Print [#FileNumber,] Expression1[$] [; or , Expression2[$] [; or , ...]

在状态栏里显示指定的表达式，如果指定了 FileNumber 参数，则将该表达式传送到与该参数相关联的序列文件里。Print 指令与只接受字符串的 MsgBox 指令不同，它可以接受字符串、字符串变量，数值和数值变量，并允许混用这些类型。

字符串和字符串变量可有加号(+)联接。字符串与数值可用分号(；)或逗号(，)联接。逗号在数值间插入制表符。

注释

Print 语句自动在正数值前添加空格，在正数前的字符串不必包含额外的空格。Print 语句在负数前不添加空格。

Print 语句与 Write 语句一样，可将表达式传送给序列文件。但正如下表所示，文件中的表达式格式化的方式不同。注意， Print 语句用制表符来分隔表达式。

WordBasic指令	在序列文件#1里所创建的行
Print #1, "Phil", "Teacher"	Phil    Teacher
Write #1, "Phil", "Teacher"	"Phil","Teacher"
_____________

请参阅

文件输入/输出的基本语句和函数

Close

Eof()

Input

Input$()

Line Input

Lof()

MsgBox

Open

Read

Seek

Write


PushButton 示例

本示例创建一个带有文字“ Create Link ”（创建链接）的命令按钮，其标识符是" Link. "（链接）。使用完整对话框定义中的 PushButton 指令的示例请参阅 Begin Dialog...End Dialog 示例。

PushButton 10, 54, 108, 21, "&Create Link", .Link


PushButton

示例

PushButton HorizPos, VertPos, Width, Height, Label$ [, .Identifier]

在自定义对话框里创建命令按钮。在选择该命令按钮时，显示该对话框的 Dialog() 指令（例如 button=Dialog(dlg)）将回一个数值，该数值对应于本 PushButton 指令相对于其他 PushButton 指令的顺序：1为第一个命令按钮，2为第二个，依次类推。

参数	解释
HorizPos, VertPos	该命令按钮的左上角距该对话框左上角的水平距离和垂直距离，增量为 System 字体(对Windows) 或对话字体(对Macintosh)的1/8和1/12。
Width, Height	该命令按钮的宽和高，增量为 System 字体(对Windows) 或对话字体(对Macintosh)的1/8和1/12。
Label$	与该命令按钮相关联的标志。在 Label$ 参数的字符前加 & 号，以作为选择该命令按钮的调用键。
.Identifier	作用于该命令按钮的对话函数中的语句所使用的可选标识符。如果省略，默认标识符为 Label$ 参数里的开始两个单词（如果 Label$ 只有一个单词，则为整个字串）。由于在对 Label$ 进行更改时，所指定的标识符保持不变，所以您应该指定 .ldentifier 参数。
_____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

CancelButton

OKButton

OptionButton


Read 示例

本示例逐个阅读该序列文件中的每一段落，并定义第一个项目为 name$，第二个项目为 age。对每一段落，都将在信息框里显示其数值。

Open "DATA.TXT" For Input As #1

While Not Eof(1)

Read #1, name$, age

MsgBox name$ + " is" + Str$(age) + " years old."

Wend

Close #1


Read

示例

Read #FileNumber, Variable1[$] [, Variable2[$]] [, Variable3[$]] [, ...]

从一个打开的序列文件（通常包含由 Write 语句添加的数据）中获字符串或数值，并将这些值分配给变量。FileNumber 参数指定在 Open 指令里打开文件输出的数目。有关序列文件的详细内容，请参阅 The Microsoft Word Developer's Kit.第九章“其他 WordBasic 技巧”。

Read 语句与 Input 语句相类似，但 Read 语句从字符串中删除了引号。例如，下面是一个由 Write 指令创建的纯文本段落：

"Michelle Levine", 26,"Dancer"

Input 语句将“Michellp Levine”作为第一个值，而 Read 语句只将引号里的文字作为第一个值：Michellp Levine。

_____________

请参阅

文件输入/输出的基本语句和函数

Close

Eof()

Input

Input$()

Line Input

Lof()

Open

Print

Seek

Write


RenameMenu 示例

本示例将把 Tools（工具）菜单名重新命名为 "Other Tasks"（其他任务），并将 ALT，T键(在 Windows 中)或 COMMAND+TAB,T键(在 Macintosh 中)作为激活该菜单的按键序列：

RenameMenu "Tools", "Other &Tasks", 0


RenameMenu

示例

RenameMenu Menu$, NewName$, Type [, Context]

重命名指定的菜单。如果 Menu$ 参数所指定菜单不是 Type 参数所指定的类型，将产生错误。

参数	解释
Menu$	出现在菜单栏上的菜单名。菜单名中调用键前的 & 字符是可选的。例如，指定 "File" 和 "&File" 等效。
NewName$	新菜单名。在菜单名中某字符前加 & 号即将该字符设定为显示该菜单的调用键。
Type	菜单类型： 0   有文档打开时菜单栏上的菜单。 1  无文档打开时菜单栏上的菜单。 注意，不能对快捷菜单重新命名。
Context	指定新菜单名存储的地方： 0或省略  Normal （普通）模板（无论哪个模板是活动的，都将出现新菜单名）。 1 活动模板（只有当该模板活动时，才出现新菜单名）。
_____________

请参阅

自定义语句和函数

MenuText$()

ToolsCustomizeMenus


RmDir 示例

本 Windows 示例删除一个文件夹里的所有文件，然后删除该文件夹。

Kill "C:\WORD\FCCPROJ\*.*"

RmDir "C:\WORD\FCCPROJ"

下例是对 Macintosh改写的同一示例：

curfolder$ = Files$(":")

ChDir "HD:WORD:FCC PROJECT"

Kill MacID$("****")

ChDir curfolder$

RmDir "HD:WORD:FCC PROJECT"

下例删除当前文件夹里的一个子文件夹：

RmDir "FCCPROJ"

下例删除与当前文件夹同级的一个文件夹：

RmDir "..\FCCPROJ"	'Windows Example

RmDir "::FCC PROJECT"	'Macintosh Example


RmDir

示例

RmDir Name$

删除指定的文件夹。Name$ 可以是一个完全的或相对的路径。为使该语句能够工作，该文件夹中必须不含文件和子文件夹。RmDir 语句不能删除当前文件夹。

_____________

请参阅

磁盘访问及管理语句和函数

ChDir

Files$()

Kill

MacID$()

MkDir


RunPrintManager

RunPrintManager

在 Windows 里，如“打印管理器”未运行，则启动“打印管理器”；如“打印管理器”已运行，则切换到“打印管理器”。在 Macintosh 上，RunPrintManger 指令不能用，并将产生错误。

_____________

请参阅

应用程序控制语句和函数

AppActivate

AppIsRunning()

ControlRun


ScreenRefresh

ScreenRefresh

更新你监视器上的显示，使之显示当前屏幕的内容。在宏里，您可以在用 ScreenUpdating 指令关闭屏幕更新功能后使用 ScreenRefresh 指令。ScreenRefresh 指令每次只为一条指令打开屏幕更新功能，然后立即关闭该功能。其后的指令不再新屏幕，直到再次使用 ScreenRefresh 指令重新打开屏幕更新功能为止。可能使用 ScreenRefresh 和 ScreenUpdating 指令创建一系列的屏幕“抽样点”。在一个长进程中，屏幕可以不时更新，以指示宏的进展情况。

注释

在 Macintosh 上，在屏幕更新功能关闭时，文档窗口是隐藏的。ScreenRefresh 指令可短暂显示更新后的文档窗口，然后再次隐藏文档窗口。因此，在 Macintosh 上，您会希望用 ScreenUpdating 指令代替 ScreenRefresh 指令来打开和关闭屏幕更新功能。

有关示例请参阅ScreenUpdating 示例.

_____________

请参阅

环境语句和函数

ScreenUpdating


ScreenUpdating 示例

本示例按三种不同的方式排布文档窗口。在排布窗口时，使用 ScreenUpdating 语句关闭屏幕更新功能。当这些窗口排布完成时，用ScreenUpdating 语句显示它们。注意：TileDocWindwsVertically 和 CascadeDocWindows 指令将调用平铺和层叠文档窗口的子程序（此处未给出）。

ScreenUpdating 0

TileDocWindowsVertically

ScreenRefresh

MsgBox "Windows are tiled vertically."

CascadeDocWindows

ScreenRefresh

MsgBox "Windows are cascaded."

WindowArrangeAll

ScreenUpdating 1

MsgBox "Windows are tiled horizontally."


ScreenUpdating, ScreenUpdating()

示例

ScreenUpdating [On]

ScreenUpdating()

在运行宏时，ScreenUpdating 语句控制监视器上大部分的显示更改。当关闭屏幕更新功能时，工具栏仍保留上屏幕上，Word 仍允许宏使用状态栏提示、输入框、对话框以及信息框来显示或获取信息。阻止屏幕更新将加快某些宏的运行速度，当宏运行结束或因发生错误而停止时，将恢复屏幕更新功能。

参数	解释
On	指定是否显示屏幕的更新： 0 宏运行时屏幕不更新。 1 宏运行时屏幕正常更新。 省略 切换屏幕更新。
ScreenUpdating()函数将返回下列数值。

数值	解释
0 (zero)	屏幕更新功能被关闭
1	屏幕更新功能被打开
_____________

请参阅

环境语句和函数

ScreenRefresh


Seek 示例

本例在DATA.TXT 中查找以字母“P”开头的第一个行，然后用一个消息框来显示这个词条和它在文件中的字符位置。

Open "DATA.TXT" For Input As #1

Input #1, name$

While Left$(name$, 1) <> "P"

If Eof(1) Then

MsgBox "No P names in the file."

Goto finish

End If

n = Seek(#1)

Input #1, name$

Wend

MsgBox "First P name is " + name$ + " at position" + Str$(n)

finish:

Close #1


Seek, Seek()

示例

Seek [#]FileNumber, Count

Seek([#]FileNumber)

Seek 语句控制从一个打开用作输入的顺序文件中调入数据的位置，或者在一个为输出成追加打开的文件中插入数据的位置。有关顺序文件的详细信息，请参阅 The Microsoft Word Developer's Kit. 第9章"More WordBasic Techniques,"。

参数	说明
FileNumber	在为输入、输出、或追加而打开文件的 Open 指令中所指定的数字。
Count	读出数据或插入数据的字符位置。注意分行符和其它分界符（如逗号）都按字符计数。
Seek() 函数返回顺序文件中的当前字符位置。可以在关闭一个顺序文件前用 Seek() 函数保存当前字符位置，而在重新打开这个文件时可用 Seek 语句返回该位置。

_____________

 请参阅

文件输入/输出的基本语句和函数

Close

Eof()

Input

Input$()

Line Input

Lof()

Open

Print

Read

Write


SelectionFileName$() 示例

本例检查活动窗是否为一个是宏编辑窗口。如果不是，本例将检查 SelectionFileName$() 返回文本中的最后一个字符。如果该字符是反斜杠(\)或冒号(：)，即指明该文档从未保存过，并显示一条信息。

a$ = SelectionFileName$()

If SelInfo(27) = -1 Then

MsgBox "A macro-editing window is active."

Goto bye

End If

end$ = Right$(a$, 1)

If end$ = "\" Or end$ = ":" Then

MsgBox "The active document has never been saved."

End If

bye:


SelectionFileName$()

示例

SelectionFileName$()

若活动文档曾保存过，则返回其完整的路径和文件名。如果该文档未被保存过，或活动窗口是一个宏编辑窗口，则 SelectionFileName$() 返回当前路径，后跟一个反斜杠(\)(在Windows中)或冒号(：)(在Macintosh中)。

_____________

请参阅

文档、模板和加载项语句和函数

FileName$()

FileNameInfo$()

GetDirectory$()


SendKeys 示例

SendKeys 的用处之一是在一个 Word 对话框中插入文本或选择项目（例如提供默认文本或初始选择一个指定项目）。本 Windows 例子显示“打开”对话框（“文件”菜单），并在“文件名”框中插入默认文本“TESTFILE”。可以用单条指令 SendKeys“%foTESTFILE”来产生相同的效果。

SendKeys "TESTFILE"

Dim dlg As FileOpen

x = Dialog(dlg)

下述 Windows 例子在“Word 帮助”的“Word 帮助目录”屏上加入一个批注。在 SendKeys 指令中，“C”单击“目录”按钮，“%e”选择“编辑”菜单，“a”执行“批注”命令，“a$”插入批注。

a$ = "My annotation for Help."

SendKeys "c%ea" + a$

Shell "WINHELP.EXE C:\WINWORD\WINWORD.HLP"

下述 Windows 例子启动带工作表 MARCH.XLS 的 Microsoft Excel，然后执行等价于按 PAGEDOWN 键20次的动作。

SendKeys "{pgdn 20}"

Shell "C:\EXCEL\MARCH.XLS", 1


SendKeys

示例

SendKeys Keys$, Wait

将由 Keys$ 指定的击键操作发送给下一个 Word 命令或活动应用程序，就如同在键盘上键入一样。SendKeys 必须在激活接收击键的命令和应用程序的指令之前，这样在宏暂停时，这些击键在内存中。

在 Macintosh 中，一个 SendKeys 指令发送的击键不能超过10个，并且只能把它们发送给 Word ；SendKeys 不能和另外的应用程序一起使用。

注释

只有当没有别的选择时才使用 SendKey 来操作其它应用程序，并且要小心使用它。通常，动态数据交换(DDE)是一种更好的在 Word 和其它应用程序间交互信息的方法，因为 DDE 提供了一条在应用程序间双向通信的通道，并且提供了一种在其它应用程序中检测和处理错误的方法。即使对 SendKeys 最简单的应用，也应该在广泛条件下测试，以避免不可预见的结果、或数据丢失、或两者均发生。

在单步执行一个包含一条 SendKeys 指令的宏(用“宏”工具条上的“单步方式”或“命令方式”按钮)时，注意宏可能不象预料的那样执行，除非该SendKeys 指令和激活目标应用程序或对话框的指令在同一行中，中间用冒号隔开。

参数	说明
Keys$	一个键或键序列如“a”代表字母 a，“｛enter｝｛tab｝”代表 ENTER 键后跟TAB键。
Wait	如果 Word 不是活动应用程序并且 Wait 等于-1，则在继续之前， Word 要等待所有键都被处理。例如在 Windows 中，如果运行下述指令来发送 Keys$ 到 MicrosoftExcel 中，只有当文本被插入到所有10个单元格之后，Word 中才会产生一次响铃。如果 Wait 为0（零），则在文本被插入第一个单元格之后就会产生响铃。 AppActivate "Microsoft Excel" For i = 1 To 10 SendKeys "Testing{down}", -1 Next i Beep
下表列出了在 Windows 和 Macintosh 中可以发送的非字符键。

键	代码
TAB（制表符）	{tab}
ENTER（回车）	{enter} or ~
ESC	{escape} or {esc}
下表列出了只有在 Windows 下才可发送的非字符键。

键	代码
BACKSPACE	{backspace} or {bs} or {bksp}
BREAK	{break}
CAPS LOCK	{capslock}
CLEAR	{clear}
DEL	{delete} or {del}
DOWN ARROW	{down}
END	{end}
HELP	{help}
HOME	{home}
INS	{insert}
LEFT ARROW	{left}
NUM LOCK	{numlock}
PAGE DOWN	{pgdn}
PAGE UP	{pgup}
PRINT SCREEN	{prtsc}
RIGHT ARROW	{right}
UP ARROW	{up}
F1, F2, F3,...F16	{F1}, {F2}, {F3},...{F16}
除了上面所列的键码外，还可指定 ToolsCustomizeKeyboard 中所列的任何键码。为此，可用语法格式｛Code｝。例如指令SendKeys"｛13｝发送 ENTER 的键码。

要重复一个字符，可以用语法｛Character Number｝。例如 SendKeys"｛S,10｝"重复字母 S 10次。要记住在键和次数中间加入一个空格。要重复一个其键码已括在花括号中的键，可在花括号中加入一个空格和一个数字。例如SendKeys"｛enter 10｝"。（用这种方法不能重复 ToolsCustomizeKeyBoard 的键码）。

在 Windows 中，要发送一个包含 SHIFT、ALT、或 CTRL 的按键组合，可使用下列符号（在 Macintosh 中，可以用加号(+)来发送一个 SHIFT 组合键，但不能发送包括 OPTION 或 COMMAND 的组合键） 。

组合键中有	键代码前置
SHIFT	+ （加号）
ALT (Windows) 或 COMMAND (Macintosh)	% （百分号）
CTRL (Windows) 或 CONTROL (Macintosh)	^ （脱字符）
OPTION (Macintosh)	# （#号）
例如，在 Windows 中，“%｛enter｝”发送键 ALT+ENTER 的键码。可以用括号把一组键组合起来，然后在这组键前加上表示 SHIFT、ALT、或 CTRL 键的键码。例如，键码“+(wordbasic)”代表 WORDBASIC （但也可只用大字母 WORDBASIC,而不用加号）。要将一个加号(+)、一个百分号(%)、一个^字符、或一个#号，以文字的形式发送，可将该字符括在一对花括号中。例如要发送一个加号，可用指令 SendKeys"｛+｝"。也可用花括号来发送圆括号。

注释

在 Windows 中，在发送包含 ALT 键的组合键时，约定使用小写字母。例如要打开“文件”菜单(ALT，F)，可用“%f”。而使用“%F”则等价于按 ALT+SHIFT+F键。

_____________

请参阅

动态数据交换（DDE）语句和函数

AppActivate

DDEExecute

DDEInitiate()

DDEPoke


SentRight 示例

本例计算文档中的句子数（不包括段落标记），并将结果显示在一个消息框中。

StartOfDocument

count = 0

While SentRight(1, 1) <> 0

If Right$(Selection$(), 1) <> Chr$(13) Then count = count + 1

Wend

MsgBox "Number of sentences in document:" + Str$(count)


SentRight, SentRight()

示例

SentRight [Count,] [Select]

SentRight([Count,] [Select])

SentRight 语句将插入点或选定内容的活动尾（即按下 SHIFT+箭头键时移动的一端）向右移动指动数目的句子。

参数	说明
Count	要移动的句子数；如果小于1或者省略，则假设为1。
Select	指定是否选定文本。 0或省略  不选文本。如果已经存在选定内容，则SentRight 将插入点向选定内容右边移 Count-1个句子。 非0   选定文本。如果已经存在选定内容，SentRight 将选定内容的活动尾向文档尾方向移动。 在一个典型的自左至右建立的选择区中，其活动结尾靠近文档尾，SentRight 将扩充选择区；在一个自右至左的建立的选择区中，SentRight 将收缩选择区。
注意 Word 把空的表单元格当成“句子”计数，并且不考虑长度和标点，Word 认为每个段落包含了至少一个句子。

SentRight() 函数的动作与语句一样，并且返回下列值：

值	说明
0 (zero)	若插入点或选定内容的活动尾不能向右移。
-1	若插入点或选定内容的活动尾向右移动了任意数目的句子，甚至少于 Count。例如，即使插入点离文档结尾只有三个句子，SentRight(10)仍返回-1。
_____________

请参阅

移动插入点和选定内容语句和函数

CharRight

EndOfLine

ParaDown

SelectCurSentence

SentLeft

WordRight


SetAttr 示例

本例使文件 C:\TEST\TEST.DOC成为只读的但不影响该文件的其它属性。首先，SetAttr() 返回当前的 Attribute 值。然后 If 条件语句用 MOD 操作符来决定 Attribute 值是否为奇数，是奇数即意味着“只读”属性已经设置了。在这种情况下，Word 显示一个消息框。如果 Attribute 是偶数1或0（零），SetAttr 指令就设置“只读”属性。在 Macintosh 中，路径和文件名用 HD:TEST:TEST DOCUMENT 之类的的形式代替。

attribs = GetAttr("C:\TEST\TEST.DOC")

Print attribs

If attribs MOD 2 Then

MsgBox "File is already read-only."

Else

SetAttr "C:\TEST\TEST.DOC", 1

End If


SetAttr

示例

SetAttr Filename$, Attribute

设置文件 Filename$ 的属性。在 Windows 中，属性对应于能用“文件管理器”中“文件”菜单中的“属性”命令来设置的内容。为了解属性的定义，可显示“属性”对话框，并选择“帮助”按钮。在 Macintosh 中，只有“只读”或“隐藏”属性可用。“只读”对应于“文件”菜单中对应 Finder 的“获取信息”对话框中的“锁定”复选框。 ）。拟为其设置属性的文件必须是关闭的。如果试图给一个打开的文档设置属性，就会出错。

参数	说明
Filename$	拟设置属性的文件的路径和文件名。
Attribute	指定属性： 0（零） 清除除“系统”外的所有属性 1 “只读” 2 “隐藏” 4 “系统”（在 Macintosh 中不可用） 32 “档案”（在 Macintosh 中不可用）
注释：

属性值是可加的。例如要同时设置“只读”和“档案”属性，Attribute 为 33（即1和32的和）。关于单独设置“只读”属性的一种方法，请参阅下面的例子。不能同时设置“档案”属性和“系统”属性。

_____________

请参阅

磁盘访问及管理语句和函数

GetAttr()


SetPrivateProfileString 示例

这一对自动宏自动打开上次退出 Word 时为活动的文档。在 Macintosh 中，用一个形如 MY SETTINGS 的设置文件名代替 MY.INI。

下面 是AutoExit 宏。如果活动窗口是一个宏编辑窗口。If 条件能防阻止 Word 将宏名写入设置文件，。这样可避免在 AutoExec 宏中出错。

Sub MAIN

If SelInfo(27) <> -1 Then a$ = FileName$()

check = SetPrivateProfileString("Word Info", "LastActive", a$, \

"MY.INI")

If check = 0 Then MsgBox "Could not set INI option."

End Sub

下面是 AutoExec 宏：

Sub MAIN

name$ = GetPrivateProfileString$("Word Info", "LastActive", \

"MY.INI")

If name$ <> "" Then FileOpen .Name = name$

End Sub


SetPrivateProfileString, SetPrivateProfileString()

示例

SetPrivateProfileString Section$, KeyName$, Setting$, Filename$

SetPrivateProfileString(Section$, KeyName$, Setting$, Filename$)

在一个设置文件中定义或重定义一个设置。设置文件是一个宏可以用来存放和调出设置的文件。例如，在退出 Word 时，可以保存活动文档的名字。这样，在下次启动 Word 时，这个文档能被自动重新打开。在 Windows 中，设置文件是一个形如 WINWORD6.INI的文本文件。在 Macintosh 中，设置文件是一个形如 Word Setting(6)的资源文件。注意，在 Windows 95 和 WindowsNT 中，虽然设置保存在“登录”中且不能用 SetProfileString 修改，但你仍可以将它们写入专用设置文件。

在 Windows95 和 WindowsNT 中，可以用 SetPrivateProfileString 来把一项设置赋给“登录”（the registry）中的一个值。

参考	说明
Section$	设置文件中包含了拟设置的键的节的名字。在 Windows 中，它就是出现在相关键之前方括号中的名字（在 Section$ 中不包括方括号）。 如果在 Windows95 或 WindowsNT 中，用 SetPrivateProfileString 将一个设置赋给“登录”中的一个值，Section$ 应是该键的完整路径，包括根目录，（例如"HKEY_CURRENT_USER\software\Microsoft\Words\6.0\Options"）。
KeyName$	拟在一个 Windows 设置文件中设置的键。在该键的名字后跟有一个等号和该设置。 如果在 Windows95 或 WindowsNT 中，用 SetPrivateProfileString 将一个设置赋予“登录”中的一个值，KeyName$ 应为 Section$ 所指定键中值的名字(例如“MessageBeeps) 。
Setting$	新设置。
Filename$	设置文件的文件名。如果没指定路径，则假设为 Windows 目录(在Windows 中)或 Preferences 文件夹(在Macintosh中)。如果该文件不存在，Word 就创建该文件。 如果在 Windows95 或 WindowsNT 中，用 SetPrivateProfileString 将一项设置赋给“登录”中的一个值，FileName$ 必须为一个空字符串(“”)。
SetPrivateProfileString() 函数的作用与对应的语句相同，也返回一个值来指示操作是束成功：-1表示键被设置，0（零）表示键没被设置。如果设置文件是只读的，则不能设置键。

_____________

请参阅

环境语句和函数

GetPrivateProfileString$()

GetProfileString$()

SetProfileString

ToolsAdvancedSettings


SetProfileString 示例

本 Windwos 例子用 GetSystemInfo$() 来决定 WIN.INI 文件[intl]节中"sCountry"的设置。SetProfileString 改变设置。如果该键还没被设置成"Sweden"，就把它设置成该值。

If GetSystemInfo$(29) <> "Sweden" Then

SetProfileString "intl", "sCountry", "Sweden"

End If


SetProfileString

示例

SetProfileString Section$, KeyName$, Setting$

在 Windows 中，创建一个键并为它定义一个设置，或重定义 WIN.INI 中一个已有键的设置。如果 Section$ 是"Microsoft Word2.0"、 "Microsoft Word"、 "MSWORD Text Converters"、或"MSWord Editable Sections"，则SetProfileString在 WINWORD6.INI 中重定义这些设置。这些例外情况是为了保持与 Word for Windows 2.X 版宏的兼容性。在 Macintosh 中，SetProfileString 定义 Wordsetting(6) 文件中的设置。通常，更多的是使用 SetPrivateProfileString，它允许指定一个拟修改的设置文件。

参数	说明
Section$	设置文件中包含了拟设置的键的节的名字。在 Windows 中，它就是出现在相关键之前方括号中的名字（在 Section$ 中不包括方括号）。
KeyName$	拟在一个 Windows 设置文件中设置的键字。在该键的名字后跟有一个等号和该设置。
Setting$	新设置。
注释：

在 Windows95 和 WindowsNT 中，设置保存在“登录”中。尽管仍然可用 SetProfileString 和 GetProfileString$() 来设置和返回名为 WIN.INI 的文本文件中的设置，但是系统和 Word 都不用这些设置。要从 Wordbasic 中存取和更改“登录”中的值，需要使用 GetPrivateProfileString$() 和 SetPrivateProfileString。

_____________

请参阅

环境语句和函数

GetPrivateProfileString$()

GetProfileString$()

SetPrivateProfileString

ToolsAdvancedSettings


SetTemplateDirty 示例

本例对活动模板中键盘的对应关系作一次临时修改（使 SmallCaps 命令对应 CTRL+SHIFT+C(在Windows中)或 COMMAND+SHIFT+C(在Macintosh中)），然后使模板成为“干净的’。在该模板关闭时，Word 不显示提示或保存修改。

ToolsCustomizeKeyboard .KeyCode = 835, .Context = 1, \

.Name = "SmallCaps", .Add

SetTemplateDirty 0


SetTemplateDirty

示例

SetTemplateDirty [Dirty]

控制 Word 是否识别一个模板是“脏的” ----即自上次保存该模板以来又进行过修改。在关闭一个“脏”模板时，Word 显示一个提示询问是否要保存修改。

如果修改了一个模板，然后将 Dirty 设为0，则Word 认为模板没被修改，或者说它是“干净的”。这样，在关闭该模板时，Word既不显示提示也不保存修改。

参数	说明
Dirty	指定是否将活动模板设置成“脏的”。 0    模板当作“干净的”处理 1或省略  模板被认为是“脏的”
_____________

请参阅

环境语句和函数

IsDocumentDirty()

IsTemplateDirty()

SetDocumentDirty


ShadingPattern, ShadingPattern()

ShadingPattern Type

ShadingPattern()

ShadingPattern语句将一种底纹格式应用到选定段落、表单元格、或图文框中。

参数	说明
Type	所应用底纹的格式： 0 13 1 14 2 15 3 16 4 17 5 18 6 19 7 20 8 21 9 22 10 23 11 24 12 25 在Macintosh 中，格式35到61应用底纹图案，以2.5% 为增量。： 35 2.5% 49 55% 36 7.5% 50 57.5% 37 12.5% 51 62.5% 38 15% 52 65% 39 17.5% 53 67.5% 40 22.5% 54 72.5% 41 27.5% 55 77.5% 42 32.5% 56 82.5% 43 35% 57 85% 44 37.5% 58 87.5% 45 42.5% 59 92.5% 46 45% 60 95% 47 47.5% 61 97.5% 48 52.5%
ShadingPattern() 函数返回下列值：

值	说明
0 （零）	不存在加了底纹的选定内容（底纹图案为“清除”）
-1	选定内容中包含混合的底纹图案
1到25或35到61	所有选定内容用同一种底纹图案格式化
_____________

请参阅

边框和图文框语句和函数

FormatBordersAndShading


Shell 示例

本 Windows 例子启动“记事本”，并调入文档 TORT.TXT：

Shell "Notepad TORT.TXT"

本 Macintosh 例子启动 Microsoft Excel，但仍使 Word 是活动的。

Shell MacID$("XCEL"), 4

下面的 Windows 例子创建了一个纯文本文件(DOCLIST.TXT)。该文件列出了 C:\WINWORD 文件夹中，扩展名为 .DOC 的文档。可以用一条类似的指令来创建一个文件，以后可以打开它作顺序输入。开关"/C"保证了 在"/C"后的命令行执行后，将控制返回 Word。

Shell Environ$("COMSPEC") + " /c dir /b C:\WINWORD\*.DOC > DOCLIST.TXT"


 Shell

示例

Shell Application$ [, WindowStyle]

启动另一个应用程序（如 Microsoft Excel ）或进程（例如一个 MS-DOS 批处理文件或可执行文件）。在 Windows 中，如果指定的应用程序已经在运行了，Shell 就启动同一应用程序的另一个实例；在 Macintosh 中，Shell 则激活已经在运行的实例。

参数	说明
Application$	在 Windows 中，Applications$ 为用于查找该应用程序的路径和文件名。你可选择任何要包含的合法开关或参数，正如你在“运行”对话框中键入它们时那样。要显示一个命令窗口，指定Environ$("COMSPEC")(在 Windows3.X中或Environ$("COMMAND"(在Windows95中)，或Environ$("CMD"(在WindowsNT中)为Application$. 在 Macintosh 中，Application$ 是应用程序名或 MacID$() 函数返回的标志。通常，更多的是使用标志而非应用程序名（例如，使用MaclD$("XCEL")而不用“Microsoft Execl”），因为与应用程序名不同，标志从来不会改变。 如果文件与某个应用程序相关联则Application$ 本身就可以是一个文档名。（在 Windows 中，如果文件名的扩展名在 WIN.INI 文件的[Extensions]节，或在 Windows95 和 WindowsNT中，如果文件名的扩展名在“登录”中，则这个文件名即与一个应用程序相关联。在 Macintosh 中，文件名与应用程序间的关联是自动建立的；可以使用 SetFileCreatorAndType 来更改关联。Shell 启动相关联的应用程序并打开文档。 在 WindowsNT 中，要指定一个包含空格的文件名，可用 Chr$(34)字符把文件名括起，如下述例子所示： Shell Chr$(34)+"August Report.DOC"+chr$(34) 如果在单条 Shell 指令中同时包含了应用程序名和文档名，必须用一个空格字符将两个名字隔开。
WindowStyle	在 Windows 中，指定包含该应用程序的窗口的显示方式（某些应用程序把该参数忽略）： 0（零） 最小化窗口（图标） 1 普通窗口（当前窗口大小，或最小化窗口的上次窗口大小） 2 最小化窗口（为与 Microsoft Execl 兼容而设置） 3 最大化窗口 4 非激活的窗口 在 Macintosh 中，WindowStyle0（零），1，2和3等效；应用程序窗口是活动窗口（只有一种大小）。将 WindowStyle 设为4可启动一个应用程序但保持 Word 是活动的。
_____________

请参阅

应用程序控制语句和函数

AppActivate

DDEInitiate()

Environ$()

MacID$()

SetFileCreatorAndType


ShowAnnotationBy 示例

本例使 Word 仅显示 Sara Levine 所作的批注，然后显示批注窗格：

ShowAnnotationBy "Sara Levine"

ViewAnnotations 1


ShowAnnotationBy

示例

ShowAnnotationBy ReviewerName$

在批注窗格打开时，显示 ReviewerName$ 的批注。要显示所有批注，指定 ReviewerName$ 为 All Reviewers"。如果 ReviewerName$ 不与该批注窗格顶部表中的任何检查者匹配，Word 将显示所有批注。

_____________

请参阅

脚注、尾注和批注语句和函数

ViewAnnotations


ShowVars 示例

本例定义变量 Name$ 和 age 为文本文件 DATA.TXT 第一行中的项。这些变量显示在一个对话框中，在该对话框中可以修改变量的值。

Open "DATA.TXT" For Input As #1

Input #1, name$, age

ShowVars


ShowVars

示例

ShowVars

显示一个变量列表和它们的当前值，以帮助调试该活动宏。通过 ShowVars 指令，可以在任何确切的位置暂停该宏并检查这些变量。

_____________

请参阅

宏语句和函数

MsgBox

Print

Stop


SizeToolbar 示例

本例改变“标准”工具栏的大小，以使其中的按钮显示在两行中。

MoveToolbar "Standard", 0, 0, 40

SizeToolbar "Standard", 368


SizeToolbar

示例

SizeToolbar Toolbar$, Width

将一个浮动工具栏的大小调整到最接近于指定宽度的可用宽度。如果将指定的工具栏定在 Word 窗口的顶部，底部或两测边，则SizeToolbar 不起作用。

参数	说明
Toolbar$	列在“工具栏”对话框（“视图”菜单）中的工具栏名字。
Width	工具栏宽度，以象素为单位。
_____________

请参阅

自定义语句和函数

MoveToolbar


SkipNumbering 示例

本例选定当前段落，并用 SkipNumbering() 决定是否跳过该段落。如果是，则重新为该段落编号。

EditGoTo "\Para"

If SkipNumbering() = 1 Then

FormatBulletsAndNumbering

End If


SkipNumbering, SkipNumbering()

示例

SkipNumbering

SkipNumbering()

SkipNumbering() 语句在一个“项目符号和编号”命令（“格式”菜单）创建的一个项目符号和编号列表中，跳过选定段落中的项目符号和编号。其后的项目符号和编号段落继续当前的列表，而不开始一个新列表（在编号表的情况下重新编号）。

SkipNumbering() 函数返回下列值：

值	说明
0 (zero)	如果不跳过选定的段落。选定段落可以是也可以不是项目符号和编号列表的一部分。
-1	如果选定段落中有一些被跳过，另一些不被跳过，或选定段落包含了一个多级列表中的一级以上。
1	如果所有选定段落都被跳过。
_____________

请参阅

项目符号和编号语句和函数

DemoteList

FormatBulletsAndNumbering

PromoteList

RemoveBulletsNumbers


Spike 示例

本例打开 RESEARCH.DOC，用 Spike 收集所有标题1段落，关闭 RESEARCH.DOC 而不保存修改，然后将该标题插入到活动文档中。在 Macintosh 中，用诸如 HD:DOCUMENTS:RSRCH PAPER 的形式来代替路径。

FileOpen .Name = "C:\DOCS\RESEARCH.DOC", .ReadOnly = 1

EditFindClearFormatting

EditFindStyle .Style = "Heading 1"

EditFind .Find = "", .Direction = 0, .Format = 1

While EditFindFound()

Spike

ParaDown

EditFind .Find = "", .Direction = 0, .Format = 1

Wend

FileClose 2	'Close without saving

InsertSpike	'Empty the Spike at insertion point


Spike

示例

Spike

删除当前的选定内容，并把它加入一个叫做“图文场”的内置自动图文集词条中。加入到“图文场”的项用段落标记隔开。

可以用“图文场”来从一个或多个文档的不同位置收集文本和图形，然后用 InsertSpike 把它们全部一起插入（InsertSpike 将清除“图文场”）。为插入“图文场”内容而不清除“图文场”，则使用 EditAutoText。

_____________

请参阅

编辑语句和函数

EditAutoText

EditCut

InsertSpike


StartOfDocument 示例

本例将插入点移到文档开头，然后准备 Word 开始一次替换操作：

StartOfDocument

EditFindClearFormatting

EditReplaceClearFormatting

'Instructions that perform a replace operation go here


StartOfDocument, StartOfDocument()

示例

StartOfDocument [Select]

StartOfDocument([Select])

StartOfDocument 语句将插入点，如 Select 非零则将选定内容的活动端（在按 CTRL+SHIFT+HOME(在Windows中)或 COMMAND+SHIFT+HOME(在Macintosh中)时会移动的那一端）移至文档开头。

StartOfDocument() 函数与语句的作用一样，并且也返回下列值：

值	说明
0 （零）	如果插入点成选定内容的活动端没有移动（例如，已经在文档开头了）。
-1	如果插入点或选定内容的活动端移动了。
_____________

请参阅

移动插入点和选定内容语句和函数

AtStartOfDocument()

EndOfDocument


StartOfLine 示例

不管段落长短，也不管插入点在段落中的位置。本示例都将插入点移至当前段首。第一条指令将选择整个段落。

EditGoTo "\Para"

StartOfLine

\Para 书签是 Word 定义并自动更新的几个预定义书签之一。有关预定义书签的详细内容，请参阅 运算符和预定义的书签 。


StartOfLine, StartOfLine()

示例

StartOfLine [Select]

StartOfLine ([Select])

StartOfLine 语句将插入点，或选定内容的结尾（即按 SHIFT+HOME 键时将移动的尾）移至当前行或含选定内容结尾的行首。

StartOfhine 函数与 StartOfline 语句作用相同，也可返回以下值之一。

数值	解释
0 (zero)	如果插入点或选定内容的结尾未被移动（即其已位于行首） 。
-1	如果插入点或选定内容的结尾被移动。
除非已确认该段落为单行（例如，在一个单词表中的一个单词），避免单独使用 StartOfline移到段首。

_____________

请参阅

移动插入点和选定内容语句和函数

EndOfLine

ParaUp

StartOfRow


StartOfWindow 示例

本示例选择活动文档窗口中可见的内容：

StartOfWindow

EndOfWindow 1


StartOfWindow, StartOfWindow()

示例

StartOfWindow [Select]

StartOfWindow([Select])

StartOfWindow 语句把插入点，如果 Select 不为零的话则把选定内容的活动端（即按 CTRL+SHIFT+PAGE UP键（对Windows）或按COMMAND+SHIFT+PAGE UP键(对Macintosh) 时将移动的那端）移动到文档窗口中当前可视区的左上角。

StartOfWindow() 函数与语句功能相同，并返回下列值之一：

值	解释
0 (zero)	如果插入点或选定内容的活动端未移动（即，如果它已在窗口的左上角）。
-1	如果插入点或选定内容的活动端被移动。
_____________

请参阅

移动插入点和选定内容语句和函数

EndOfWindow

StartOfDocument


String$() 示例

这一指令在状态栏中打印文字“ ddddd ”。

Print String$(5, 100)

这个示例在第一个选定段落之前插入一行 40 个 ANSI 字符码为 164(�) 的字符。

SelType 1 : ParaDown : ParaUp	'Go to start of paragraph

Insert String$(40, 164)	'Insert character string

InsertPara	'Insert a paragraph mark


String$()

示例

String$(Count, Source$)

String$(Count, CharCode)

返回 Source$ 中的第一个字符或与 ANSI 字符集CharCode 对应的字符，重复 Count 次。 Count 最大可达 65,280。

_____________

请参阅

字符串和数字语句和函数

Asc()

Chr$()

InStr()

Str$()


StyleName$() 示例

本示例检查文档样式列表中的第一个样式是否用在该文档中使用。如该样式未被使用，将显示一个信息框。

FirstStyle$ = StyleName$(1)

StartOfDocument

EditFindClearFormatting

EditFindStyle .Style = FirstStyle$

EditFind .Find = "", .WholeWord = 0, .MatchCase = 0, .Direction = 0, \

.Format = 1, .Wrap = 0

If EditFindFound() = 0 Then

MsgBox "Style " + FirstStyle$ + " is not in use."

End If

以下示例保证 StyleNarne$() 将返回基本段落样式，而不管当前选定内容应用的字符样式。

EditBookmark "tmp"

SelType 1

reset$ = StyleName$()

Style "Default Paragraph Font"

parastyle$ = StyleName$()

Style reset$

EditGoto "tmp"

EditBookmark "tmp", .Delete


StyleName$()

示例

StyleName$([Count,] [Context,] [All])

返回指定的样式名。如未指定样式，则返回应用于选定内容中第一个段落的样式名。注意：如果插入点或选定内容位于用某个字符样式格式化的文本中，StyleName$() 将返回该字符样式（而非段落样式）的名字。关于此种情况下返回段落样式的方法，请参阅本参考项下的第二个示例。

参数	解释
Count	如Context 值为“0”或省略，则它为该样式在活动文档的样式列表中的位置；如Context 值为 1，则它为该样式在活动模板的样式列表中的位置。样式列表中的样式按字母顺序排列。该数的范围从“1”到 CountStyles() 的值。 CountStyles()将返回指定文本中样式（包括字符样式和段落样式）的总数。如果 Count 为“0”或省略，则返回当前样式名。
Context	所使用的样式列表： “0”或省略  活动文档 “1”  活动模板
All	指定是否包括内置样式： “0” 不包括内置样式 “1” 包括内置样式 注意：Word 中有75个内置样式。其中有两个默认样式，即“默认段落字体”和“正文”。
_____________

请参阅

样式语句和函数

CountStyles()

FormatStyle

StyleDesc$()


Text 示例

本示例中，“Text”指令将产生“Sample Text,”标签，并说明“S”为下一指令所定义文本框的调用键。

Begin Dialog UserDialog 320, 84, "Sample Dialog Macro"

Text 10, 6, 160, 12, "&Sample Text", .myTextControl

TextBox 10, 21, 236, 18, .TextBox1

OKButton 9, 58, 88, 21

CancelButton 115, 58, 88, 21

End Dialog

以下示例在文本标签中显示当前选定文本的前255个字符。

textlabel$ = Left$(Selection$(), 255)

Begin Dialog UserDialog 621, 251, "Show Selection Text"

OKButton 409, 220, 88, 21

CancelButton 509, 220, 88, 21

Text 10, 6, 586, 203, textlabel$, .Text1

End Dialog


Text

示例

Text HorizPos, VertPos, Width, Height, Label$ [, .Identifier]

在自定义对话框中创建一个文本标签。如果要用文本控制给列表框或文本框定义调用键，必须先于列表框或文本框控制指令使用 Text 指令。

尽管不能在“对话编辑器”中键入多行文本标签，您却可以缩放文本标签，使之容纳多行，并可对 Label$ 应用一个变量，使之容纳多行文本（在字符串中，用 Chr$(13) 表示换行字符） 。

参数	解释
HorizPos, VertPos	文本控制矩形的左上角到该对话框左上角之间的水平和垂直距离。增量为 System 字体(对Windows) 或对话字体(对Macintosh)的1/8和1/12。
Width, Height	该矩形的宽度及高度，增量为 System 字体(对Windows) 或对话字体(对Macintosh)的1/8和1/12。
Label$	要在对话框中显示的标签。字符“&”出现在 Label$ 中的字符的前面。 Label$ 中的字符为 Text 指令后控制的调用键。如果 Label$ 的长度多于 255 个字符，将有错误出现。
.Identifier	作用于文本控制的对话函数中语句所使用的可选标识符。例如，可将该标识符用在语句 DlgText中，以便在显示对话框的情况下（于屏幕）修改 Label$。
_____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

TextBox


TextBox 示例

本示例中，把在用 TextBox 指令创建的多行文本框中输入的文本存储到 dig.TextBox1 变量中。

Begin Dialog UserDialog 290, 152, "Sample Dialog Macro"

Text 10, 6, 260, 12, "&Sample Text: Press ENTER"

Text 10, 22, 143, 12, "to start a new line."

TextBox 10, 43, 236, 64, .TextBox1, 1

OKButton 10, 117, 88, 21

CancelButton 117, 117, 88, 21

End Dialog

Dim dlg As UserDialog

Dialog dlg


TextBox

示例

TextBox HorizPos, VertPos, Width, Height, .Identifier[$] [, MultiLine]

在一个自定义对话框中，创建一个单行或多行的文本框。用户可向该文本框输入信息。在一个文本框控制中，最多可插入 255 个字符。

参数	解释
HorizPos, VertPos	文本框左上角与对话框左上角之间的水平和垂直距离，增量为 System 字体(对Windows) 或对话字体(对Macintosh)的1/8和1/12。
Width, Height	文本框的宽度和高度，增量为 System 字体(对Windows) 或对话字体(对Macintosh)的1/8和1/12。
.Identifier[$]	Identifier[$]与对话记录名共同生成一个变量，其值与该文本框中的文本对应。该变量形式为 DialogRecord.Identifier[$]。（例如，dlg.MyTextBox$）。字符“$”是可选的。可用它指明该变量为字符串变量。 标识符字符串（即.Identifier[$]去掉句点）也用在作用于文本框的对话函数中的语句（例如 DlgEnable和DlgVisible）中。
MultiLine	指定该文本框为单行文本框还是多行文本框。 “0”  单行文本框 “1” 多行文本框 在多行文本框中，用户向框中输入文本时可按 ENTER 或 SHIFT+ENTER 键另起一行。但要注意，多行文本框中不含滚动条。用户可使用箭头键滚动文本。如果用户按 ENTER 或 SHIFT+ENTER 键另起一行，该标识符返回的字符串中将含有一个段落标记。
_____________

请参阅

对话框定义和控制语句和函数

Begin Dialog...End Dialog

Text


Time$() 示例

将该语句包含于宏结尾时，本示例将显示一个信息框，表明该宏结束运行的时间。

MsgBox "The macro finished at " + Time$()


Time$()

示例

Time$([SerialNumber])

返回对应于 SerialNumber的时间，用十进制数表示日期、时间或两者。如果 SerialNumber 省略，则Time$() 返回当前时间。有关数据的内容，请参阅 DateSerial()。

时间格式由“TimeFormat=”语句行决定。对Windows3.x，该语句行位于  :WINWORD6.1NI 中的[Microsoft Word]节中；对Macintosh，该语句行位于Word Settings(6) 中；对Windows95 和 WindowsNT，该语句行位于注册（the registry）处。（在 Windows3.x 中，如果没有“TimeFormat=”语句行，Time$() 将使用 WIN.INI中intl节的时间设置）。在宏内，可使用 SetPrivateProfileString 改变当前时间格式。

_____________

请参阅

日期和时间语句和函数

Date$()

DateSerial()

GetPrivateProfileString$()

Hour()

Minute()

Now()

Second()

SetPrivateProfileString

TimeSerial()

TimeValue()


ToggleFieldDisplay 示例

本示例使用 ViewFieldCodes 语句，将所有域的 显示方式变为显示域结果，然后将当前段落（用预定义书签“\Para”选定）中的域显示方式改回为显示域代码。

ViewFieldCodes 0

EditGoTo .Destination = "\Para"

ToggleFieldDisplay


ToggleFieldDisplay

示例

ToggleFieldDisplay

将选择区中域的显示方式在显示域代码和显示域结果间切换。如果选定内容中不包含任何域，错误将出现。本规则不适用于页面视图。在页面视图中， ToggleFieldDisplay 切换所有域的显示方式。

_____________

请参阅

域语句和函数

ViewFieldCodes


ToggleScribbleMode

ToggleScribbleMode

在 Windows中，接通或断开手写批注模式。接通手写批注模时，Word 将活动文档切换到页面视图。本语句只用于 Windows for Pen Computing。在 Macintosh 下，ToggleScribbleMode 无效并可能导到错误。


ToolsAdvancedSettings 示例

本示例在 Word 设置文件中的[Microsoft Word]节中中设置日期格式：

ToolsAdvancedSettings .Application = "Microsoft Word", \

.Option = "DateFormat", .Setting = "M/D/YYYY", .Set


ToolsAdvancedSettings

示例

ToolsAdvancedSettings .Application = text, .Option = text , .Setting = text [, .Delete] [, .Set]

修改设置文件（例如 Windows3.x 中的WINWORD6.INI，Macintosh中的Word Settings(6)，或一个自定义的设置文件）中的设置。ToolsAdvancedSettings 的参数对应于“高级设置”对话框中的选项。要显示“高级设置”对话框，可从“工具”菜单中执行“宏”命令，并运行 Word 命令 ToolsAdvancedSettings。注意，在 Windows95 和 WindowsNT 中，设置存储于“注册”（the registry）处，不能用 ToolsAdvancedSettings 来修改它们。

参数	解释
.Application	设置文件中的节名，见 Categories （分类）框中所列。 注意：如果在节名后加一个空格和一个设置文件的名字（将该名字括在圆括号中），则可为该设置文件设置一个调用键。例如，在 Windws 中，"Macro Settings(MY.INI)"即指定 Windows 目录中，MY.INI 文件中的[Macro Settings]节，在 Macintosh 中，“Macro Settings (MY SETTINGS)”即指定文件夹 SYSTEM FOLDER：PREFERENCES 中，MY SETTINGS 文件的[Macro Settings]节。
.Option	拟设置的键
.Setting	新设置
.Delete	删除调用键
.Set	设置调用键
有关改变设置文件中设置的详细内容，请参阅 SetPrivateProfileString。

_____________

请参阅

工具语句和函数

GetPrivateProfileString$()

GetProfileString$()

SetPrivateProfileString

SetProfileString

ToolsOptionsFileLocations


ToolsBulletListDefault

ToolsBulletListDefault

向选定段落中加入项目符号及制表符，并用悬挂式  进格式化段落，“项目符号”作为 SYMBOL 域插入。

注释：

ToolsBulletListDefault 语句对应 Word for Windows 2.x.版 “工具栏”中的“项目符号列表”按钮。在Word6.0 版本中，“项目符”按钮位于“格式”工具栏，它对应的 WordBasic 语句为 FormatBulletDefault。

_____________

请参阅

项目符号和编号语句和函数

FormatBulletDefault

FormatBulletsAndNumbering

FormatNumberDefault

ToolsBulletsNumbers

ToolsNumberListDefault


ToolsBulletsNumbers 示例

本示例将选定内容格式化为项目符号列表，项目符号定义为字符代码 183，字体为 Symbol （符号），字体大小为 10 磅：

ToolsBulletsNumbers .Font = "Symbol", .CharNum = "183", .Type = 0, \

.Points = 10, .Hang = 1, .Indent = "0.25 in", .Replace = 0


ToolsBulletsNumbers

示例

ToolsBulletsNumbers [.Replace = number] [, .Font = text] [, .CharNum = text] [, .Type = number] [, .FormatOutline = text] [, .AutoUpdate = number] [, .FormatNumber = number] [, .Punctuation = text] [, .StartAt = text] [, .Points = number or text] [, .Hang = number] [, .Indent = number or text] [, .Remove]

为加有项目符号，编号及大纲编号的段落设置格式。为与以前各版本的 Word for Windows兼容，保留了本语句。ToolsBulletsNumbers 的参数对应于 Word for Windows2.x 版中本 k "项目符号与编号”对话框（“工具”菜单）中的选项。并非所有参数均可用于各类型列表。

参数	解释
.Replace	如果为“1”，Word 只为已加有项目符号的段落更新项目符号，或只为已加有编号的段落更新编号。
.Font	列表中编号或项目符号的字体。
.CharNum	用作项目符号的字符或该字符的 ANSI 码。“项目符号”以“SYMBOL”域形式插入。
.Type	所要创建列表的类型： “0” 项目符号列表 “1” 编号列表 “2” 大纲编号列表
.FormatOutline	一种给大纲编号的格式。有效格式有“法律”、“大纲”、“序列”、“学习”及“全为大纲”。“学习”格式依据选定内容中每一层的第一个编号选用格式。
.AutoUpdate	如果为1，编号以域形式插入，并在段落的顺序改变后自动更新。
.FormatNumber	为编号列表指定格式： “0”  1，2，3，4 “1” Ⅰ，Ⅱ，Ⅲ，Ⅳ “2” i,ii,iii,iv “3” A，B，C，D “4” a,b,c,d
.Punctuation	列表中编号间的分隔符字符。如果指定了一个字符，该字符将跟在每个编号后；如果指定了两个字符，它们将围在每个编号的两边。
.StartAt	列表的起始编号或字母。
.Points	项目符号列表中的项目符号字符大小，用磅数表示。
.Hang	如果为“1”，将该列表格式化为悬挂式缩进。
.Indent	如果 .Hang 设为“1”，则.Indent 为左缩进的宽度。用磅数或一个文本度量单位表示。 。
.Remove	删除现有的项目符号或编号。
_____________

请参阅

项目符号和编号语句和函数

FormatBulletDefault

FormatBulletsAndNumbering

FormatNumberDefault

ToolsBulletListDefault

ToolsNumberListDefault


ToolsCalculate 示例

本示例中，ToolsCalculate() 函数将两个表格单元格中的数值相加，并将结果返回变量 Total 中。插入点必须在含数值的表格内。

total = ToolsCalculate("a5 + b5")


ToolsCalculate, ToolsCalculate()

示例

ToolsCalculate

ToolsCalculate([Expression$])

ToolsCalculate 语句视选定内容为数学表达式，然后在状态栏显示计算结果，结果同时被置于“剪贴板”中。

如果 Expression$ 未被指定，ToolsCalculate() 函数的功能与语句作用相同，只是 ToolsCalculate() 函数返回结果而不是在状态显示结果并置结果于“剪贴板”中。如果 Expression$ 被指定，它将被作为数学表达式计算；Expression$ 可包含书签名及简单的单元格引用（如 a5）。

_____________

请参阅

工具语句和函数

TableAutoSum

TableFormula


ToolsCompareVersions 示例

本示例把活动文档与 C:\DRAFT\REV1DOC.DOC 相比较。在 Macintosh 中，换用一个形如 HD:DRAFT:FIRST REV 的路径名。。

ToolsCompareVersions .Name = "C:\DRAFT\REV1DOC.DOC"


ToolsCompareVersions

示例

ToolsCompareVersions .Name = text

显示修订标记，指示活动文档与指定文档的不同之处。ToolsCompareVersions 与“版本比较”对话框（“修订”命令，“工具”菜单）对应。

参数	解释
.Name	需与活动文档比较的文档名；如果该文档不在当前文件夹中，需包含路径。
_____________

请参阅

工具语句和函数

ToolsOptionsRevisions

ToolsRevisions


ToolsCreateEnvelope 示例

本示例将一个信封添加到活动文档，信封地址由变量 to$ 和 from$ 指定，收信人地址为粗体字。

rtn$ = Chr$(13)

to$ = "Jane Doe"  + rtn$ + "123 Skye St." + \

rtn$ + "OurTown, WA 98107"

from$ = "John Doe" + rtn$ + "456 Erde Lane" + \

rtn$ + "OurTown, WA 98107"

FormatAddrFonts .Bold = 1

ToolsCreateEnvelope .EnvAddress = to$, .EnvReturn = from$, \

.AddToDocument


ToolsCreateEnvelope

示例

ToolsCreateEnvelope [.ExtractAddress = number] [, .EnvAddress = text] [, .EnvOmitReturn = number] [, .EnvReturn = text] [, .PrintBarCode = number] [, .EnvWidth = number or text] [, .EnvHeight = number or text] [, .EnvPaperSize = number] [, .PrintFIMA = number] [, .LabelAutoText = text] [, .UseEnvFeeder = number] [, .AddrFromLeft = number or text] [, .AddrFromTop = number or text] [, .RetAddrFromLeft = number or text] [, .RetAddrFromTop = number or text] [, .PrintEnvLabel] [, .AddToDocument]

创建一个与活动文档一起打印的信封，ToolsCreateEnvelope 语句的参数与“信封和标签”对话框（“工具”菜单）中“信封”选项卡下的选项对应。要指定地址格式，可使用 FormatAddrFonts及FormatRetAddrFonts。

参数	解释
.ExtractAddress	指定是否用书签 EnvelopeAddress （“信封地址”，是一个用户定义的书签）标记的文本作收信人的地址： “0” 不用书签EnvelopeAddress  “1” 用书签 EnvelopeAddress
.EnvAddress	用于指定收信人地址的文本（如果 .ExtractAddress 被指定，本参数将被忽略）。
.EnvOmitReturn	指定是否省略寄信人地址。 “0” 寄信人地址不省略。 “1”寄信人地址省略。
.EnvReturn	用于指定寄信人地址的文本。
.PrintBarCode	指定是否添加 一个POSTNET 条形码：“1”表示添加条形码；“0”表示不添加。仅用美国邮件。
.EnvWidth, .EnvHeight	如果 EnvpaperSize 对应于“自定义大小”时，用磅数或一个文本度量表示的信封宽度和高度。
.EnvPaperSize	与“信封选项”对话框中“信封尺寸”框内的一种大小对应，“0”对应于第一种大小，“1”对应于第二种大小，依次类推。
.PrintFIMA	指定是否添加一个FIM A（ Facing Identification Mark－对开标识标记 ），以方便整理礼节信函。“1”表示添加FIMA，“0”表示不添加。仅用于美国邮件。
.LabelAutoText	“自动图文集”词条的名字。该自动图文集词条中存有某个数据源的address（地址）域（仅在邮件合并中创建信封时才记录） 。
.UseEnvFeeder	此数字对应于“进纸”框中列出的信封源。“0”对应于第一个源，“1”对应于第二个源，依次类推。
.AddrFromLeft	收信人地址到信封左边缘间的距离，以当前默认单位或一个文本度量表示。
.AddrFromTop	收信人地址到信封上边缘间的距离，以当前默认单位或一个文本度量表示。
.RetAddrFromLeft	寄信人地址到信封左边缘间的距离，以当前默认单位或一个文本度量表示。
.RetAddrFromTop	寄信人地址到信封上边缘间的距离，以当前默认单位或一个文本度量表示。
.PrintEnvLabel	打印信封。
.AddToDocument	将收信人地址及寄信人地址作为单独一节添加在文栏开头。
_____________

请参阅

工具语句和函数

FormatAddrFonts

FormatRetAddrFonts

ToolsCreateLabels


ToolsCreateLabels 示例

本示例创建一个新文档，该文档含待打印到“Avery”标签页的标签文本。参数��.LabelListIndex=0 指定“Avery Standard”为标签产品。��.LabelIndex=4 指定产品号码为 5160（为地址）。标签文本取自自动图文集词条“MyLabelAddress”。

ToolsCreateLabels .LabelListIndex = 0, .LabelIndex = 10, \

.LabelDotMatrix = 0, .LabelTray = 1, .AddToDocument, \

.LabelAutoText = "MyLabelAddress"


ToolsCreateLabels

示例

ToolsCreateLabels [.ExtractAddress = number] [, .LabelListIndex = number] [, .LabelIndex = number] [, .LabelDotMatrix = number] [, .LabelTray = number] [, .LabelAcross = number] [, .LabelDown = number] [, .SingleLabel = number] [, .LabelRow = number] [, .LabelColumn = number] [, .LabelAutoText = text] [, .LabelText = text] [, .PrintEnvLabel] [, .AddToDocument] [, .LabelTopMargin = number or text] [, .LabelSideMargin = number or text] [, .LabelVertPitch = number or text] [, .LabelHorPitch = number or text] [, .LabelHeight = number or text] [, .LabelWidth = number or text]

创建将与活动文栏一起打印的一个或一页标签。ToolsCreateLabels 语句的参数与“信封和标签”对话框（“工具”菜单）中“标签”选项卡下的选项对应。

参数	解释
.ExtractAddress	指定是否使用书签“EnvelopeAddress”（用户自定义书签）所标记的文本作标签文本。 “0”  不用。 “I”  用。
.LabelListIndex	对于点阵打印机，数值如下： 1 Avery Standard 3 Avery Intl (UK) 4 Avery Intl (France) 6 CoStar LabelWriter 对于激光打印机，数值如下： 0 (zero)    Avery Standard 2 Avery Pan European 5 Other
.LabelIndex	与“标签选项”对话框中“产品号码”框下的选项对应。“0”与第一个选项对应，“1”与第二个选项对应，依次类推。
.LabelDotMatrix	指定打印机类型。 “0”  激光 “1”  点阵
.LabelTray	与“标签选项”对话框中“纸盒”列表框中的某纸盒对应，“0”对应于列表中第一个纸盒，“1”对应于第二个，依次类推。只有 .LabelDotMatrix 被设置为“0”时本参数才可用。
.SingleLabel	如果为“1”，只要指定.LabelRow和.LabelColumn，就可在一个标签页中打印单一的某个标签。
.LabelRow	如果参数.SingleLabel被设置为“1”，则.LabelRow 为拟打印标签行号。
.LabelColumn	如果参数".SingleLabel" 被设置为“1”，则.LabelColumn 为拟打印标签的列号。
.LabelAutoText	储存有标签文本的自动图文集词条的名字。（如果��.ExtractAddress已被指定，本参数将被忽略）。
.LabelText	拟打印到标签上的文本。（如果.ExtractAddress或��.LableAutoText已被指定，本参数将被忽略）。
.PrintEnvLabel	打印标签。
.AddToDocument	将待打印的标签文本建立为一个新文档。
以下参数用于创建自定义标签，如果联合使用 .LabelListIndex，.LabelIndex和��.LabelDotMatrix指定有效标签，可不用以下参数（被忽略）。

参数	解释
.LabelAcross	在一行中的标签数。
.LabelDown	在一列中的标签数。
.LabelTopMargin	标签页的上页边距宽度，以当前默认单位或一个文本度量表示。
.LabelSideMargin	标签页的侧页边距宽度，以当前默认单位或一个文本度量表示。
.LabelVertPitch	从某标签顶到下一个（位于其下方）标签顶间的距离，以当前默认单位或一个文本度量表示。
.LabelHorPitch	从某标签左边界到下一个（位于其一侧）标签左边界间的距离，以当前默认单位或一个文本度量表示。
.LabelHeight	标签高度，以当前默认单位或一个文本度量表示。
.LabelWidth	标签宽度，以当前默认单位或一个文本度量表示。
_____________

请参阅

工具语句和函数

ToolsCreateEnvelope


ToolsCustomizeKeyboard 示例

本示例将 CTRL+SHIFT+F（在Windows 中）或COMMAND+SHIFT+F（在Macintosh 中）赋与 FileFind 命令。

ToolsCustomizeKeyboard .Category = 1, .Name = "FileFind", \

.KeyCode = 838, .Add

下面示例删除为 FileFind 命令赋予的键。

ToolsCustomizeKeyboard .Category = 1, .Name = "FileFind", \

.KeyCode = 838, .Remove


ToolsCustomizeKeyboard

示例

ToolsCustomizeKeyboard [.KeyCode = number] [, .KeyCode2 = number] [, .Category = number] [, .Name = text] [, .Add] [, .Remove] [, .ResetAll] [, .CommandValue = text] [, .Context = number]

为内置命令、宏、字体、自动图文集词条、样式、和普通字符赋予和重新赋予快捷键。

ToolsCustomizeKeyboard 语句的参数与“自定义”对话框（“工具”菜单）中“键盘”选项卡下的选项对应。

参数	解释
.KeyCode	代表按键组合的一个数值，见本表中下面所列。
.KeyCode2	代表一个键序列中的第二个按键组合的数值。例如，要将键序列 CTRL+S,I（在 Macintosh 中则为 COMMAND+S,1）赋予“标题1”样式，需设置 .KeyCode 为339（代表 CTRL+S 或 COMAND+S）和 .KeyCode2 为49（代表1）。
.Category	指定拟为其赋予快捷键的项目类型： “1”或缺省  内置命令 “2” 宏 “3” 字体 “4”自动图文集词条 “5”样式 “6”普通符号
.Name	命令、宏、或其它项目的名字。如果 .Categery 被设置为 6，则可指定一个符号，办法是：键入，或将其粘贴到宏编辑窗口中，或使用 Chr$() 指令（如 Chr$(167)）。
.Add	给指定项目分配一个或多个键。
.Remove	如果指定的键码当前已被分配，本参数将删除当前的分配，从而使相关联的按键组合失去作用。如果指定的键码未被分配，.Remove 将重置该键码为其默认工作方式。注意，删除或重置一个按键分配时，不须指定 .Name。
.ResetAll	重置所有按键分配到它们的默认工作方式。
.CommandValue	.Name 所指定命令要求的附加文本（如果需要的话）。例如，如果 .Name 设置为 Color （颜色），.CommandValue 将指定该颜色。有关详细内容，请参阅 ToolsCustomizeMenus 中 .ComandValue 的设置值表。
.Context	决定新的键分配关系的存储位置： “0” 或省略  Normal模板 “1” 活动模板
以下两个表格列出了为给 .KeyCode 指定适宜的数字所需的值。指定按键组合时，需将第一个表格中的值加到第二个表格中的值上。例如，你可指定 CTRL+S（在Macintosh中则为COMMAND+S) 为256和83的和（即 339）。

加上该值	等效于与该键组合
256	CTRL（在Windows中），或COMMAND（在Macintosh中）
512	SHIFT
1024	ALT(在Windows中) ，或OPTION(在Macintosh中)
2048	CONTROL (在Macintosh中)
在 Windows 中，功能键 F11到 F16等同于 ALT+F1到 ALT+F6。因此对应于 F11的键码与 对应于ALT+F1的键码等效。 类似地，指定 ALT+F11可更高效地指定 ALT+ALT+F1，与指定 ALT+F1无区别。

键代码	对应键to
8	BACKSPACE
9	TAB
12	"Num Lock"关闭时即数字键盘中的“5”键
13	ENTER
19	PAUSE
27	ESC
32	SPACEBAR
33	PAGE UP
34	PAGE DOWN
35	END
36	HOME
45	INS
46	DEL
48	0
49	1
50	2
51	3
52	4
53	5
54	6
55	7
56	8
57	9
65	A
66	B
67	C
68	D
69	E
70	F
71	G
72	H
73	I
74	J
75	K
76	L
77	M
78	N
79	O
80	P
81	Q
82	R
83	S
84	T
85	U
86	V
87	W
88	X
89	Y
90	Z
96	0  数字键盘
97	1  数字键盘
98	2  数字键盘
99	3  数字键盘
100	4  数字键盘
101	5  数字键盘
102	6  数字键盘
103	7  数字键盘
104	8  数字键盘
105	9  数字键盘
106	*  数字键盘
107	+  数字键盘
109	-  数字键盘
110	.  数字键盘
111	/  数字键盘
112	F1
113	F2
114	F3
115	F4
116	F5
117	F6
118	F7
119	F8
120	F9
121	F10
122	F11
123	F12
124	F13
125	F14
126	F15
127	F16
145	SCROLL LOCK
186	;
187	=
188	,
189	-
190	.
191	/
192	`
219	[
220	\
221	]
222	'
_____________

请参阅

自定义语句和函数

CountKeys()

KeyCode()

KeyMacro$()


ToolsCustomizeMenuBar 示例

本示例将一个名字为“Macros”的新菜单添加于“帮助”菜单(在Windows中)或“窗口”菜单(在Macintosh中)的右侧。

ToolsCustomizeMenuBar .MenuText = "&Macros", .Add, .Position = -1


ToolsCustomizeMenuBar

示例

ToolsCustomizeMenuBar [.Context = number] [, .Position = number] [, .MenuType = number] [, .MenuText = text] [, .Menu = text] [, .Add] [, .Remove] [, .Rename]

在菜单栏中添加，删除或重新命名菜单。ToolsCustomizeMenuBar 语句的参数与“菜单栏”对话框（“菜单”选项卡，“自定义”命令，“工具”菜单）中的选项对应。

参数	解释
.Context	决定对菜单所作修改的存储位置。 “0”或省略 Normal 模板 “1” 活动模板
.Position	指定添加新菜单的位置： “0”对应于第一个（即最左端）位置“1”对应于第二个位置，依次类推。要将新菜单添加于最右端位置，将      .Position 设置为-1。
.MenuType	指定所需要修改的菜单栏： “0”或省略 有文档打开时的菜单栏 “1” 无文档打开时的菜单栏
.MenuText	菜单新名字，用于 .Add 和 .Rename 。如果有调用键，需在该键前置符号“&”。注意，一个菜单栏只能有一个给定名字（不管字符“&”如何）的菜单 。
.Menu	所要修改的菜单名；与 .Rename 和 .Remove 同用。用在菜单名中调用键前的符号“&”是可选的（例如，指定 "File" 和 "&File"等效） 。
.Add	将 .Menu Text 所指定的菜单添加于菜单栏。
.Remove	删除指定的菜单。
.Rename	为指定的菜单重新命名。
如果不指定 .Add,.Remove 或 .Rename,Word 将添加（add）该菜单。

要重新设置菜单栏，可使用 ToolsCustomizeMenus 及参数 .ResetAll。注意，这将把所有菜单重置为它们的默认设置。

_____________

请参阅

自定义语句和函数

ToolsCustomizeMenus


ToolsCustomizeMenus 示例

本示例将把宏 TestMacro 添加到Help（帮助）菜单中。该宏的菜单项为Test（测试），它出现在 Index（索引）之后。因为已指定了 .AddBelow，所以不须指定 .Position。

ToolsCustomizeMenus .Category = 2, .Name = "TestMacro", \

.MenuType = 0, .Menu = "Help", .MenuText = "&Test", \

.AddBelow = "Index", .Context = 0, .Add


ToolsCustomizeMenus

示例

ToolsCustomizeMenus [.MenuType = number] [, .Position = number] [, .Category = number] [, .Name = text] [, .Menu = text] [, .AddBelow = text] [, .MenuText = text] [, .Rename] [, .Add] [, .Remove] [, .ResetAll] [, .CommandValue = text] [, .Context = number]

修改内置命令、宏、字体、自动图文集词条、及样式与菜单的对应关系。ToolsCustomizeMenus 语句的参数与“自定义”对话框（“工具”菜单）中“菜单”选项卡下的选项对应。

参数	解释
.MenuType	所要修改的菜单类型： “0”或省略  有文档打开时菜单栏中的菜单。 “1” 无文档打开时菜单栏中的菜单。 “2” 快捷菜单。
.Position	需在菜单中添加或删除项目的位置： “-1”或省略   自动决定添加菜单项的合适位置。 “2”  将菜单项添加到菜单底部。 “n”  在指定位置添加、或删除或重新命名某菜单项。“1”对应于第一位置，“2”对应于第二位置，依次类推。添加菜单项时，如果n大于现存菜单项数加 1，则所添加的菜单项将被加到菜单底部。 注意，分隔符被当作菜单项。，有时一组菜单项被当作一个菜单项。有关详细内容，可参阅CountMenuItems.。
.Category	所需指定的项目类型： “1”或省略  内置命令 “2”   宏 “3” 字体 “4” 自动图文集词条 “5” 样式
.Name	拟修改其菜单对应关系的内置命令、宏、字体、自动图文集词条、或样式名字。要添加或删除分隔符时，指定“（分隔符）”。
.Menu	所需修改的菜单。菜单名列于“更改菜单项”列表框中。 用在菜单名中调用键前的符号“&”是可选的（例如，指定"File" 和 "&File"等效） 。即使“自定义”对话框中显示有带括号的短语，如“（无文档）”或“（快捷方式）”等，也不要把它们包含于本参数中。
.AddBelow	与需在其后添加新菜单项的菜单项的文本或与其相关联的命令名。 注意，如果 .Position 已指定，可不指定本参数。如果两者均被指定，将优先执行 .AddBelow 。
.MenuText	菜单中将显示的文本。如果有调用键，需在该键前置符号“&”。在 Macintosh 中，调用键仅以菜单模式显示。需按数字键盘（Num Lock 关闭时）上的 DEL 键(.)才可激活菜单模式。 如果要在菜单文本中显示符号“&”，需使用两个“&”符号。例如，设置 .Menu Text 为"&Examples && Practices" 将建立菜单项Example & Practices”。
.Rename	将 .Menu 和 .Name（如果指定了.Position，则还有.Position）所指定的菜单项重新命名为 .MenuText 所指定的文本。
.Add	将该项目添加于菜单。
.Remove	从菜单中删除该项目。
.ResetAll	将所有菜单重置为它们的默认对应关系。注意本参数重置 ToolsCustomizeMenuBar 和 ToolsCustomizeMenus 所作的修改。
.CommandValue	.Name 所指定命令要求的附加文本（如果有的话）。例如，如果 .Name 被设置为 Color （颜色），.CommandValue 将指定颜色。有关详细内容，请参阅下一个表格。
.Context	决定新菜单对应关系的存储位置。 “0” 或省略 Normal 模板 “1”  活动模板
删除或重新命名菜单项时，必须指定 .Name 和 .Menu。Word 将从指定菜单的底部开始向上移动，直到找到可完成 .Name 所指定操作的项目。如果要求所修改的菜单项位于特定位置并有特定菜单文本，也可指定 .Position 和.Menu Text 。注意，如果 Word 找不到满足所有指定条件的项目，将有错误出现。

下表中，左栏列有要求命令值的命令，右栏描述如何指定 .CommandValue 。在“自定义”对话框（“工具”菜单）中，在“命令”框中选择下列任一命令即显示一列表框，从该列表框选择一个项目与指定 .CommandValue 有相同功效。

如果.Name被设置为	.CommandValue必须为
Borders, Color, or Shading （边界，颜色或底纹）	与含数值的列表框中的设置位置相对应的数字（指定为文本）。“0”对应于第一个项目，“1”对应于第二个，依次类推。
Columns （列）	“1”到“45”之间的某数（用文本指定），与拟应用的列号对应。
Condensed （紧缩）	一个文本度量单位，界于0.1磅 到12.75磅 之间，以0.05磅递增（1英寸=72磅） 。
Expanded （展开）	一个文本度量单位，界于0.1磅 到12.75磅 之间，以0.05磅递增（1英寸=72磅）。
FileOpenFile （文件打开）	拟打开文件的路径和文件名。如果未指定路径，则默认为当前文件夹 。
Font Size （字体大小）	一个正的文文本度量单位，以0.5磅递增（1英寸=72磅）。
Lowered, Raised （降低，提升）	一个文本度量单位，界于1磅 到64磅 之间，以0.5磅递增（1英寸=72磅）。
Symbol （符号）	用一连串 Chr$() 指令与 symbol （符号）字体名创建的一个字符串。例如，Chr$(167)+" Symbol "）。
_____________

请参阅

自定义语句和函数

CountMenuItems()

MenuItemMacro$()

MenuText$()

ToolsCustomizeMenuBar


ToolsGetSpelling 示例

本示例检查“kolor”这个单词的拼写，然后在一系列信息框中显示出五种替换建议。

Dim suggest$(4)

ToolsGetSpelling suggest$(), "kolor"

For count = 0 To 4

If suggest$(count) <> "" Then MsgBox suggest$(count)

Next


ToolsGetSpelling, ToolsGetSpelling()

示例

ToolsGetSpelling FillArray$() [, Word$] [, MainDic$] [, SuppDic$] [, Mode]

ToolsGetSpelling(FillArray$() [, Word$] [, MainDic$] [, SuppDic$] [, Mode])

ToolsGetSpelling 语句：把错拼单词的替换单词填入一个数组中。这些替换单词按照它们在拼写检查器中出现的顺序被赋予各个数组元素。

参数	注释
FillArray$	用于存放替换单词的数组。必须在运行 ToolsGetSpelling 前定义。
Word$	存放被替换的单词。如果省略 Word$，Word 即以最靠近插入点的单词为其默认值。
MainDic$	一个文本字符串，代表指定语言主词典中该语言的名称。关于有效的外国语名称列表，清参阅 ToolsLanguage 。如果既未指定一个单词，又没有指定主词典，Word 使用与插入点最近处单词的语言格式对应的主词典。
SuppDic$	一个自定义词典的路径和文件名（例如，“C:\WINWORD\USER1.DIC”(Windows) 或者“HD:WORD:MY TERMS”(Macintosh)）。如果 Word$ 在自定义词典中查到了，则 ToolsGetSpelling 不在上述数组中放任何单词。如果 .SuggestFromMainDictOnly(ToolsOptionsSpelling 语句） 为 0，意味着替换词既可以从自定义词典中找到，也可以从主词典中找到。注意，变位字只能从主词典中找到。
Mode	指定 Word 为 Word$ 提供替换词的方式。 0 或者省略 返回对 Word$ 建议的正确拼写。 1 在 Word$ 包含问号(?)和星号(*)通配符时，返回与搜索标准匹配的建议替换词。 2 返回 Word$ 的变体词（即与 Word$ 中同样字母构成的词）。Word不从自定义词典中返回变体词。注意，如果使用非 Word 自带的其它拼写检查器，那么这项功能可能不能使用。
函数 ToolsGetSpelling() 返回拼写检查器建议的替换词数目。如果单词的拼写正确，则返回 0（零）。

_____________

请参阅

校对语句和函数

ToolsGetSynonyms

ToolsLanguage

ToolsOptionsSpelling


ToolsMergeRevisions 示例

本示例打开 REVISE1.DOC，把修定标记合并到 ORIGINAL.DOC，然后对 REVISE2.DOC 也完成相同的动作。

FileOpen .Name = "REVISE1.DOC"

ToolsMergeRevisions .Name = "ORIGINAL.DOC"

FileOpen .Name = "REVISE2.DOC"

ToolsMergeRevisions .Name = "ORIGINAL.DOC"


ToolsMergeRevisions

示例

ToolsMergeRevisions .Name = text

把修订标记从活动文档合并到指定文档中。如果指定文档尚未打开，则Word将其打开。如果活动文档修订标记与指定文档修订标记不相等，则发生错误。可以用一系列 FileOpen 指令后跟 ToolsMergeRevisions 指令，把多个审阅拷贝的修订标记收集到一个文档中。

参数	注释
.Name	要进行修订合并的文档的路径和文件名。
_____________

请参阅

工具语句和函数

ToolsCompareVersions

ToolsOptionsRevisions

ToolsReviewRevisions

ToolsRevisions


ToolsNumberListDefault

ToolsNumberListDefault

向选定段落添加项目符号和制表符，并把该段设置为悬挂式缩进格式。

注释

ToolsNumberListDefault 语句在 Word 2.0 版中对应Toolbar上的Numbered List 按钮。在 Word6.0 版中，“项目符号”按钮在格式 工具栏中，它对应 WordBasic 语句 FormatNumberDefault。

_____________

请参阅

项目符号和编号语句和函数

FormatBulletDefault

FormatBulletsAndNumbering

FormatNumberDefault

ToolsBulletListDefault

ToolsBulletsNumbers


 ToolsOptionsAutoFormat

ToolsOptionsAutoFormat [.PreserveStyles = number] [, .ApplyStylesHeadings = number] [, .ApplyStylesLists = number] [, .ApplyStylesOtherParas = number] [, .AdjustParaMarks = number] [, .AdjustTabsSpaces = number] [, .AdjustEmptyParas = number] [, .ReplaceQuotes = number] [, .ReplaceSymbols = number] [, .ReplaceBullets = number] [, .ApplyBulletedLists = number] [, .ReplaceOrdinals = number] [, .ReplaceFractions = number] [, .ApplyBorders = number] [, .ApplyNumberedLists = number] [, .ShowOptionsFor = number]

为 FormatAutoFormat 设置自动套用格式选项或者设置“键入时自动套用格式”功能（仅在 Word7.0 版中）。ToolsOptionsAutoFormat 语句中的参数对应“选项”命令（“工具” 菜单）中 “自动套用格式”选项卡下的选项。注意，.ReplaceBullets、 .AdjustParaMarks、 .AdjustTabsSpaces、和.AdjustEmptyParas 这些 参数与 Word6.0 版的宏保持兼容。

参数	注释
.PreserveStyles	如果为1，则保留先前应用的样式。 在 Word7.0 版中，当 .ShowOptionsFor 设置为 0 时本参数被忽略。
.ApplyStylesHeadings	如果为1，标题使用自动样式。
.ApplyStylesLists	如果为1，列表使用自动样式。 在 Word7.0 版中，当 .ShowOptionsFor 被设置为 0时，本参数被忽略。
.ApplyStylesOtherParas	如果为1，段落使用自动样式。 在 Word7.0 版中，当.ShowOptionFor 被设置为0 时，本参数忽略。
.AdjustParaMarks	如果为1，增添或者删除一个文档中的段落标记。（例如，删去从一个电子邮件消息中拷贝的文本行的额外段落标记）。
.AdjustTabsSpaces	如果为1，自动调整制表符设置和空格。
.AdjustEmptyParas	如果为1，删去用来增加段落间距的段落标记。
.ReplaceQuotes	如果为1，把双引号(" ") 、单引号(' ') 、和撇号 ( ' )替换为弯曲的双引号(“”)，单引号(‘’)和撇号(‘)。
.ReplaceSymbols	如果为1，则将"(r)", "(c)", and "(tm)" 替换为 �, �, and � （“插入”菜单“符号”命令中）
.ReplaceBullets	如果为1，用“项目符号和编号”对话框（“格式”菜单）中的项目符号替换项目符号字符。 如果为-1，使用由 .ApplyBulletedLists 指定的设置。 若. ShowOPtionsFor 被设置为 0，则本参数被忽略。
.ApplyBulletedLists	如果为1，则用 “项目符号和编号” 对语框（“格式”菜单）中的项目符号替换项目符号字符。实际如何替换取决于键入的内容，例如， "=>" 将用 "�"替换。 本参数只在 Word7.0 版有效。
.ReplaceOrdinals	如果为1，则把序数词中的“st”,“nd”,“rd”，或者“th”替换为相同的上标。例如，“1st”替换为"1st."。
.ReplaceFractions	如果为1，把键入的分数替换为当前字符集中的分数。例如，把1／2替换为�.。
.ApplyBorders	如果为1，则把三个或多个减号(-)、等号(=)、或者下划线(-)替换为指定的边框线。例如，把三个或多个等号(=)替换为双边框线。本参数仅在 Word7.0 版中有效。当 .ShowOptionsFor 被设置为1或者省略时，本参数被忽略。
.ApplyNumberedLists	如果为1，则用 “项目符号和编号”对语框（“格式”菜单）中的一种编号方式把段落格式化为编号表。实际如何替换取决于键入的内容。例如，如果段落由“1.1”和一个制表符起始，按 Enter 键后，Word 自动插入“1.2”和一个制表符。 本参数仅在 Word7.0 版有效。当 .showOptionsFor 被设置为1或者省略时，本参数被忽略。
.ShowOptionsFor	指定哪一组选项被 ToolsOptionsAutoFormat 语句设置： 0 “键入时自动格式化”功能 1或省略 FormatAutoFormat 语句。 本参数仅在 Word7.0 版有效。
_____________

请参阅

工具语句和函数

FormatAutoFormat

ToolsAutoCorrect


ToolsOptionsCompatibility

ToolsOptionsCompatibility [.Product = text] [, .Default] [, .NoTabHangIndent = number] [, .NoSpaceRaiseLower = number] [, .PrintColBlack = number] [, .WrapTrailSpaces = number] [, .NoColumnBalance = number] [, .ConvMailMergeEsc = number] [, .SuppressSpBfAfterPgBrk = number] [, .SuppressTopSpacing = number] [, .OrigWordTableRules = number] [, .TransparentMetafiles = number] [, .ShowBreaksInFrames = number] [, .SwapBordersFacingPages = number] [, .LeaveBackslashAlone = number] [, .ExpandShiftReturn = number] [, .DontULTrailSpace = number] [, .DontBalanceSbDbWidth = number] [, .SuppressTopSpacingMac5 = number] [, .SpacingInWholePoints = number] [, .PrintBodyTextBeforeHeader = number] [, .NoLeading = number] [, .NoSpaceForUL = number] [, .MWSmallCaps = number] [, .NoExtraLineSpacing = number] [, .TruncateFontHeight = number] [.SubFontBySize = number]

调整活动文档中的某些元素的显示以模仿其它字处理应用程序。例如，可以象 Wordperfect 中那样，把行末的空格移动到下一行。

ToolsOptionsCompatibility 语句对应  “选项”对话框(“工具”菜单)中“兼容性”选项卡下的选项。

参数	注释
.Product	产品的名称，想要模拟该产品的显示。名称列出在“推荐选项”（ Recommended OptionsFor ）框中。如果指定 了.Product，则自动确定显示选项。
.Default	使得选定的显示选项成为基于活动模板的新文档的默认值。
.NoTabHangIndent	如果为1，不向具有县挂式缩进格式的段落自动添加一个制表位。
.NoSpaceRaiseLower	如果为1， 不向提升或降低的字符增加额外的行距。
.PrintColBlack	如果为1，在非彩色打印机上，将彩色打印为黑色。
.WrapTrailSpaces	如果为1，行末空格将移到下一行。
.NoColumnBalance	如果为1，不对连续分节符上方的文本栏进行平衡。
.ConvMailMergeEsc	如果为1，则正确解释 Word2.X 版的邮件合并数据源中前置反斜杠(\)的字符。例如，\"被解释为".
.SuppressSpBfAfterPgBrk	如果为1，删去硬分页符和分栏符前后的空格。
.SuppressTopSpacing	如果为1，删去页面顶端的额外行距。
.OrigWordTableRules	如果为1，表格边界依照 Word for the Macintosh5.X 版中的方式连接。
.TransparentMetafiles	如果为1，图元文件后面的区域为非空白。
.ShowBreaksInFrames	如果为1，Word 显示图文框中的人工或者“硬”分页符或者分栏符。
.SwapBordersFacingPages	如果为1，选取“奇偶页不同”或者 “对称页边距”  复选框（“页面设置”对语框， “文件”菜单）时，Word 在奇数页右端打印一条段落左侧边线（不是一个框）。
.SuppressTopSpacingMac5	如果为1，按 Word for the Macintosh 5.X 版的方法控制页面顶端的额外行距。。
.SpacingInWholePoints	如果为1，把字符间距舍入为最接近的整数。
.PrintBodyTextBeforeHeader	如果为1，在页眉/页脚层之前打印主文本层〈颠倒 默认顺序〉。这样就允许 Word 象 Word for the Macintosh5.X 版一样在主文本层中处理 PostSccript 码。
.NoLeading	如果为1，则象 Word for the Macintosh5.0 版那样，显示不带前导的文本行，。
.NoSpaceForUL	如果为1，不为下划线增加额外的空间。 此参数只在 Word version 7.0 中有效。
.MWSmallCaps	如果为1，则象Word for the Macintosh 5.0版（它生产的小型大写字母）那样，使用小号的大写格式，。
.NoExtraLineSpacing	如果为1，行距控制与WordPerfect 5.0版相同。 本参数仅在Word7.0版有效。
.TruncateFontHeight	如果为1，字体大小象在 WordPerfect 6.xx for Windows 中一样增大或缩小。 此参数只在 Word 7.0版中有效。
.SubFontBySize	如果为1，字体将用基于 WordPerfect for 6.0 版文档中的字体大小替代。 本参数仅在 Word7.0 版有效。
注释

参数 .LeaveBackslashAlone, .ExpandShiftReturn, .DontULTrailSpace,和 .DontBalanceSbDbWidth 只对 Word 日文版有效，其它情况下忽略。

如果指定 .Product 和至少一个其它显示选项，则显示选项的设置优先。

_____________

请参阅

工具语句和函数

FontSubstitution


ToolsOptionsFileLocations 示例

本示例把文档的默认文件夹设置为 C:\MYDOCS。在 Macintosh 中，用形如HD:WORD DOCS的文件夹名替换。

ToolsOptionsFileLocations .Path = "DOC-PATH", \

.Setting = "C:\MYDOCS"


ToolsOptionsFileLocations

示例

ToolsOptionsFileLocations .Path = text , .Setting = text

设置默认文件夹。ToolsOptionsFileLocations 语句的参数对应于 “选项” 对语框（“工具”菜单）“文件位置”选项卡下的选项。新的设置立即生效。

参数	注释
.Path	在 WINWORD6.INI(Windows3.x情况)[Microsoft Word] 部分，或Word Settings(6) (Macintosh情况)部分， 或者注册处(Windows 95 t Windows NT情况)的以下设置之一： DOC-PATH PICTURE-PATH USER-DOT-PATH WORKGROUP-DOT-PATH INI-PATH AUTOSAVE-PATH TOOLS-PATH CBT-PATH STARTUP-PATH
.Setting	默认的文件夹的路径； 拟从WINWORD6.INI(Windows3.x情况)[Microsoft Word] 部分，或Word Settings(6) (Macintosh情况)部分， 或者注册处(Windows 95 t Windows NT情况)删除设置时则为一个空字符串(“”)。，
_____________

请参阅

文档、模板和加载项语句和函数

SetPrivateProfileString


ToolsOptionsGeneral 示例

本示例在打开 TEST.DOC 之前，确保把修改存储到 TEST.DOC 中时，最近用过文件的列表不会有改变（除非该列表中已包含最大数目即九个文件名）。

Dim dlg As ToolsOptionsGeneral

GetCurValues dlg

num = CountFiles()

If num < 9 Then

num$ = LTrim$(Str$(num))

If dlg.RecentFileCount = num$ Then

dlg.RecentFileCount = num + 1

ToolsOptionsGeneral dlg

End If

End If

FileOpen .Name = "TEST.DOC"


ToolsOptionsGeneral

示例

ToolsOptionsGeneral [.Pagination = number] [, .WPHelp = number] [, .WPDocNavKeys = number] [, .BlueScreen = number] [, .ErrorBeeps = number] [, .Effects3d = number] [, .UpdateLinks = number] [, .SendMailAttach = number] [, .RecentFiles = number] [, .RecentFileCount = number] [, .Units = number] [, .ButtonFieldClicks = number] [, .ShortMenuNames = number] [, .RTFInClipboard = number] [, .ConfirmConversions = number] [, .TipWizardActive = number]

设置通用选项。ToolsOptionsGeneral 语句的参数对应于 “选项” 对语框（“工具”菜单）中“常规”选项卡下的选项。

参数	注释
.Pagination	如果为1，允许后台重新分页。
.WPHelp	如果为1，使 WordPerfect Help生效 （在 Macintosh 上被忽略） 。
.WPDocNavKeys	如果为1，使 WordPerfect 文档浏览键生效（在 Macintosh 中被忽略）。
.BlueScreen	如果为1，改变文档窗口，在蓝色背景上显示白色文本。
.ErrorBeeps	如果为1，当发生导致出错的动作时，Word 响铃。
.Effects3d	如果为1，Word 显示带三维效果的对语框。本参数在 Word7.0 中被忽略。
.UpdateLinks	如果为1，打开文档时，自动更新链接信息。
.SendMailAttach	如果为1，“发送” 命令（“文件”菜单）以附件的形式而不是电子邮件消息文本的形式发送活动文档。一个
.RecentFiles	如果为1，在 “文件”菜单中“退出”命令的上方列出最近使用过的文件。
.RecentFileCount	为 1 到 9 之间的一个数字，对应想列出的最近使用过文档的最大数目。
.Units	设置默认的测量单位： 0 英寸 1 厘米 2 磅 3 匹卡
.ButtonFieldClicks	设置用MACROBUTTON 域运行一个宏时所需的单击次数（1或2）。
.ShortMenuNames	如果为1，在 Macintosh 菜单条上，用“Ins”替换“Insert”，“Fmt”替换“ Format”，“ Wnd”替换 “Window”。在 Windows 中，本参数产生一个错误。
.RTFInClipboard	如果为1，在 Macintosh 上，拷贝到剪贴板上的文本保持它的字符和段落格式。在 Windows 中，本参数产生一个错误。
.ConfirmConversions	如果为1，要打开的文件不是 Word 格式时则显示“转换文件”对语框。 本参数仅在 Word7.0 版有效。
.TipWizardActive	如果为1，启动 Tip Wizard。如果 Tip Wizard 已经启动，则重新设置 Tip Wizard.（Tip Wizard 可能显示您已经看到过的提示）。 本参数仅在 Word7.0 版有效。
_____________

请参阅

工具语句和函数

Beep

CountFiles(）

HelpWordPerfectHelpOptions

ToolsRepaginate


ToolsOptionsPrint 示例

本示例指定文档按相反页顺序打印：

ToolsOptionsPrint .Reverse = 1


ToolsOptionsPrint

示例

ToolsOptionsPrint [.Draft = number] [, .Reverse = number] [, .UpdateFields = number] [, .Summary = number] [, .ShowCodes = number] [, .Annotations = number] [, .ShowHidden = number] [, .EnvFeederInstalled = number] [, .UpdateLinks = number] [, .Background = number] [, .DrawingObjects = number] [, .FormsData = number] [, .DefaultTray = text] [, .FractionalWidths = number] [, .PSOverText = number]

设置打印文档选项，ToolsOptionsPrint 语句的参数对应于 “选项”对语框（“工具”菜单）“打印”选项卡下的选项。

参数	注释
.Draft	如果为1，按草稿输出打印（在 Macintosh 上被忽略） 。
.Reverse	如果为1，按逆页序打印页面。
.UpdateFields	如果为1，打印时更新文档中的全部域。
.Summary	如果为1，随文档打印摘要信息。
.ShowCodes	如果为1，打印域码以替代域结果。
.Annotations	如果为1，随文档打印批注。
.ShowHidden	如果为1，随文档打印隐藏文字。
.EnvFeederInstalled	如果为1，指示已安装了一个信封送纸器。
.UpdateLinks	如果为1，打印文档时自动更新全部链接信息。
.Background	如果为1，允许后台打印（在 Macintosh 上忽略） 。
.DrawingObjects	如果为1，随文档打印 Word 图形对象。
.FormsData	如果为1，仅把用户在一个联机表格中输入的数据打印到一个预定义的表格中。
.DefaultTray	将“默认纸盒”方框中显示的内容指定为默认纸盒。。
.FractionalWidths	如果为1，当在 LaserWriter（仅 Macintosh）上打印时，改进比例字体中的字符间隔。
.PSOverText	如果为1，在 LaserWriter（仅 Macintosh）上打印时，把 PRINT 域指令（例如 PostScript 命令）的结果打印在文本或者其它图形的顶端。
_____________

请参阅

工具语句和函数

FilePrint

FilePrintSetup


ToolsOptionsSave 示例

本示例设置“自动保存时间间隔”为10分钟。

ToolsOptionsSave .AutoSave = 1, .SaveInterval = "10"


ToolsOptionsSave

示例

ToolsOptionsSave [.CreateBackup = number] [, .FastSaves = number] [, .SummaryPrompt = number] [, .GlobalDotPrompt = number] [, .NativePictureFormat = number] [, .EmbedFonts = number] [, .FormsData = number] [, .AutoSave = number] [, .SaveInterval = text] [, .Password = text] [, .WritePassword = text] [, .RecommendReadOnly = number]

为保存文档设置选项。ToolsOptionsSave 语句的参数对应于“选项”对语框（“工具”菜单）中“保存”选项卡下的选项。

参数	注释
.CreateBackup	如果为1，每次保存时生成一个保留备份，不允许快速保存。
.FastSaves	如果为1，允许快速保存。
.SummaryPrompt	如果为1，在保存一个新文档时，提示摘要信息。
.GlobalDotPrompt	如果为1，并且对正文模板做了更改，则在退出 Word 时显示一个消息框，询问是否保存这些更改。如果为 0（零），则自动保存对正文模板的更改。
.NativePictureFormat	如果为1，输入的图形只按当前平台的格式保存。（例如，在 Windows 中，从 Macintosh 输入的图形只按 Windows 版本保存）。
.EmbedFonts	如果为1，保存时嵌入 TrueType 字体。
.FormsData	如果为1，则把用户输入的数据作为一个tab符定界记录保存在一个表格中，以供数据库使用。
.AutoSave	如果为1，允许自动保存。
.SaveInterval	指定自动保存文档的时间间隔，以分钟为单位，仅当 .AutoSave 设置为1时有效。
.Password	用于打开文档的口令。
.WritePassword	用于保存修改后文档的口令。
.RecommendReadOnly	如果为1，在打开文档时显示一个消息框，指明将该文档以只读方式打开。
_____________

请参阅

工具语句和函数

FileSave

FileSaveAll

FileSaveAs


ToolsOptionsSpelling 示例

本示例完成一次拼写检查，对其中全部由大写字母构成的单词和包含数字的单词不检查。自定义词典 MYTERMS.DIC 和主词典一起使用。在 Macintosh 上要替换为形如HD:\WORD:MYTERMS的路径。

ToolsOptionsSpelling .IgnoreAllCaps = 1, .IgnoreMixedDigits = 1,\

.Type = 0, .CustomDict1 = "C:\WINWORD\MYTERMS.DIC"

ToolsSpelling


ToolsOptionsSpelling

示例

ToolsOptionsSpelling [..AlwaysSuggest = number] [, .SuggestFromMainDictOnly = number] [, .IgnoreAllCaps = number] [, .IgnoreMixedDigits = number] [, .ResetIgnoreAll] [, .Type = number] [, .CustomDictn = text] [, AutomaticSpellChecking = number] [, .HideSpellingErrors = number] [, .RecheckDocument]

为一个文档的拼写检查设置选项。ToolsOptionsSpelling 语句的参数对应 “选项”对话框（“工具”菜单）中“拼写”选项卡下的选项。

参数	注释
.AlwaysSuggest	如果为1，为每个拼写错误的单词建议替换单词。
.SuggestFromMainDictOnly	如果为1，只从主词典中找出拼写建议。
.IgnoreAllCaps	如果为1，忽略全部由大写字母构成的单词。
.IgnoreMixedDigits	如果为1，忽略包含数字的单词。
.ResetIgnoreAll	重新设置全部忽略列表。这样，在 Word 的当前运行阶段，在进行拼写检查时， Word 将不会忽略你设置为“全部忽略”的那些单词。
.Type	搜索的词典的类型： 0 普通 2 完整 3 医学 4 法律 注意，如果未安装相应的词典却选定2、3、或4，则发生错误。有关怎样购买附加词典的信息，请与 Microsoft 顾客服务处联系。
.CustomDictn	建立或者添加一个自定义词典的路径和文件名。每个自定义词典都包含一个独立的 .CustomDictn 参数，上限到10。
.AutomaticSpellChecking	如果为1，允许对当前文档进行自动拼写检查。 本参数仅在 Word7.0 版有效。
.HideSpellingErrors	如果为1，隐藏活动文档中的拼写错误下划线。 本参数仅在 Word7.0 版有效。
.RecheckDocument	重新检查整个文档的拼写错误。这样可确保已查阅并更正的单词再次被检查。 本参数仅在 Word7.0 版有效。
_____________

请参阅

校对语句和函数

DocumentHasMisspellings

NextMisspelling

ToolsSpelling

ToolsSpellSelection


Val() 示例

以下两个指令，Val() 都返回10。

num = Val("10")

num = Val("10 Apples")

以下两个指令，Val() 都返回0（零）：

num = Val("ten")

num = Val("Apartment 10")

本示例提示用户键入一个数字，InputBox$() 函数把它转换成一个字符串。Val() 把该字符串转换成一个数字并乘以 12，Str$() 把乘积结果转换成一个字符串，这样就可以把它显示在一个消息框中。

a$ = InputBox$("How many dozen apples?")

total = Val(a$) * 12

MsgBox a$ + " dozen equals" + Str$(total)


Val()

示例

Val(a$)

返回 a$ 的数字值。 Val()通常的用法是把包含数字的字符串转换成数值类型，这样就可以把它用在数学公式中。如果 a$ 不以数字字符开头，Val() 返回 0。a$ 字符串可以长达 255 个字符。

注释

尽管一个 WordBasic 指令中未经处理的数字不受十位和千位分隔符当前设置的影响，但Val() 例外。例如，如果千位分隔符是一个句号“.”，指令 a=1.001把 a 设置为 1.001，但指令 a=Val("1,001")把 a 设置为 1001。

_____________

请参阅

字符串和数字语句和函数

Str$()


ViewMenus()

ViewMenus()

返回一个值，指示哪一种菜单栏被显示：当一个文档窗口打开时，显示完备的菜单栏；而当无文档窗口打开时，显示缩写的菜单栏。可以用 ViewMenus() 替代 CountWindows() 判断是否有至少有一个文档窗口是打开的。

参数	注释
0	显示完备的菜单栏。
1	在 Windows 中，只显示“文件”、“帮助”、和应用程序控制菜单；在 Macintosh 上，只显示 Apple,File, Help 和 Application 菜单。 注意，如果已经使用 ToolsCustomizeMenuBar 添加了其它菜单，则其它菜单仍可用。
注释

在用 ToolsCustomizeMenus 和ToolsCustomizeMenuBar 自定义菜单时，这些值对应 .MenuType 参数的允许值。

_____________

请参阅

视图语句和函数

ToolsCustomizeMenuBar

ToolsCustomizeMenus


WaitCursor 示例

本示例在一个 For...Next 循环的前一半重复中，禁止沙漏或表针，而在后一半重复中显示沙漏或表。

WaitCursor 0

For i = 1 To 1000

If i = 500 Then WaitCursor 1

Next i


WaitCursor

示例

WaitCursor Wait

把鼠标指针从当前的指针形状变更为沙漏或时钟（或相反）。当宏结束时，恢复Word对鼠标指针的控制。。

参数	注释
Wait	指定要显示的鼠标指针： 0  当前指针 1  沙漏形指针(Windows)或表形指针(Macintosh) 。


While...Wend 示例

这个 Windows 示例在一个 While...Wend 循环中，使用 Files$() 函数在当前文件夹中插入一个文件列表，其文件名以扩展名 .DOC 结尾。每当指令a$=Files$(*.DOC) 在循环中运行一次，该指令 即返回带有 .DOC 扩展名的第一个文件名，而指令a$=Files$() 在循环中运行一次，则返回带有 .DOC 扩展名的下一个文件名。。直到 Files$() 返回一个空字符串("")时，即表明当前文件夹里不再有 .DOC 文件。此时，条件.a$<>""成为“假”，Word 退出 While...Wend 循环。

FileNewDefault

currdir$ = Files$(".")

a$ = Files$("*.DOC")

While a$ <> ""

count = count + 1

a$ = FileNameInfo$(a$, 3)

InsertPara : Insert a$

a$ = Files$()

Wend

StartOfDocument : Bold 1

Insert currdir$ + " contains" + Str$(count) + " files."

在 Macintosh 上，可以用一个类似的示例，通过修改设置 Currdir$ 变量的指令，并指定一个署名而非".DOC"作为文件命名符，在当前文件夹中创建一个 Word 文档列表。把前面示例中的前两个 Files$() 指令替换为以下指令：

currdir$ = Files$(":")

a$ = Files$(MacID$("W6BN"))


While...Wend

示例

While Condition
Series of instructions
Wend

当指定的条件为“真”时，重复 While 和 Wend 之间的一系列指令。While...Wend 这种控制结构在 WordBasic 中，常常用于每当在一个 Word 文档中，发现一个文本段落或一种格式时，即重复执行一次系列指令。关于While...Wend 这种用法的一个示例，请参阅 EditFind 示例.。

_____________

请参阅

分支与控制语句和函数

For...Next

Goto

If...Then...Else

Select Case


Window()

Window()

返回一个数字。该数字对应活动窗口在 “窗口”菜单列表中的位置。这里1对应第一个位置，2 对应第二个位置，依此类推。如果没有打开的窗口，Window()返回 0（零）。Word 按字母顺序在 “窗口”菜单中上列出各窗口名。

_____________

请参阅

Windows 语句和函数

WindowList

WindowName$()

WindowNumber

WindowPane()


WindowList 示例

本示例激活第一个窗口，它包含文档 TEST.DOC 。InStr() 函数在窗口名里寻找字符串“TEST.DOC”。这样的窗口名中可能包含诸如“(Read-Only)”之类的附加文本（如果该文档是只读文档）；或者“2”字样（如果该文档在不止在一个窗口中打开）。

numwin = CountWindows()

If numwin <> 0 Then

i = 1

While i <= numwin And leave <> 1

winname$ = WindowName$(i)

If InStr(winname$, "TEST.DOC") Then leave = 1

If leave <> 1 Then i = i + 1

Wend

End If

If InStr(winname$, "TEST.DOC") Then

WindowList i

Else

MsgBox "There is no window containing TEST.DOC."

End If


WindowList

示例

WindowList Number

激活列在“窗口”菜单中的一个窗口。指令WindowList 1 激活该列表中的第一个窗口，WindowList 2 激活第二个窗口，依此类推，直到打开窗口的总数目。如果没有窗口列出，或者 Number 大于打开窗口总数，则发生错误。

_____________

请参阅

Windows 语句和函数

CountWindows()

Window()

WindowName$()

WindowNumber

WindowPane()


WindowName$()

WindowName$(Number)

返回打开窗口的标题，该窗口列于“窗口”菜单中 Number 指定的位置。这里1对应第一个位置，2对应第二个位置，依此类推。如果 Number为0（零） 或者省略，WindowName$() 返回活动文档的标题。

关于示例，请参阅 WindowList.。

_____________

请参阅

Windows 语句和函数

CountWindows()

Window()

WindowList

WindowNumber

WindowPane()


WinToDOS$() 示例

本示例打开一个由基于Windows的应用程序创建的顺序文件，把每行转化为 OME 字符集，并把结果放到在一个新的顺序文件中。

ChDir "C:\TMP"

Open "WINDOWS.TXT" For Input As #1

Open "DOS.TXT" For Output As #2

While Not Eof(1)

Line Input #1, temp$

Print #2, WinToDOS$(temp$)

Wend

Close


WinToDOS$()

示例

WinToDOS$(StringToTranslate$)

在 Window 中，把一个字符串由 Windows 字符集转换为OEM字符集。在 Macintosh 上，WinToDOS$() 不做转换，并不加任何修改地返回指定字符串。

OEM 字符集通常为MS-DOS 应用程序所采用。OEM 字符集和 Windows 字符集的32到127的字符通常是相同的。OME 字符集中其它字符（0到31和128到255）一般与 Windows 字符不同。

_____________

请参阅

环境语句和函数

DOSToWin$()


WordLeft, WordLeft()

WordLeft [Count,] [Select]

WordLeft([Count,] [Select])

WordLeft 语句把插入点或者选定部分的插入点（在按 CTRL+SHIFT+左箭头键(Windows)或者 COMMAND+SHIFT+左箭头键(Macintosh)时，该插入点将移动）左移指定数目单词。

参数	注释
Count	移动单词数。如果小于1或者省略，则假定为1。
Select	指定是否选择文本： 0 或者省略   不选择文本。如果已存在一个选择区，WordLeft 将把插入点移到选定文本左边 Count1 指定个数的单词处。 非0 选定文本。如果已存在一个选择区，WordLeft 将把该选择区的活动结尾移到文档起始点。 在一个典型的从左到右建立的选择区中，其活动结尾靠近文档的结尾，WordLeft 收缩此选择区； 在一个从右到左建立的选择区中，它扩展此选择区。
注意，Word 把一个单词后面的空格也视为该单词的一部分。但把标点符号、制表符、和段落标记视作一个“单词”。例如，如果一个单词括在引号中，要用 WordLeft把插入点从关引号后面移动到开引号前面，需用指令 Wordleft 3。

WordLeft() 函数和语句作用相同，并且都返回以下值。

返回值	注释
0	插入点或者选定部分不能左移。
-1	插入点或者选定部分左移任意个单词，即使少于 Count。例如，WordLeft(10)返回-1，即使插入点距文档起始点仅三个单词。
_____________

请参阅

移动插入点和选定内容语句和函数

CharLeft

SelectCurWord

SentLeft

WordRight


WordRight 示例

本示例统计选定部分的单词数目（包括标点符号，制表符和段落标记），把结果显示在一个消息框里。

EditBookmark "CountMe", .Add

SelType 1

While CmpBookmarks("\Sel", "CountMe") = 6 \

Or CmpBookmarks("\Sel", "CountMe") = 8

WordRight

count = count + 1

Wend

EditGoTo "CountMe"

EditBookmark "CountMe", .Delete

MsgBox "There are" + Str$(count) + " words in the selection."


WordRight, WordRight()

示例

WordRight [Count,] [Select]

WordRight([Count,] [Select])

WordRight 语句把插入点或者选定文本（即按 CTAL+SHIFT++右箭头键(Windows)或者 COMMAND+SHIFT+右箭头键(Macintosh)时，该结尾将移动）右移指定数目单词。

参数	注释
Count	移动单词数；如果小于1或者省略，则假定为1。
Select	指定是否选择文本： 0 或者省略  不选择文本。如果已存在一个选择区，WordLeft 将把插入点移到选定文本右边 Count1 指定个数的单词处。 非0 选定文本。如果已存在一个选择区，WordLeft 将把该选择区的扩大到文档末尾处。 在一个典型的从左到右建立的选择区中，其活动结尾靠近文档的结尾，WordLeft 扩充此选择区； 在一个从右到左建立的选择区中，它收缩此选择区。
注意，Word 把一个单词后面的空格也视为该单词的一部分。但把标点符号，制表符和段落标记视为一个“单词”。

WordRight() 函数和语句作用相同，并且都返回以下值。

返回值	注释
0 （零）	如果插入点或者选定部分的活动终点不能右移。
-1	如果插入点或者选定部分的活动终点右移任意个单词，即使少于 Count。例如，WordRight(10)返回 -1，即使插入点距文档结尾仅三个单词。
_____________

请参阅

移动插入点和选定内容语句和函数

CharRight

SelectCurWord

SentRight

WordLeft


Write 示例

本示例为输出打开一个顺序文件（如果还不存在则创建一个）用于输出，提示用户键入三条数据，然后使用 Write 语句将这些数据写入该顺序文件：

Open "DATAFILE.TXT" For Output As #1

name$ = InputBox$("Enter name:")

age = Val(InputBox$("Enter age:"))

job$ = InputBox$("Enter occupation:")

Write #1, name$, age, job$

Close #1

以下示例是用 Write 语句向 DATAFILE.TXT 中插入的一个段落。

"Michelle Levine", 26,"Dancer"


Write

示例

Write #FileNumber, Expression1[$] [, Expression2[$]] [, ...]

把指定的表达式写入一个打开的顺序文件。FileNumber 是在Open 指令中指定的数字。该指令打开文件用以输出或追加。有关顺序文件的详细内容，请参阅 The Microsoft Word Developer's Kit.第九章"More WordBasic Techniques"。

Write 与 Print 语句类似，但 Write 不用制表符而是用逗号分隔表达式。Write 也将字符串括在引号中。这样就允许 Read 指令读取结果值。有关 Print 语句和 Write 语句的输出示例，请参阅 Print.。

_____________

请参阅

文件输入/输出的基本语句和函数

Close

Eof()

Input

Input$()

Line Input

Lof()

Open

Print

Read

Seek


AOCEAddRecipient

AOCEAddRecipient Recipient$ [, AddressType] [, MailSlot$]

将指定的接收者地址加到连在活动文档上的邮件管理器中去。 AOCEAddRecipient 只有在 Macintosh 中且安装了“PewerTack”才能使用。

参数	说明
Recipient$	接收者的地址。
AddressType	指定要加入接收者的列表： 13或省略“To”列表 14       “Cc”列表 15       “Bcc”列表（接收者的名字即不在“to”列表也不在“cc”列表中出现）
MailSlot$	指定用户接收文档的方式（例如“AppleTack”或“Fax”）。
_____________

请参阅

电子邮件和传送语句和函数

AOCECountRecipients()

AOCEGetRecipient$()

FileAOCEAddMailer


AOCEAuthenticateUser()

AOCEAuthenticateUser([AllowPrompt])

如果用户已登录到“powerTack”中则返回 -1，否则返回 0（零）。这个函数工作时不需要在活动文档中连上一个邮件管理器。 AOCEAuthenticateUser() 只有在 Macintosh 中并且安装了“PowerTack”时才能使用。

参数	说明
AllowPrompt	如果用户还没有登录到 PowerTack 中，指定是否要显示一个对话框来提示用户键入一个存取码使键链解锁： 0（零）  不显示对话框 1         显示对话框
_____________

请参阅

电子邮件和传送语句和函数

AOCEGetSender$()


AOCEClearMailerField

AOCEClearMailerField FieldNumber

清除在连入在活动文档上的邮件管理器中的指定域。 AOCEClearMailerField 只有在 Macintosh 上且安装了 PowerTack 时才可使用。

参数	说明
FieldNumber	想清除的邮件管理器中的域： 20  “Recipient”域 22  “Subject”域 26  “Enclosures”域 “From”域不能被清除
_____________

请参阅

电子邮件和传送语句和函数

FileAOCEDeleteMailer


AOCECountRecipients()

AOCECountRecipients(AddressType)

返回连在活动文档上的邮件管理器中接收者的数目 AOCECountRecipients() 只有在 Macintosh 上且安装了 PowerTack 才能使用。

参数	说明
AddressType	要计数的接收者的类型： 0（零）所有接收者 13       “To”接收者 14       “Cc”接收者 15       “Bcc”接收者
_____________

请参阅

电子邮件和传送语句和函数

AOCEAddRecipient

AOCEGetRecipient$()


AOCEGetSender$()

AOCEGetSender$()

从连在活动文档上邮件管理器的“From”域中返回地址， AOCEGetSender$() 只有在 Macintosh 上且安装了 PowerTack 才能使用。

_____________

请参阅

电子邮件和传送语句和函数

AOCEAuthenticateUser()

AOCEGetRecipient$()

AOCEGetSubject$()


AOCEGetSubject$()

AOCEGetSubject$()

返回连在活动文档上的邮件管理器的“Subject”域中的文本， AOCEGetSubject$() 只有在 Macintosh 上且安装了 PowerTack 才能使用。

_____________

请参阅

电子邮件和传送语句和函数

AOCEGetRecipient$()

AOCEGetSender$()

AOCESetSubject


AOCEGetRecipient$()

AOCEGetRecipient$(RecipientNumber [, AddressType])

返回指定接收者的地址， AOCEGetRecipient$() 只有在 Macintosh 上且安装了 PowerTack 才能使用。

参数	说明
RecipientNumber	在 1 和 AOCECountRecipients 之间的一个数指定了想要返回地址的接收者。
AddressType	指定了想从哪个列表中返回地址。 13或省略“To”列表 14       “Cc”列表 15       “Bcc”列表
_____________

请参阅

电子邮件和传送语句和函数

AOCEAddRecipient

AOCECountRecipients()

AOCEGetSender$()

AOCEGetSubject$()


AOCESendMail

AOCESendMail [SignLetter] [, Priority] [, SendAppleMail] [, SendImage] [, SendWordDoc] [, Format$]

将活动文档发送到连接邮件管理器所指定的接收者中。 AOCESendMail 只有在 Macintosh 中并且安装了“PowerTack”时才能使用。

参数	说明
SignLetter	如果是1，提示发送者选择一个签名文件。
Priority	设置一个优先级。 1  普通 2  低 3  高
Format$	如果 SendWordDoc 是1，则为格式的名字，与“另存为”对话框（“文件”菜单）中“文件类型”下所列的一致，缺省格式是“Word 文档”。
可以指定一种或几种下列格式。

参数	说明
SendAppleMail	如果是1，接收者可以用标准交换格式或“AppleMail”格式打开信件。
SendImage	如果是1，接收者可以用图像或“Snapshot”格式打开信件。
SendWordDoc	如果是1，接收者可以用 Format$ 指定的文件格式打开信件。
_____________

请参阅

电子邮件和传送语句和函数

FileAOCEForwardMail

FileAOCESendMail

FileSendMail


AOCESetSubject

AOCESetSubject Subject$

在与活动文档相连为邮件管理器的“Subject”域中插入指定的文本，AOCESetSubject 只有在 Macintosh 中并且安装了“PowerTack”时才能使用。

_____________

请参阅

电子邮件和传送语句和函数

AOCEGetSubject$()


AppActivate 示例

本 Windows 例子中，若“文件管理器”在运行，就激活它，如果不在运行，就启动“文件管理器”。

If AppIsRunning("File Manager") Then

AppActivate "File Manager"

Else

Shell "WINFILE.EXE"

End If

在 Macintosh 中，若 Microsoft Excel 在运行，就激活它，如果不在运行，就启动 Microsoft Excel 。

If AppIsRunning(MacID$("XCEL") Then

AppActivate MacID$("XCEL")

Else

Shell MacID$("XCEL")

End If

注意这个 Macintosh 例子可以简化成，ShellMacID$(“XCEL”)因为与 Windows 中不同，Macintosh 中的 Shell 命令在应用已经运行时不会启动第二个实例。


DlgLoadValues, DlgLoadValues()

示例

DlgLoadValues ValuesFile$, Identifier$

DlgLoadValues(ValuesFile$, Identifier$)

在 Macintosh 中， DlgLoadValues 语句为一个自定义对话框中的控制调用 DlgStoreValues 存放的值。

参数	说明
ValuesFile$	存放值的文件名， ValuesFile$ 可以包含路径，如果不包含路径，Word 就在“首选项”文件夹中导找 ValuesFile$ 如果 ValuesFile$不存在，就传给对话框空字符串和空值，但不出错。
Identifier$	标注了存放值集合的字符串（在用 DlgStoreValues  保存值时使用相同的字符串）。
DlgLoadValues() 函数的动作与语句相同，且返回下列值。

值	说明
0（零）	ValuesFile$ 或 Identifier$ 不存在，或者有保存起来的值不能调入（如果自从上次保存值之后，对话定义曾经更改过，则这种情况可能发生）。
-1	值被成功地调入。
在 Windows 中， DlgLoadValues DlgLoadValues() 不能使用，会产生错误。

_____________

请参阅

对话框定义和控制语句和函数

DlgStoreValues


DlgStoreValues

DlgStoreValues ValuesFile$, Identifier$

在 Macintosh 中，为自定义对话框中的控制保存字符串或数字值，使它们能在以后用 DlgLoadValues. 调回，如果建立了一个复杂向导，则在保存和调回用户输入值时，用 DlgStoreValues 和DlgLoadValues 来代替SetPrivateProfileString 和 GetPrivateProfileString$()  可以显著提高性能。

参数	说明
ValuesFile$	存放值的文件名， ValuesFile$ 可以包含路径，如果没有指定路径，Word 在“首选项”中导找 ValuesFile$。如果 ValuesFile$ 值不存在，则将空字符串和零值传给对话框但并不出错。
Identifier$	一个字符串，标识了存放值的集合（在用 DlgLoadValues 调回值时，也使用这个字符串）。 注意，虽然可以在同一文件中为不同对话框保存多组值，但为了将来交叉平台的兼容性，建议对每个对话框使用一个值文件。
下列规则决定 Word 存放哪个值。

下列项目的值缺省存放：复选框，选项组，文本框，列表框，下拉列表框和组合框。其余所有项目的值不是缺省存放的。

通过给项目一个以 0（零）结尾的字符串标识符，可以把大多数单个项目的缺省动作反过来，例如，可以保存一个“文本”控制（如向导中的一个小技巧）的值或不保存一个复选框的值，注意 Item0 和 .Item000 是以 0（零）结尾标识将的例子，但 .Item100 不是。

不能存放图片，文件预览，选项按钮和按钮控制的值。

在 Windows 中 DlgStoreValues 不能用，会产生错误。

例子请参阅DlgLoadValues 示例。

_____________

请参阅

对话框定义和控制语句和函数

DlgLoadValues


EditCopyAsPicture

EditCopyAsPicture

在 Macintosh 中，将选定文本或对象作品图片复制到剪贴板中。在 Windows 中 EditCopyAsPicture 不能使用，会发生错误。

_____________

请参阅

编辑语句和函数

EditCopy

EditPasteSpecial


EditCreatePublisher

EditCreatePublisher .FileName = text [, .Text = number] [, .Rtf = number] [, .Pict = number]

在 Macintosh 中，在一个版本中出版选定文本，这个版本可在其余文档中订阅。 EditCreatePublisher 语句的参数对应于“出版者”对话框（“编辑”菜单中“出版”命令）中的选项。在 Windows 中 EditCreatePublisher 不能用，会产生一个错误。

参数	说明
.FileName	新版本的路径和文件名。
.Text	如为 1，允许出版者输出纯文本格式。
.Rtf	若为 1，允许出版者输出超文本格式(RTF)。
.Pict	若为1，允许出版者输出图片格式(PICT)。
_____________

请参阅

对象连接和嵌入语句和函数

EditLinks

EditPasteSpecial

EditPublishOptions

EditSubscribeOptions

EditSubscribeTo


EditFindBorder

EditFindBorder [.ApplyTo = number] [, .Shadow = number] [, .TopBorder = number] [, .LeftBorder = number] [, .BottomBorder = number] [, .RightBorder = number] [, .HorizBorder = number] [, .VertBorder = number] [, .TopColor = number] [, .LeftColor = number] [, .BottomColor = number] [, .RightColor = number] [, .HorizColor = number] [, .VertColor = number] [, .FineShading = number] [, .FromText = number or text] [, .Shading = number] [, .Foreground = number] [, .Background = number] [, .Tab = number]

在 Macintosh 中，在随后带有， Format 设为 1的 EditFind 和 EditReplace 语句时指定了应用于想要查找的文本的边框和底纹，请参阅 FormatBordersAndShading.，在 Windows  中 EditFindBorder 不能用，会产生错误。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindClearFormatting

EditFindFrame

EditFindLang

EditFindPara

EditFindStyle

EditFindTabs

EditReplace

EditReplaceBorder

FormatBordersAndShading


EditFindFrame

EditFindFrame [.Wrap = number] [, .WidthRule = number] [, .FixedWidth = number or text] [, .HeightRule = number] [, .FixedHeight = number or text] [, .PositionHorz = number or text] [, .PositionHorzRel = number] [, .DistFromText = number or text] [, .PositionVert = number or text] [, .PositionVertRel = number] [, .DistVertFromText = number or text] [, .MoveWithText = number] [, .LockAnchor = number]

在 Macintosh 中，在随后有 Format 设为 1的 EditFind 和 EditReplace 指令时，指定所要查找的文本的图文框。有关参数的内容，请参阅 FormatFrame.。在 Windows 中 EditFindFrame 不能用，会产生一个错误。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindFont

EditFindLang

EditFindPara

EditFindStyle

EditFindTabs

EditReplaceFrame

FormatFrame


EditFindTabs

EditFindTabs [.Position = text] [, .Align = number] [, .Leader = number]

在 Macintosh 中，在各面很有 Format 设为1的 EditFind 和 EditReplace 指令时，指定了所要查找的文本的制表符设置，有关参数描述，请参阅 FormatTabs.。在Windows 中，EditFindTabs 不能使用，会产生一个错误。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditFindClearFormatting

EditFindFrame

EditFindLang

EditFindPara

EditFindStyle

EditReplace

EditReplaceTabs

FormatTabs


EditPublishOptions

EditPublishOptions [.SendManually = number] [, .SendEditionNow = number] [, .SendEditionWhenEdited = number] [, .Delete] [, .Text = number] [, .Rtf = number] [, .Pict = number]

在 Macintosh 中，为选定出版者设置选项。EditPublishOptions 语句的参数对应于“出版者选项”对话框（“编辑”菜单中“出版”命令）中选项，在 Windows 中 EditPublishOptions 不能使用，会产生一个错误。

参数	说明
.SendManually	指定版本的更新方式： 0（零）或省略      随时保存（无论何时对出版者有所改动，版本就更新）。 1       手工（只有在需要时才更新版本）。
.SendEditionNow	若为1，立即更新版本中对出版者的改动。
.SendEditionWhenEdited	若为1，无论何时出版者有所改动，就更新版本； SendManually 必须为0（零）。
.Delete	取消出版者。
.Text	若为1，允许出版者输出纯文本格式。
.Rtf	若为1，允许出版者输出超文本格式(RTF)。
.Pict	若为1，允许出版者输出图片格式(PKT)。
_____________

请参阅

对象连接和嵌入语句和函数

EditCreatePublisher

EditLinks

EditSubscribeOptions

EditSubscribeTo


EditReplaceBorder

EditReplaceBorder [.ApplyTo = number] [, .Shadow = number] [, .TopBorder = number] [, .LeftBorder = number] [, .BottomBorder = number] [, .RightBorder = number] [, .HorizBorder = number] [, .VertBorder = number] [, .TopColor = number] [, .LeftColor = number] [, .BottomColor = number] [, .RightColor = number] [, .HorizColor = number] [, .VertColor = number] [, .FineShading = number] [, .FromText = number or text] [, .Shading = number] [, .Foreground = number] [, .Background = number] [, .Tab = number]

在 Macintosh 上，当跟随 Format 参数设定为 1的 EditReplace 指令之后时，指定替换文本的边框和底纹格式。有关参数的描述请参阅 FormatBordersAndShading.。在 Windows 里，EditReplaceBorder 指令不适用，并将产生错误。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindBorder

EditReplace

EditReplaceClearFormatting

EditReplaceFrame

EditReplaceLang

EditReplacePara

EditReplaceStyle

EditReplaceTabs

FormatBordersAndShading


EditReplaceFrame

EditReplaceFrame [.Wrap = number] [, .WidthRule = number] [, .FixedWidth = number or text] [, .HeightRule = number] [, .FixedHeight = number or text] [, .PositionHorz = number or text] [, .PositionHorzRel = number] [, .DistFromText = number or text] [, .PositionVert = number or text] [, .PositionVertRel = number] [, .DistVertFromText = number or text] [, .MoveWithText = number] [, .LockAnchor = number]

在 Macintosh 上，当跟随 Format 参数设定为 1的 EditFind 或 EditReplace 指令之后时，指定替换文本的图文框格式。有关参数的描述请参阅 FormatFrame.。在 Windows 里，EditReplaceBorder 指令不适用，并将产生错误。

_____________

请参阅

查找和替换语句和函数

EditFindFrame

EditReplace

EditReplaceBorder

EditReplaceFont

EditReplaceLang

EditReplacePara

EditReplaceStyle

EditReplaceTabs

FormatFrame


EditReplaceTabs

EditReplaceTabs [.Position = text] [, .Align = number] [, .Leader = number]

在 Macintosh 上，当跟随 Format 参数设定为 1的 EditReplace 指令之后时，指定替换文本的制表符设置。有关参数的描述请参阅FormatTabs.。在 Windows 里，EditReplaceTabs 指令不适用，并将产生错误。

_____________

请参阅

查找和替换语句和函数

EditFindTabs

EditReplace

EditReplaceBorder

EditReplaceClearFormatting

EditReplaceFrame

EditReplaceLang

EditReplacePara

EditReplaceStyle

FormatTabs


EditSubscribeOptions

EditSubscribeOptions [.GetManually = number] [, .GetEditionNow = number] [, .Format = number] [, .KeepFormatting = number]

在 Macintosh 上，设置选定订阅者的选项。EditSubscribeOptions 语句的参数相应于“订阅者选项”对话框（“编辑”菜单，“出版”命令）里的选项。在 Windows 里，EditSubscribeOptions 语句不适用，并将产生错误。

参数	解释
.GetManually	指定更新订阅者的方式： 0（零）或省略    自动（每次对版本进行更改后订阅者都将更新） 1   手动（订阅者按要求进行更新）
.GetEditionNow	如果为1，将立即按当前版本所作的更改对订阅者进行更新。
.Format	指定该版本订阅者的格式： 0（零）或省略  最佳 1   格式文本(RTF) 2   非格式文本 3   图片
.KeepFormatting	如果为1，将保留在订阅者里所进行的格式更改。
_____________

请参阅

对象连接和嵌入语句和函数

EditCreatePublisher

EditLinks

EditPublishOptions

EditSubscribeTo


EditSubscribeTo

EditSubscribeTo .FileName = text [, .Format = number] [, .GetManually = number]

在 Macintosh 上，订阅出版的版本。在 Windows 里，EditSubscribeTo 指令不适用，并将产生错误。

参数	解释
.FileName	版本的路径和文件名。
.Format	指定该版本的订阅格式： 0（零）或省略  最佳 1   格式文本(RTF) 2   非格式文本 3   图片
.GetManually	指定更新订阅者的方式： 0（零）或省略    自动（每次对版本进行更改后订阅者都将更新） 1   手动（版本按要求进行更新）
_____________

请参阅

对象连接和嵌入语句和函数

EditCreatePublisher

EditLinks

EditPasteSpecial

EditPublishOptions

EditSubscribeOptions


FileAOCEAddMailer

FileAOCEAddMailer

向活动文档添加邮件，FileAOCEAddMailer 只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

AOCEAddRecipient

AOCESetSubject

FileAOCEDeleteMailer

FileAOCEExpandMailer


FileAOCEDeleteMailer

FileAOCEDeleteMailer

从活动文档中删除邮件。FileAOCEDeleteMailer 只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

AOCEClearMailerField

FileAOCEAddMailer

FileAOCEExpandMailer


FileAOCEExpandMailer

FileAOCEExpandMailer

对附加在活动文档上邮件的显示方式，在整个邮件和只显示发送者及主题的条形图之间进行切换。FileAOCEExpander 指令只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

FileAOCEAddMailer

FileAOCEDeleteMailer


FileAOCEForwardMail

FileAOCEForwardMail

在活动字母前添加邮件。主题文字复制到新邮件里，并附加词头“Fwd>”FileAOCEForwardMail 指令只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

AOCESendMail

FileAOCEReplyMail

FileAOCESendMail


FileAOCENextLetter

FileAOCENextLetter

打开在“纸盒里”里的下一个有效字母，如果不再有字母打开，将出现信息。FileAOCENextLetter 指令只在 Macintosh 上并已安装了 PowerTalk 后才适用。


FileAOCEReplyAllMail

FileAOCEReplyAllMail

添加回答活动字母的邮件，并指定源字母的发送者和所有接收者作为接收者。主题文字从源字母中复制，并附加词头“Re>”.FileAOCEReplyAllMail 指令只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

FileAOCEReplyMail


FileAOCEReplyMail

FileAOCEReplyMail

添加回答活动字母的邮件，并指定源字母的发送者作为接收者。主题文字从源字母中复制，并附加词头“Re>”.FileAOCEReplyMail 指令只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

FileAOCEForwardMail

FileAOCEReplyAllMail


FileAOCESendMail

FileAOCESendMail

显示对话框，在里面可以为将活动文档传送给由选用指定的接收者而设置选项。使用AOCESandMail 指令可以不显示对话框而设置选项并传送文档。FileAOCESandMail 指令只在 Macintosh 上并已安装了 PowerTalk 后才适用。

_____________

请参阅

电子邮件和传送语句和函数

AOCESendMail

FileAOCEForwardMail


FileCreator$() 示例

本 Macintosh 示例将在打开由 Openme$ 变量指定的文件前检查创建器。如果应用程序署名不是“MSWO”将显示信息。

openme$ = "HD:GAMES:GAME RULES"

If FileCreator$(openme$) <> "MSWD" Then

ans = MsgBox(openme$ + " was not created by Microsoft Word. " + \

"Open anyway?", 4)

If ans = 0 Then endmacro = -1

End If

If Not endmacro Then FileOpen .Name = openme$


FileCreator$()

示例

FileCreator$(File$)

在 Macintosh 上，返回创建 File$ 路径和文件名的应用程序的四个字符的应用程序署名。在 Windows 里，FileCreator$() 不适用，并将产生错误。

_____________

请参阅

动态数据交换(DDE)语句和函数

FileType$()

MacID$()

SetFileCreatorAndType


FileDocumentLayout

FileDocumentLayout [.Tab = number] [, .TopMargin = number or text] [, .BottomMargin = number or text] [, .LeftMargin = number or text] [, .RightMargin = number or text] [, .Gutter = number or text] [, .PageWidth = number or text] [, .PageHeight = number or text] [, .Orientation = number] [, .FirstPage = number] [, .OtherPages = number] [, .VertAlign = number] [, .ApplyPropsTo = number] [, .Default] [, .FacingPages = number] [, .HeaderDistance = number or text] [, .FooterDistance = number or text] [, .SectionStart = number] [, .OddAndEvenPages = number] [, .DifferentFirstPage = number] [, .Endnotes = number] [, .LineNum = number] [, .StartingNum = number] [, .FromText = number or text] [, .CountBy = number] [, .NumMode = number]

在 Macintosh 上，为整个文档或其中某些节设置诸如页边距和页宽之类的属性。除了. Tab 参数外，FiledocumentLagout 指令的参数都与 FilePageSetup.里所描述的参数相同。在 Windows 里，使用FilePageSetup 指令。

参数	解释
.Tab	指定在用 Dialog 或 Dialog()指令显示“文档版面”对话框时所选的制表符： 0（零） 页边距。 1   如果安装了 QuickDrawGX，纸张大小如果没安装，页边距。 2   页边距。 3   版面。
在使用 FiledocumentLagout 指令时记住以下几点：

页面大小和方向的设置不屏蔽用户在“页面设置”对话框（由打印机驱动器提供）里所进行的设置。有关的详细内容，请参阅 FileMacPageSetup.里的注释。

Word 不进入 Macintosh 纸张源设置。尽管对 FirstPage 和 OtherPages 的设定与文档一起保存，在打印时将忽略它们。但如果在 Windows 里打印文档，选项将产生影响。

_____________

请参阅

文档，模板和加载项语句和函数

FileMacCustomPageSetupGX

FileMacPageSetup

FileMacPageSetupGX

FilePageSetup

FormatColumns


FileMacCustomPageSetupGX

FileMacCustomPageSetupGX [.PageWidth = number or text] [, .PageHeight = number or text] [, .Orientation = number] [, .ApplyPropsTo = number]

在安装有 QuickDrawGX 的 Macintosh 上，设定整个文档或其中某些节的面宽。页高和页面方向，有关参数的描述，请参阅 FilePageSetup 。

在 Windows 里和未装有 QuickDrawGX 的 Macintosh 上，FileMacCustomPageSetupGX 指令不适用，并将产生错误。

_____________

请参阅

文档，模板和加载项语句和函数

FileDocumentLayout

FileMacPageSetup

FileMacPageSetupGX

FilePageSetup


FileMacPageSetup

FileMacPageSetup [.PageWidth = number or text] [, .PageHeight = number or text] [, .Orientation = number] [, .ApplyPropsTo = number] [, .Default]

在 Macintosh 上，设定整个文档或其中某些节的面宽。页高和页面方向，有关参数的描述，请参阅 FilePageSetup 如果安装了 QuickDrawGX，FileMacPageSetup 指令将产生错误；可以用 FileMacPageSetupGX 或 FileMacCustomPageSetupGX 指令来代替。

注释

用 FileMacPageSetup 指令更改页面大小等同于在“自定义纸张大小”对话框（“文件”菜单，“页面设置”命令）里设置自定义纸张大小。在这两种情况下，自定义设置都将屏蔽“页面设置”对话框里其他的页面大小设置。

_____________

请参阅

文档，模板和加载项语句和函数

FileDocumentLayout

FileMacCustomPageSetupGX

FileMacPageSetupGX

FilePageSetup


FileMacPageSetupGX

FileMacPageSetupGX [.PageWidth = number or text] [, .PageHeight = number or text] [, .Orientation = number]

在安装有 QuickDrawGX 的 Macintosh 上，设定默认页面设置的页宽，页高和页面方向。注意只有以默认页面格式的节才会被更改；用 FileDocumentLagout 和 FileMacCustomPageSetupGX 指令对页面格式进行更改的节则保持不变，有关参数的描述，请参阅 FilePageSetup 。

在 Windows 里和未装有 QuickDrawGX 的 Macintosh 上，FileMacCustomPageSetupGX 指令不适用，并将产生错误。

_____________

请参阅

文档，模板和加载项语句和函数

FileDocumentLayout

FileMacCustomPageSetupGX

FileMacPageSetup

FilePageSetup


FilePrintOneCopy

FilePrintOneCopy

在 Macintosh 上打印活动文档的单份复制。此语句相当于安装 QuickDrawGX 后添加到“文件”菜单上的“打印单份复制”命令。在 Windows 里和未安装 QuickDrawGX 的 Macintosh 上，FilePrintOneCopy 语句不适用，并将产生错误。

_____________

请参阅

文档，模板和加载项语句和函数

FilePrint

FilePrintDefault


FileQuit

FileQuit [Save]

退出 Word 。 FileQuit (Macintosh) 语句等同于 FileExit (Windows) 。有关 Save 参数的信息。请参阅 FileExit 语句。

_____________

请参阅

应用程序控制语句和函数

AppClose

ExitWindows

FileCloseAll

FileExit


FileType$() 示例

本 Macintosh 示例显示信息框，表明所指定文件的文件类型。

checkfile$ = "HD:WORK:TO DO LIST"

ftype$ = FileType$(checkfile$)

Select Case ftype$

Case "W6BN" : a$ = "a Word document"

Case "WDBN" : a$ = "a Word 5.1 document"

Case "WTBN" : a$ = "a Word template"

Case "TEXT" : a$ = "a text file"

Case "XLS5" : a$ = "a Microsoft Excel worksheet"

Case "APPL" : a$ = "an application"

Case "WDLL" : a$ = "a Word add-in library"

Case "WIZ!" : a$ = "a wizard"

Case Else : a$ = ""

End Select

If a$ <> "" Then

MsgBox checkfile$ + " is " + a$ + "."

Else

MsgBox checkfile$ + " has file type " + ftype$ + "."

End If


FileType$()

示例

FileType$(File$)

在 Macintosh 上，返回标识 File$ （路径和文件名）文件类型的四个字符组成的字符串。在 Windows 里， FileType$() 指令不适用，并将产生错误。

_____________

请参阅

动态数据交换(DDE)语句和函数

FileCreator$()

MacID$()

SetFileCreatorAndType


ListCommands

ListCommands

创建插有 Word 内部命令列表的新文档，同时显示快捷键和菜单项。在 Windows 里的 Word 6.0C 版， ListCommands 指令不适用，并将产生错误。

_____________

请参阅

自定义语句和函数

CountMacros()

MacroName$()


MacID$() 示例s
MacID$() 示例

本示例使用 MacID$() 指令，AppIsRunning() 和 Shell 判断 Microsoft Excel 是否在运行中，如果未运行，则启动 Microsoft Excel 。

If AppIsRunning(MacID$("XCEL")) = 0 Then Shell MacID$("XCEL")

下列示例使用 MacID$() 指令，FileOpen 显示“打开”对话框并列表当前文件夹里的 Word 模板。

Dim FOdlg as FileOpen

GetCurValues FOdlg

FOdlg.Name = MacID$("WTBN")

choice= Dialog(FOdlg)

If choice = -1 Then FileOpen FOdlg

下列示例使用 MacID$() 指令，Files$() 将当前文件夹里文本文件的列表插到活动窗口里。

textfilename$ = Files$(MacID$("TEXT"))

While textfilename$ <> ""

Insert textfilename$

textfilename$ = Files$()

InsertPara

Wend


MacID$()

示例

MacID$(Identifier$)

在 Macintosh 上，把应用程序署名和文件类型转换为数值，需要应用程序文件名或文件类型的指令（如 AppClose, Files$(), or Shell ）可以使用这些数值结果。在 Windows 里， MacID$() 指令不适用，并将产生错误。

MacID$() 指令提供一种指定应用程序的方法，它可以不指定用户能加以更改的应用程序文件名，下列指令可以用 MacID$() 指令指定应用程序：AppActivate, AppClose, AppCount, AppGetNames, AppGetNames(), AppIsRunning(), Shell, MacID$() 指令可以使用 Files$(), FileOpen和 Kill 指定 Macintosh 文件类型，由于 Macintosh 不支持 MS—DOS 通配符星号(*)和问号(?)，您可以使用文件类型来标识文件组。例如，下列语句将返回当前文件夹的文本文件。

textfile1$ = Files$(MacID$("TEXT"))

注释

不能通过连接路径和 MacID$() 文件类型这种方法来指定某文件夹里的多个文件。例如，下列指令将会导致意外的结果：

textfile1$ = Files$("HD:TEXT FILES:" + MacID$("TEXT"))

正确的做法是：使用 ChDir 指令更改当前文件夹，然后在指令里使用 MacID$()来指定文件类型。

参数	解释
Identifier$	应用程序署名或文件类型。 应用程序署名是唯一标识不同应用程序的四个字符的序列例如，MSWD 是 Word 的应用程序署名；XCEL 是 Microsoft Excel 的应用程序署名。 文件类型是标识文件格式的四个字符的序列。例如，W6BN 是 Macintosh 上 Microsoft Word 6.0 所创建文件的文件类型，而 TEXT 则是文本文件（以及在 Windows 里创建的文件，如 Windows 里的 Word 6.0 文件）的文件类型，可用“****”来指定文件夹里的所有文件。 注意，应用程序署名和文件类型都区分大小写。例如“MSWD”是 Word 的应用程序署名，而“Mswd”则不是。对于给定文件名，可以使用 FileCreator$() 识别创建该文件的应用程序的署名，使用 FileType$()判断它的文件类型。
_____________

请参阅

动态数据交换(DDE)语句和函数

AppActivate

AppClose

AppCount()

AppGetNames

AppIsRunning()

FileCreator$()

FileOpen

Files$()

FileType$()

Kill

SetFileCreatorAndType

Shell


MacScript 示例s
MacScript 示例

下列宏引用称做 CalculateString. 的字体，假设该字体在 Word 文档里取出选定字符串，并传送给 Microsoft Excel ，Microsoft Excel 将试图把它作为方程式进行计算。如果 Microsoft Excel 能计算出该方程，字体就将计算结果作为字符串传回 Word ，Word 就可以用该结果来替换选定内容。

Sub MAIN

result$ = MacScript$("HD:APPLESCRIPT:SCRIPTS:CALCULATESTRING")

If result$ <> "" Then

EditCut

Insert result$

End If

End Sub

有关包含 AppleScript 字体源的扩展 Word 和 Word Basic 的详细内容，请参阅 The Microsoft Word Developer's Kit.里的附录D。


MacScript, MacScript$()

示例

MacScript Script$

MacScript$(Script$)

MacScript 语句运行已有的 AppleScript 字体源，或将指定字串传给默认字体语言进行编译并运行。

参数	解释
Script$	字体文件的路径和文件名，或者是需要进行编译和运行的字串。如果指定字体文件，Word 将装载该文件并运行第一个字体源。
MacScript$() 函数与语句的作用相同，另外还返回对应于指定字体所返回值的字串。如果字体返回数字，数字将转换为字串。如果字体不返回任何值，MacScript$() 将返回空串(“”)。

在 Windows 里，MacScript 语句和 MacScript$() 函数不适用，并将产生错误。

_____________

请参阅

应用程序控制语句和函数

Call

Declare


MicrosoftApplication

MicrosoftApplication

指定的 Microsoft 应用程序尚未运行时，启动该应用程序，已经运行时则切换应用程序。

参数	解释
Application	所希望的应用程序。下列语句可用： Microsoft Access（不适用于 Macintosh ） Microsoft Excel  Microsoft Foxpro  Microsoft Mail Microsoft PowerPoint  Microsoft Project Microsoft Publisher（不适用于Macintosh ） Microsoft Schedule（不适用于Macintosh ） Microsoft Systemlnfo
_____________

请参阅

应用程序控制语句和函数

AppActivate

AppIsRunning()


MountVolume 示例

本示例将共享文件夹作为客户进行连接。

MountVolume "Public", "Tools", "Art Tools"


MountVolume
MountVolume, MountVolume()

示例

MountVolume Zone$, Server$, Volume$ [, User$] [, UserPassword$] [, VolumePassword$]

MountVolume(Zone$, Server$, Volume$ [, User$] [, UserPassword$] [, VolumePassword$])

在 Macintosh 上，MountVolume 语句连接网络共享的磁盘或文件夹。

参数	解释
Zone$	希望连接的计算机所在的工作区。
Server$	计算机名称。
Volume$	共享磁盘或文件夹的名称。
User$	共享计算机所登记的用户名，如果未指定用户名，将作为客户机连接。
UserPassword$	连接指定计算机所需的口令（如果有的话）。
VolumePassword$	进入指定盘或文件夹所需的口令（如果有的话）。
MountVolume() 函数与语句作用相同，另外还返回下列数值之一。

数值	解释
0（零）	指令成功执行，或连接已经存在。
-28	Apple Talk 不适用（例如，您的计算机并未联网）。
-35	未找到指定地点。
-50	指令包含无效参数（例如，缺少工作区名，服务器名或工作站名，或者不认识用户名）。
-58	发生外部文件系统错误。
-108	没有足够内存进行连接。
-5000	拒绝进程。
-5002	用来认证用户的方法是未知的。
-5003	服务器上的Apple TalkFilingProtocol(AFP)不匹配 MountVolume 指令。
-5016	指定服务器无响应。
-5023	用户未得到认证，通常是由于口令错误所导致的。
-5042	需要口令。
-5061	计算机所连接的工作卷已到最大数目。
-5063	所指定服务器与运行指令的计算机相同。
注释

“查找者”不能用别名连接的工作卷，MountVolume 指令也不能连接。

在 Windows 里，MountVolume 语句和 MountVolume() 函数都不适用，并将产生错误，可用 Connect 指令来代替。

_____________

请参阅

磁盘存取和管理语句和函数

Connect


Outline, Outline()

Outline [On]

Outline()

在 Macintosh 上，Outline 语句为当前选定内容添加或删除大纲的字符格式，或者控制要插到插入点处字符的大纲格式。

参数	解释
On	指明是添加还是删除大纲格式： 1   用大纲对选定内容进行格式 0（零）   删除大纲格式 省略   切换大纲格式
Outline() 函数将返回下列数值。

数值	解释
0（零）	如果选定内容里没有用大纲加以格式
-1	如果有部分选定内容用大纲加以格式
1	如果全部选定内容都用大纲加以格式
在 Windows 里，Outline 语句和 Outline() 函数都不适用，并将产生错误。

_____________

请参阅

字符格式语句和函数

FormatFont


PathFromWinPath$()

PathFromWinPath$(Path$)

把由 Path$ 参数指定的 Windows 路径和文件名转换成当前操作系统下的有效路径和文件名。

在 Macintosh 上，驱动器名，文件夹名和文件名都是用冒号(：)而不是后斜线来分隔。在将 Windows 路径转换为有效 Macintosh 路径时，Word 将进行下列操作：

用冒号替代后斜线。

用 Macintosh 驱动器名替代驱动器字符或根目录：“C：”用启动盘名称来替换；“A：”和“B：”分别用第一和第二个软盘驱动器名来替换；“D：”，“E：”，“F：”等等也都用其它的硬盘驱动器名替换。例如，C：\DOCS\STORY.DOC 或\DOCS\STORY.DOC 将变为 HD：DOCS：STORY.DOC。

删除服务器名，例如，\\COMMON\TOOLS\ART 将变成 TOOLS：ART。

用冒号(：)来代替表示相对路径（例如，LETTERS\ALICE.DOC 将变成：LETTERS：ALICE.DOC，而..\LETTERS\ALICE.DOC 将变为：：LETTERS：ALICE.DOC）。

由于所有的 Windows 文件名在 Macintosh 上也都有效；所以 PathFromWinPath$() 指令将不改变文件名本身。

_____________

请参阅

文档，模板和加载项语句和函数

PathFromMacPath$()


SetFileCreatorAndType

SetFileCreatorAndType File$, Creator$ [, Type$]

在 Macintosh 上，为指定文件设定创建者（应用程序署名）和文件类型。

参数	解释
File$	希望设定创建者和类型的文件的路径和文件名。
Creator$	四个字符的应用程序署名（例如，Word 署名为 MSWD），或者是 MacID$() 函数返回的字串。
Type$	指定文件类型的四个字符的字串（例如，Word 文档为 W6BN），或者是 MacID$() 函数返回的字串。
在 Windows 里， SetFileCreatorAndType 指令不适用，并将产生错误。

_____________

请参阅

动态数据交换(DDE)语句和函数

FileCreator$()

FileType$()

MacID$()


Shadow, Shadow()

Shadow [On]

Shadow()

在 Macintosh 上，Shadow 语句为当前选定内容添加或删除底纹字符格式，或者控制要插到插入点处字符的底纹格式。

参数	解释
On	指定是添加还是删除底纹格式： 1   用底纹对选定内容进行格式 0（零）删除底纹格式 省略  切换底纹格式
Shadow() 函数返回下列数值。

数值	解释
0（零）	如果选定内容里没有用底纹加以格式
-1	如果有部分选定内容用底纹加以格式
1	如果全部选定内容都用底纹加以格式
在 Windows 里， Shadow 语句和S hadow()函数都不适用，并将产生错误。

_____________

请参阅

字符格式语句和函数

FormatFont


ShowClipboard

ShowClipboard

在 Macintosh 上，显示“剪贴板”及其内容。在 Windows 里，ShowClipboard 指令不适用，并将产生错误；可以用 ControlRun 语句来显示“剪贴板”。

_____________

请参阅

应用程序控制语句和函数

ControlRun


ToolsAutoCorrectExceptions

ToolsAutoCorrectExceptions [.Tab = number] [, .Name = text] [, .AutoAdd = number] [, .Add] [, .Delete]

向非自动更正项列表中添加单词或删除单词。ToolsAutoCorrectExceptions 语句的参数对应“非自动更正项”对话框（“自动更正”命令，“工具”菜单）中的选项。在 Word 6.0 中，ToolsAutoCorrectExceptions 不能使用，否则将产生错误。

参数	说明
.Tab	添加或者删除哪个选项卡上的非自动更正列表： 0   首字母 1   首字母大写
.Name	要添加或删除的非自动更正项。
.AutoAdd	如果是 1，Word 把所有经自动更正后，用户又把它变回到原始拼写或者大写形式的单词添加到非自动更正列表中。
.Add	把 .Name 添加到由 .Tab 指定的非自动更正列表中。
.Delete	把 .Name 从 .Tab 指定的非自动更正列表中删去。
_____________

请参阅

自动更正语句和函数

CountAutoCorrectExceptions()

GetAutoCorrectException$()

IsAutoCorrectException()


 DocumentHasMisspellings() 示例

本示例打开自动拼写检查，并在活动文档中查找下一个拼写错误的单词。（如果文档未经拼写检查，或者已经全部检查过并且包含错误拼写，则给出错误显示。）找到拼写错误单词的位置，打开包含拼写建议的快捷菜单。

If DocumentHasMisspellings() <> 1 Then

ToolsOptionsSpelling .AutomaticSpellChecking = 1, .HideSpellingErrors = 0

End If

NextMisspelling


DocumentHasMisspellings()

示例

DocumentHasMisspellings()

返回活动文档中自动拼写检查状态的信息。在 Word 6.0 中，DocumentHasMissPellings() 无效，并且会产生一个错误。

DocumentHasMissPellings() 函数返回以下值。

值	说明
-1	自动拼写检查被关闭（除非文档是空的），或者正在进行检查。
0	文档已经全部检查并且不包含拼写错误，或者文档是空的。
1	文档已经全部检查，并且包含一项或多项错误。
_____________

请参阅

校对语句和函数

NextMisspelling

ToolsGetSpelling

ToolsLanguage

ToolsOptionsSpelling


 EditFindHighlight 示例

本示例在文档中查找突出显示文本的全部出现位置，删去突出显示格式，并使该文本成为粗体。

EditFindClearFormatting

EditReplaceClearFormatting

EditFindHighlight

EditReplaceFont .Bold = 1

EditReplaceNotHighlight

EditReplace .Find = "", .Replace = "", .Format = 1, .ReplaceAll


EditFindHighlight

示例

EditFindHighlight

在后跟一个 EditFind 或者 EditReplace 指令，其中，.Format 设置为1时，本语句把要查找的文本指定为突出显示的。Word 查找所有突出显示的文本，不论使用的突出显示颜色是什么。在 Word 6.0 中，EditFindHightLight 不能使用，并且会产生一个错误。

_____________

请参阅

查找和替换语句和函数

EditFind

EditReplaceHighlight

Highlight

HighlightColor

ToolsOptionsRevisions


 GetAutoCorrectException$() 示例

本示例创建数组 exceptions$()，它包含“非自动更正项”对话框（“自动更正”命令，“工具”菜单）“首字母大写”选项卡中列出的全部非自动更正项。

size = CountAutoCorrectExceptions(1) - 1

Dim exceptions$(size)

For count = 0 To size

exceptions$(count) = GetAutoCorrectException$(1, count + 1)

Next

下列示例删除“非自动更正项”对话框（“自动更正”命令，“工具”菜单）“首字母大写”选项卡中列出的全部非自动更正项。

For n = 1 To CountAutoCorrectExceptions(1)

ac$ = GetAutoCorrectException$(1, 1)

ToolsAutoCorrectExceptions .Tab = 1, .Name = ac$, .Delete

Next


GetAutoCorrectException$()

示例

GetAutoCorrectException$(Tab, EntryNumber)

返回“非自动更正项”对话框（“自动更正”命令，“工具”菜单）中指定选项上 .Entry Number 对应的非自动更正项文本。在 Word 6.0 中，GetAutoCorrectException$() 不能使用，并且会产生一个错误。

参数	说明
Tab	Word 从那个选项卡上查找非自动更正项： 0    首字母 1    首字母大写
EntryNumber	非自动更正项的编号，从 1 到 CountAutoCorrectExceptiors() 返回的数字。
_____________

请参阅

自动更正语句和函数

CountAutoCorrectExceptions()

IsAutoCorrectException()

ToolsAutoCorrectExceptions


Highlight

Highlight

突出显示选定的文本。如果选定部分已经突出显示，Highlight 删去突出显示格式。如果未选定文本，Highlight 语句无效。在 Word 6.0 中，Highlight 不能使用，否则会产生一个错误。

使用 Highlight 语句改变选定文本的突出显示颜色，或者使用 ToolsOptionsRevisions 改变默认的突出显示颜色。

_____________

请参阅

字符格式语句和函数

EditFindHighlight

EditReplaceHighlight

HighlightColor

ToolsOptionsRevisions


HighlightColor, HighlightColor()

HighlightColor Color

HighlightColor()

Highlight 语句设置选定文本的突出显示颜色。如果未选定文本。Highlight 语句无效。使用 ToolsOptionsRevisions 语句改变默认的突出显示颜色。

在 Word 6.0 版中，HighlightColor 和 HighlightColor() 不能使用并且产生错误。

参数	说明
Color	突出显示颜色。有关颜色及其值的列表，请参阅CharColor. 。 如果 .Color 设置为 0 ，文本的突出显示格式是透明的。
HighLightColor() 函数返回以下值：

值	说明
-1	选定部分包含的文本突出显示颜色不同。
0	选定部分不包含突出显示格式。
n	指定突出显示颜色的数值。有关颜色及其对应的数值的列表，请参阅CharColor. 。
_____________

请参阅

字符格式语句和函数

EditFindHighlight

EditReplaceHighlight

Highlight

ToolsOptionsRevisions


InsertAddress

InsertAddress

打开默认的个人通讯录的“通讯录”窗口，并在插入点插入选定地址。

InsertAddress 只能在 Windows 95 上使用，并且必须安装 Microsoft Exchange 或者 Schednle+ 2.0 。在 Word 6.0 版中，InsertAddress 不能使用，否则会产生一个错误。

_____________

请参阅

通讯录语句和函数

AddAddress

GetAddress$()

ToolsCreateEnvelope

ToolsCreateLabels


MailMergeUseAddressBook

MailMergeUseAddressBook .AddressBookType = text

选择用作邮件合并数据源的通讯录。

MialMergeUseAddressBook 只能在 Windows 95 下使用，并且必须安装 Microsoft Exchange 或 Schedule+ 2.0。在 Word 6.0 中，MailMergeUsedAddressBook 不能使用，否则会产生一个错误。

参数	说明
.AddressBookType	指定用作数据源的通讯录： scd    Schedule+ Contact  List pab    Microsoft Exchange个人通讯录
_____________

请参阅

邮件合并语句和函数

AddAddress

GetAddress$()


 AddAddress 示例

本示例创建一个带有效 MAPI 通讯录属性及其相应值的二维数组，并向默认的通讯录中添加新地址。

Dim addressText$(6,1)

addressText$(0,0) = "PR_SURNAME"

addressText$(0,1) = "Smith"

addressText$(1,0) = "PR_GIVEN_NAME"

addressText$(1,1) = "Phil"

addressText$(2,0) = "PR_STREET_ADDRESS"

addressText$(2,1) = "12345 55th Avenue #5432"

addressText$(3,0) = "PR_LOCALITY"

addressText$(3,1) = "New York"

addressText$(4,0) = "PR_STATE_OR_PROVINCE"

addressText$(4,1) = "NY"

addressText$(5,0) = "PR_POSTAL_CODE"

addressText$(5,1) = "10023"

addressText$(6,0) = "PR_DISPLAY_NAME"

addressText$(6,1) = "Phil Smith"

AddAddress addressText$()


AddAddress

示例

AddAddress AddressProperties$()

向默认的通讯录中添加一个新地址。AddAddress 只能在 Windows 95 中使用，并且必须安装 Microsoft Exchange 或 Schedule+ 2.0 。在 Word 6.0 中，AddAddress 不能使用，并且会产生一个错误。

参数	说明
AddressProperties$()	一个预定义二维数组，包含要添加的新地址信息。 以下示例示范如何定义该数组： Dim addrprop$(numprops - 1, 1) 其中 numprops 是为该地址指定的属性数目。 每个二维元素的第一维（例如， addrprop$(0, 0)）指定一个有效的属性名称）。第二维（例如 addrprop$(0, 1)）指定该属性的文本值）。 关于 Microsoft Exchange 的个人通讯录中可用属性名称的完整表列，请参阅本主题稍后的属性表。 关于怎样创建一个二维数组，请参阅 Dim 。
以下是一个最常用的通讯录属性表，用于获得或者定义地址信息。这些属性名称对应于 Microsoft Exchange 的“个人通讯录”下的“属性”对话框中的选项。用十六进制标识符也可以表示 Microsoft Exchange 支持的 MAPI 属性或者支持 MAPI 通讯员的任何其他应用程序。

参数	说明
PR_ADDRTYPE	收信人的电子邮件地址类型
PR_BEEPER_TELEPHONE_NUMBER	收信的遥控电话号码
PR_BUSINESS_FAX_NUMBER	收信人的商务电传号码
PR_CAR_TELEPHONE_NUMBER	收信人的汽车电话号码
PR_CELLULAR_TELEPHONE_NUMBER	收信人的蜂窝电话号码
PR_COMMENT	Notes 栏中包括的地址项文本
PR_COMPANY_NAME	收信人的公司名称
PR_COUNTRY	收信人公司中部门名称
PR_DEPARTMENT_NAME	收信人公司中部门地址
PR_DISPLAY_NAME	“通讯录”对话框中显示的名称
PR_EMAIL_ADDRESS	收信人的电子邮件地址
PR_GIVEN_NAME	收信人的指定姓名，或者名
PR_HOME_FAX_NUMBER	收信人的家庭电传号码
PR_HOME_TELEPHONE_NUMBER	收信人家庭电话号码
PR_INITIALS	收信人的缩写
PR_LOCALITY	收信人城市或者地区
PR_LOCATION	收信人位置，按“楼号/房间号” 格式。例如，“16/300”表示 16 号楼 3000 号房间。
PR_OFFICE_LOCATION	收信人办公室地址
PR_OFFICE_TELEPHONE_NUMBER	收信人办公室电话号码
PR_OFFICE2_TELEPHONE_NUMBER	收信人第二办公室电话号码
PR_OTHER_TELEPHONE_NUMBER	收信人的替代电话号码（区别于家庭或者办公室）
PR_POSTAL_CODE	收信人邮政编码
PR_PRIMARY_FAX_NUMBER	收信人原始电传号码
PR_PRIMARY_TELEPHONE_NUMBER	收信人原始电话号码
PR_RADIO_TELEPHONE_NUMBER	收信人无线电话号码
PR_STATE_OR_PROVINCE	收信人所在州或者省
PR_STREET_ADDRESS	收信人街道地址
PR_SURNAME	收信人名或者姓
PR_TITLE	收信人的工作头衔
_____________

请参阅

通讯录语句和函数

GetAddress$()

InsertAddress

ToolsCreateEnvelope

ToolsCreateLabels


NextMisspelling

NextMisspelling

查找下一个拼错的单词。如果自动拼写检查已打开，NextMisspelling 打开包含拼写建议的快捷菜单。示例请参阅DocumentHasMisspellings() 示例.在 Word 6.0 中，NextMisspelling 不能使用，否则会产生一个错误。

_____________

请参阅

校对语句和函数

DocumentHasMisspellings()

ToolsGetSpelling

ToolsLanguage

ToolsOptionsSpelling


ShowMe

ShowMe

当有更多信息时，打开 Word Assistant 对话框或者 Help 窗口。Showme 语句对应于“操作向导”工具栏上的“详细说明”按钮。在 Word 6.0 中，ShowMe 不能使用，并且会产生一个错误。

_____________

请参阅

帮助语句和函数

AutomaticChange

Help


 GetAddress$() 示例

本示例把变量 letterAddress$ 设置为 John Smith 的地址，把插入点移到文档开头，然后插入地址。插入的地址将包含默认的通讯录属性。

letterAddress$ = GetAddress$("John Smith", "", 0, 0)

StartOfDocument

Insert letterAddress$

以下示例插入 John Smith 的地址，使用自动图文集词条“My Address Layout”作为版面定义。“My Address Layout”定义在活动模板中，包含一组分配给 text$ 变量的地址属性。本示例还将 John Smith 的地址添加到最近使用的地址表列中。

text$ = "<PR_GIVEN_NAME> <PR_SURNAME>" + Chr$(13) + \

"<PR_STREET_ADDRESS>" + Chr$(13) + "<PR_LOCALITY>" + \

", " + "<PR_STATE_OR_PROVINCE>" + "  " + "<PR_POSTAL_CODE>" + \

Chr$(13) + "<PR_OFFICE_TELEPHONE_NUMBER>"

SetAutoText "My Address Layout", text$, 1

letterAddress$ = GetAddress$("John Smith", "My Address Layout", 1, , , , , 1)

StartOfDocument

Insert letterAddress$

以下示例在活动文档的两个不同位置插入来自同一个地址的信息，每个位置使用不同的属性设置。在本示例中，第二个 GetAddress$() 指令不显示通讯录的“选择姓名”对话框。

letterAddress$ = GetAddress$("John Smith", \

"<PR_GIVEN_NAME> <PR_SURNAME>" + Chr$(13) + \

"<PR_STREET_ADDRESS>" + Chr$(13) + "<PR_LOCALITY>" + \

", " + "<PR_STATE_OR_PROVINCE>" + "  " + "<PR_POSTAL_CODE>" + \

Chr$(13) + "<PR_OFFICE_TELEPHONE_NUMBER>", 0, 0)

letterGivenName$ = GetAddress$( , "<PR_GIVEN_NAME>", , 2)

StartOfDocument

Insert letterAddress$

InsertPara

Insert "Dear "

Insert letterGivenName$

InsertPara


GetAddress$()

示例

GetAddress$([Name$], [AddressProperties$], [UseAutoText], [DisplaySelectDialog], [SelectDialog], [CheckNamesDialog], [MRUChoice], [UpdateMRU])

返回一个来自默认通讯录的地址。GetAddress$() 只能在 Windows 95 中使用，并且必须安装 Microsoft Exchange 或 Schedule+ 2.0。在 Word 6.0 中，GetAddress $() 不能使用，否则将产生一个错误。

参数	说明
Name$	收信人姓名，与通讯录中“搜索姓名”对话框中指定的一样。
AddressProperties$	如果 UseAutoText 设置为 1， AddressProperties$ 指定的是一个自动图文集词条的名称，该自动图文集词条定义一组通讯录属性。 如果 UseAutoText 设置为 0 或者省略， AddressProperties$ 定义一个自定义版面。有效的通讯录属性名称或者多组属性名称以尖括号（“〈”和“〉”）括住，并且用一个空格或者一个段落分隔符分开。例如("<PR_GIVEN_NAME> <PR_SURNAME>" + Chr$(13) + "<PR_OFFICE_TELEPHONE_NUMBER>".)。 如果 AddressProperties$ 被省略，Word 将搜索默认的自动图文集词条“Addresslayout”。如果“Addresslayout”尚未定义，Word 使用以下地址版面定义： "<PR_GIVEN_NAME> <PR_SURNAME>" + Chr$(13) + "<PR_STREET_ADDRESS>" + Chr$(13) + "<PR_LOCALITY>" + ", " + "<PR_STATE_OR_PROVINCE>" + " " + "<PR_POSTAL_CODE>" + Chr$(13) + "<PR_COUNTRY>".  关于一个有效通讯录属性名称表，请参阅 AddAddress 。。
UseAutoText	指示 AddressProperties$ 指定的值： 0 或者省略   定义通讯录属性的版面 1            指定自动图文集词条名称，自动图文集词条定义通讯录属性的版面。
DisplaySelectDialog	指定是否显示“选择姓名”对话框： 0           不显示“选择姓名”对话框。 1 或者省略  显示“选择姓名”对话框。 2           不显示“选择姓名”对话框，也不执行对一个指定名字的搜索。Address$() 返回的地址将是上一个选定的地址。
SelectDialog	指定怎样显示“选择姓名”对话框： 0 或省略    按“浏览”模式 1           按“编发”模式，仅包括 To: 框 2           按“编发”模式，包含 To: 和 CC：框
CheckNamesDialog	指定在 Name$ 值不够时，是否显示“检查姓名”对话框： 0           不显示“检查姓名”对话框。 1 或省略    显示“检查姓名”对话框。 如果 DisplaySelectDialog 是非 0 值，这个参数被忽略。 如果 SelectDialog 是 1 或者 2，在“选择姓名”对话框关闭前，消去全部名字。
MRUChoice	指定哪一个最近使用的地址列表用作地址表： 0 或省略   以收信人地址表 1           寄信人地址
UpdateMRU	指定是否将新地址添加到最近使用的地址列表中： 0 或者省略   不添加 1            添加 如果 SelectDialog 设置为 1 或者 2， UpdateMRU 被忽略。
_____________

请参阅

通讯录语句和函数

AddAddress

AutoText

InsertAddress

ToolsCreateEnvelope

ToolsCreateLabels


 EditReplaceHighlight 示例

本示例突出显示文档中的所有粗体文本。

EditFindClearFormatting

EditReplaceClearFormatting

EditFindFont .Bold = 1

EditReplaceHighlight

EditReplace .Find = "", .Replace = "", .Format = 1 .ReplaceAll


EditReplaceHighlight

示例

EditReplaceHighlight

如果后跟一条 EditReplace 指令，且指令的 .Format 设置为 1 时，本语句指定替换文本将具有突出显示格式。在 Word 6.0 中, EditReplaceHighlight 不能使用，否则会产生一个错误。

_____________

请参阅

查找和替换语句和函数

EditFindHighlight

EditReplace

Highlight

HighlightColor

ToolsOptionsRevisions


EditReplaceNotHighlight

EditReplaceNotHighlight

如果后跟一条 EditReplace 指令，且指令的 .Format 设置为 1 时，本语句指定替换文本将不具有突出显示格式。在 Word 6.0 中，EditReplaceNotHighlight 不能使用，否则会产生一个错误。

_____________

请参阅

查找和替换语句和函数

EditFindNotHighlight

EditReplace

Highlight

HighlightColor

ToolsOptionsRevisions


EditFindNotHighlight

EditFindNotHighlight

如果后跟一条 EditFind 或者 EditReplace 指令，且其中的 .Format 设置为1时，本语句指定要查找的文本不具有突出显示格式。在 Word 6.0 中，DditFindNotHighlight 不能使用，并且将导致一个错误。

_____________

请参阅

查找和替换语句和函数

EditFind

EditFindHighlight

Highlight

HighlightColor

ToolsOptionsRevisions


CountAutoCorrectExceptions()

CountAutoCorrectExceptions(Tab)

返回“非自动更正项”对话框（“自动更正”命令，“工具”菜单）指定选项卡中列出的非自动更正项的数目。在 Word 6.0 中，CountAutoCorrectExceptions() 不能使用，否则将导致一个错误。

参数	说明
Tab	非自动更正项所在的选项卡： 0    首字母 1    首字母大写
示例请参阅 GetAutoCorrectException$() 示例.。

_____________

请参阅

自动更正语句和函数

GetAutoCorrectException$()

IsAutoCorrectException()

ToolsAutoCorrectExceptions


AutomaticChange

AutomaticChange

“操作向导”给出一条修改建议时，执行一项“自动套用格式”操作。AutomaticChange 语句对应于“操作向导”工具栏上的“修改”按钮。在 Word 6.0 中，AutomaticChange 无效并且会产生一个错误。

_____________

请参阅

帮助语句和函数

Help

ShowMe


FileProperties

FileProperties

显示活动文档的“属性”对话框。Word 的有效内部属性列表请参阅DocumentPropertyName$() 。在 Word 6.0 中，FileProperties 不能使用，否则会产生一个错误。

使用文档属性语句和函数可以自定义属性并返回和改变有效的自定义和内部属性值。

_____________

请参阅

文档属性语句和函数


GetDocumentProperty(), GetDocumentProperty$()

GetDocumentProperty(Name$ [, CustomOrBuiltIn])

GetDocumentProperty$(Name$ [, CustomOrBuiltIn])

GetDocumetnProperty() 返回活动文档中定义的 Name$ 属性的数字表示，它可以是一种内部属性，也可以是自定义属性。如果 Name$ 属性是一个字符串或者一个日期，或者未定义，则发生错误。“是”和“否”属性分别返回 1 和 0  。

GetDocumentProperty$() 返回活动文档中定义的 Name$ 属性的字符串表示。它可以是一种内部属性，也可以是一种自定义属性。如果 Name$ 属性是一个数字或者未定义，GetDocumentProperty$() 返回一个错误。“日期”属性按默认的日期格式返回，“是”和“否”属性返回“Y”和“N”，用DocumentPropertyExtists() 函数可以确认 Name$ 属性是否存在。

Word 中有效的内部属性列表请参阅 DocumentPropertyName$() 。在 Word 6.0 中，GetDocumentProperty() 和 GetDocumentProperty$() 不能使用，否则会产生一个错误。

参数	说明
Name$	属性的名称。
CustomOrBuiltIn	指定 Name$ 是内部属性还是自定义属性： 0 或省略  Word 在内部属性表或者自定义属性表中查找并返回第一个匹配值。 1          Name$ 是一种内部属性。 2          Name$ 是一种自定义属性。.
__________

请参阅

文档属性语句和函数

DocumentPropertyName$()

DocumentPropertyType()

SetDocumentProperty


 SetDocumentProperty 示例

本示例请用户插入客户姓名，然后把该姓名指定给变量 customerName$ 。SetDocumentProperty 指令定义自定义属性“Customer”的值为 customerName$ 的值。注意，只有在客户属性“Customer”尚未定义时才能这样做。

customerName$ = InputBox$("Please type the name of the customer", "Customer Name")

If DocumentPropertyExists("Customer") = 0 Then

SetDocumentProperty("Customer", 0, customerName$, 2)

End If


SetDocumentProperty

示例

SetDocumentProperty Name$, Type, Value[$], CustomOrBuiltIn

为活动文档定义一种文档属性。如果 Name$ 是一种内部属性，且与 .Type 指定的类型不匹配或者是一种只读属性，则发生错误。用 DocumentPropertyExists() 函数确定可以叫做 Name$ 的属性是否已经存在。

Word 有效内部属性的列表请参阅 DocumentPropertyName$() 。在 Word 6.0 中，SetDocumentProperty 不能使用，否则会产生一个错误。

参数	说明
Name$	属性的名称。Name $ 可以是一种内部属性或者自定义属性。
Type	要定义的属性的类型： 0    字符串 1    数字 2    日期 3    “是”或“否” 如果 Name$ 是一种内部属性并且与 Type 指定的类型不匹配，则发生错误。
Value[$]	属性值 .Value[$] 必须与 Type 指定的属性相匹配。 如果 Value[$] 与 Type 定义的属性不匹配，则发生错误。
CustomOrBuiltIn	指定 Name$ 是一种内部属性还是一种自定义属性： 0 或省略  Name$ 是一种自定义属性，除非它出现在内部属性表中。如果 Name $是一种内部属性， SetDolumentProperty 将更新它的值。 1   Name $是一种内部属性。如果它不是内部属性中的一种，则发生错误。 2  Name $是一种自定义属性，无论是否已经存在同名的内部属性。
_____________

请参阅

文档属性语句和函数

DocumentPropertyExists()

GetDocumentProperty()

IsCustomDocumentProperty()

IsDocumentPropertyReadOnly()

SetDocumentPropertyLink


 SetDocumentPropertyLink 示例

本标例在插入点插入一个 DATE 域，定义 DateOfLetter 书签，并且为活动文档定义一种自定义属性。这个属性链接到 Date ofLetter 书签。

InsertField .Field = "DATE"

EditGoto .Destination = "d- 'DATE'"

UnlinkFields

EditBookmark .Name = "DateOfLetter", .Add

SetDocumentPropertyLink("Date of letter","DateOfLetter")


SetDocumentPropertyLink

示例

SetDocumentPropertyLink Name$, Source$

为活动文档定义一种自定义属性并且把它链接到已有的、名为 Source$ 的书签。如果 Source$ 不存在，则发生错误。使用 DocumentPropertyExists() 函数来确认 Name $ 属性是否存在。

Word 有效内部属性的列表请参阅 DocumentPropertyName$() 。在 Word 6.0 版中 SetDocumentPropertyLink 不能使用，否则会产生一个错误。

参数	说明
Name$	属性名称。Name$ 可以是一个内部属性，也可以是一个自定义属性。
Source$	书签名称。Source$ 不能是一个预定义的书签。
_____________

请参阅

文档属性语句和函数

GetDocumentProperty()

SetDocumentProperty


DeleteDocumentProperty

DeleteDocumentProperty Name$

把自定义属性 Name$ 从“属性”对话框（“属性”命令，“文件”菜单）中“自定义”选项卡上的自定义属性列表中删除。如果 Name$ 指定的属性不是一个自定义属性，则发生错误。用 DocumentPropertyExists() 函数可以确认 Name$ 属性是否存在。

Word 有效内部属性的列表请参阅 DocumentPropertyName$()  。在 Word 6.0 中，DeleteDocumentProperty 不能使用，否则会产生一个错误。

_____________

请参阅

文档属性语句和函数

DocumentPropertyExists()

GetDocumentProperty()

IsCustomDocumentProperty()

SetDocumentProperty


IsDocumentPropertyReadOnly()

IsDocumentPropertyReadOnly(Name$ [, CustomOrBuiltIn ])

如果 Name$ 属性是只读的，则返回 1。如果 Name$ 不是一种有效属性，则发生错误。使用 DocumentPropertyExists() 函数来确认 Name$ 属性是否存在。

Word 有效的内部属性列表请参阅 DocumentPropertyName$() 。在 Word 6.0 中，IsDocumentPropertyReadOnly() 不能使用，否则会产生一个错误。

参数	说明
Name$	属性名。
CustomOrBuiltIn	指定 Name$ 是自定义属性还是内部属性： 0 或省略   Name$ 是一种自定义属性，除非它出现在内部属性表中。 1   Name$ 是一种内部属性。如果不是内部属性，则发生错误。 2   Name$ 是一种自定义属性，不管是否已经存在一种同名的内部属性。
_____________

请参阅

文档属性语句和函数

DocumentPropertyExists()

DocumentPropertyName$()

DocumentPropertyType()

IsCustomDocumentProperty()


DocumentPropertyType()

DocumentPropertyType(Name$)

返回一个数字值，指示 Name$ 属性的类型。如果 Name $ 不是一种有效属性，则发生错误。使用 DocumentPropertyExists() 函数来确认 Name$ 属性是否存在。

Word 有效内部属性的列表请参阅 DocumentPropertyName$() 。在 Word 6.0 中，DocumentPropertyType() 不能使用，否则会产生一个错误。

DocumentPropertyType() 函数返回下列值。

值	说明
0	属性是一个字符串。
1	属性是一个数字。
2	属性是一个日期。
3	属性是“是”或“否”值。
_____________

请参阅

文档属性语句和函数

DocumentPropertyExists()

DocumentPropertyName$()

IsCustomDocumentProperty()

IsDocumentPropertyReadOnly()


DocumentPropertyExists()

DocumentPropertyExists(Name$)

如果 Name$ 是一个现有属性的名称，返回 1；如果不是，则返回 0 。Word 有效内部属性的列表请参阅 DocumentPropertyName$()  。在 Word 6.0 中，DocumentPropertyExits() 不能使用，否则会产生一个错误。

_____________

请参阅

文档属性语句和函数

DeleteDocumentProperty

DocumentPropertyName$()

DocumentPropertyType()

IsCustomDocumentProperty()


IsCustomDocumentProperty()

IsCustomDocumentProperty(Name$)

如果 Name$ 属性是一种自定义属性，返回1；或者，如果 Name$ 属性不是一种自定义属性或无效，返回 0 。使用 DocumentPropertyExits() 函数来确认 Name$ 属性是否存在。

Word 有效内部属性的列表请参阅 DocumentPropertyName$()  。在 Word 6.0 中，IsCustomDocumentProperty() 不能使用，否则会产生一个错误。

_____________

请参阅

文档属性语句和函数

CountDocumentProperties()

DocumentPropertyExists()

DocumentPropertyType()

IsDocumentPropertyReadOnly()


 DocumentPropertyName$() 示例

本示例在当前文档末尾插入一个包含全部文档属性的列表。插入的属性名称带粗体格式，每一种属性后跟该属性的值。

EndOfDocument

InsertPara

For count = 1 To CountDocumentProperties()

a$ = DocumentPropertyName$(count)

Bold 1 : Insert a$

InsertPara

If DocumentPropertyType(a$) = 1 then

b = GetDocumentProperty(a$)

Bold 0 : Insert Str$(b)

InsertPara : InsertPara

Else

b$ = GetDocumentProperty$(a$)

Bold 0 : Insert b$

InsertPara : InsertPara

End If

Next


DocumentPropertyName$()

示例

DocumentPropertyName$(PropertyNumber)

返回 PropertyNumber 指定的文档属性的名称。Word 首先列出内部属性。自定义属性附加在列表末尾。使用 DocumentPropertyExits() 函数来确认 PropertyNumber 指定的属性是否存在。在 Word 6.0 中，DocumentPropertyName $() 不能使用，否则会产生一个错误。

下表列出 Word 中活动文档的有效内部属性。该表同时指明这些属性中哪些是只读的。

属性名称	说明
Title	文档的标题
Subject	文档的主题
Author	文档的作者
Manager	经理的姓名
Company	公司的名称
Category	文档的分类
Keywords	用来标识文档的关键字
Comments	有关文档的注释
Template	文档模板（只读）
CreateTime	创建日期（只读）
LastSavedTime	文档最后的保存日期（只读）
LastPrinted	文档最后的打印日期（只读）
LastSavedBy	文档最后的保存者姓名（只读）
RevisionNumber	文档保存次数（只读）
TotalEditingTime	文档的全部找开时间，是一个以分钟为单位的数字（只读）
Pages	页数（只读）
Paragraphs	段落数目（只读）
Lines	行数（只读）
Words	单词数（只读）
Characters	字符数（只读）
Bytes	文档大小，按照 �36,352字节� 格式（只读）
NameOfApplication	相联的应用程序名称；例如，“Microsoft Word for Windows 95”（只读）
Security	文档保护级别（只读）
_____________

请参阅

文档属性语句和函数

CountDocumentProperties()

DocumentPropertyType()

GetDocumentProperty()

IsDocumentPropertyReadOnly()

SetDocumentProperty


CountDocumentProperties()

CountDocumentProperties()

返回为当前文档定义的内部和自定义属性的总数。Word 中有效内部属性的列表请参阅 DocumentPropertyName$() 。在 Word 6.0 版，CountDocnmentProperties() 不能使用，否则会产生一个错误。

示例请参阅 DocumentPropertyName$() 示例.。

_____________

请参阅

文档属性语句和函数

DocumentPropertyName$()

GetDocumentProperty()


ToolsAutoCorrectCapsLockOff, ToolsAutoCorrectCapsLockOff()

ToolsAutoCorrectCapsLockOff [On]

ToolsAutoCorrectCapsLockOff()

ToolsAutoCorrectCapsLockoff 语句选中或清除“自动更正”对话框（“工具”菜单）中的“更正误按 CapsLock 键产生的大小写错误”复选框。 ToolsAutoCorrectCapsLockOff() 函数返回该复选框状态的信息。关于参数和返回值的内容，请参阅ToolsAutoCorrectDays.。

在 Word 6.0 中，ToolsAutoCapsLockoff 和 ToolsAutoCorrectCapsLockoff() 不能使用，否则会产生一个错误。

_____________

请参阅

自动更正语句和函数

ToolsAutoCorrect

ToolsAutoCorrectInitialCaps

ToolsAutoCorrectReplaceText

ToolsAutoCorrectSentenceCaps

ToolsAutoCorrectSmartQuotes


TipWizard

TipWizard

显示或者隐藏“操作向导”工具栏。在 Word 6.0 中，TipWizard 不能使用，否则会产生一个错误。

_____________

请参阅

帮助语句和函数

AutomaticChange

Help

ShowMe


SpellChecked, SpellChecked()

SpellChecked [On]

SpellChecked()

SpellChecked 语句将选定文本标记为是否检查过拼写错误。如果未选定文本，SpellChecked 和 SpellChecked() 无效。

在 Word 6.0 中，Spellcheeked 和Spellchecked() 不能使用，并且会产生错误。

参数	说明
On	指定是否将选定部分标记为已经检查拼写错误或者未经拼写错误检查： 1      将选定部分标记为已经检查的 0      将选定部分标记为未检查的 省略   切换设置
SpellChecked() 函数返回下列值。

值	说明
0	选定部分未经拼写检查
-1	选定部分只有一部分经过拼写检查
1	选定部分全部经过拼写检查
_____________

请参阅

校对语句和函数

ToolsSpelling

DocumentHasMisspellings()


ToolsSpellingRecheckDocument

ToolsSpellingRecheckDocument

重新检查整个文档的拼写错误，确保再次检查已经审阅并且更正过的单词的拼写错误。在 Word 6.0 版中，ToolsSpellingRecheckDocument 不能使用，否则会产生一个错误。

_____________

请参阅

校对语句和函数

DocumentHasMisspellings()

NextMisspelling

SpellChecked

ToolsSpelling

ToolsSpellSelection


FilePost

FilePost Destination$

把活动文档发送到 Microsoft Exchange 公用文件夹中。如果Destination$ 指定的文件夹无效，则产生错误。

FilePost 语句只能在Microsoft Word for Windows 95 中使用，并且必须安装Microsoft Exchange 服务器。

_____________

请参阅

电子邮件和传送

FileRoutingSlip

FileSendMail


IsAutoCorrectException()

IsAutoCorrectException(Tab, Exception$)

返回一个值，指明 Exception$ 是否在“非自动更正项”对话框（“工具”菜单，“自动更正”命令）指定选项卡上的“非自动更正列表”中出现。在 Word 6.0 中， IsAutoCorrectException() 不能使用，并且将导致一个错误。

参数	说明
Tab	搜索 Exception$ 的选项卡： 0（零）    首字母 1  连续大写字母
Exception$	在指定的选项卡扎查找的非自动更正项。
IsAutoCorrectException() 函数返回下列值：

参数	说明
-1	Exception$ 是“非自动更正项”
0	Exception$ 不是“非自动更正项”
_____________

请参阅

自动更正语句和函数

CountAutoCorrectExceptions()

GetAutoCorrectException$()

ToolsAutoCorrectExceptions


MailCheckNames

MailCheckNames

检查当前 WordMail 消息的“送至”、“抄送”、“匿名收件人”框中姓名的拼写。MailCheckNames 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailHideMessageHeader

MailSelectNames


MailHideMessageHeader

MailHideMessageHeader

切换当前 WordMail 消息标题的显示。MailHideMessageHeader 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailCheckNames

MailSelectNames


MailMessageDelete

MailMessageDelete

删除当前 WordMail 消息。MailMessageDelete 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageMove

MailMessageNext

MailMessagePrevious


MailMessageForward

MailMessageForward

打开新的 WordMail 消息，使“抄送”框为空，以便附送当前消息。MailMessageForward 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageReply

MailMessageReplyAll


MailMessageMove

MailMessageMove

显示“移动”对话框。用户可在其中指定当前WordMail 消息的新位置。MailMessageMove 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageDelete

MailMessageNext

MailMessagePrevious


MailMessageNext

MailMessageNext

关闭 WordMail 消息，如果有下一条消息，则显示之。MailMessageNext 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageDelete

MailMessageMove

MailMessagePrevious


MailMessagePrevious

MailMessagePrevious

关闭 WordMail 消息，如果有上一条消息，则显示之。MailMessagePrevious 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageDelete

MailMessageMove

MailMessageNext


MailMessageProperties

MailMessageProperties

显示当前WordMail 消息的“属性”对话框。MailMessageProperties 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送


MailMessageReply

MailMessageReply

打开一条新的WordMail 消息。发送者的地址在“送至”框中，以便回答当前消息。MailMessageReply 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageForward

MailMessageReplyAll


MailMessageReplyAll

MailMessageReplyAll

打开一条新的WordMail 消息，发送者和所有收件人的姓名在“送至”和“抄送”框中。用于回答当前消息。MailMessageReplyAll 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailMessageForward

MailMessageReply


MailSelectNames

MailSelectNames

显示“选择姓名”对话框，以便让用户在其中的“送至”、“抄送”、“匿名收件人”框中添加地址。MailSelectNames 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Exchange。

_____________

请参阅

电子邮件和传送

MailCheckNames

MailHideMessageHeader


DocumentProtection()

DocumentProtection()

返回一个值，表明活动文档的保护方式。要改变保护方式，可使用 ToolsProtectDocument。在 Word 6.0 中，DocumentProtection() 不能使用，并且将导致一个错误。

返回值	说明
0	文档未保护。
1	用户只能更改表单域。
2	用户只能添加批注。
3	用户能选定和编辑文字，但被加上修订标记。
_____________

请参阅

表单语句和函数

ToolsProtectDocument

ToolsUnprotectDocument


HelpMSN

HelpMSN

显示 Microsoft Network 对话框。用户可以用这个对话框连接Microsoft Network 上的有关Microsoft Word 的论坛中。. HelpMSN 只能在 Word for Windows 95 中使用，并且必须安装 Microsoft Network。

_____________

请参阅

帮助语句和函数


FormatColumns 示例

该示例将当前节设为等宽三栏的格式，并指定在栏之间显示一条竖线。

FormatColumns .Columns = "3", .EvenlySpaced = 1, .ColLine = 1


FormatColumns

示例

FormatColumns [.Columns = number or text] [, .ColumnNo = text] [, .ColumnWidth = text] [, .ColumnSpacing = text] [, .EvenlySpaced = number] [, .ApplyColsTo = number] [, .ColLine = number] [, .StartNewCol = number]

将文档的全部或部分设为指定数目栏的格式，或者改变已有栏的栏宽及栏间距。FormatColumns 语句的参数相当于“格式”菜单的“分栏”对话框中的选项。

参数	解释
.Columns	要应用到由 .ApplyColsTo 指定的文档中的部分的栏数。
.ColumnNo	如果 .EvenlySpaced 设为 0，要设的栏数；如果正在返回 FormatColumns 对话记录中的信息，要为其返回宽度的栏。 要独立于其它栏设置栏宽，需要包含一条附加的 FormatColumns 指令来设置最后一栏的宽度。如果只包含一条 FormatColumns 指令，最后的栏数将与 .ColumnNo 相同。例如：如果在含三栏的节中改变首栏的宽度，该指令运行后将只有一栏。要保留三栏格式，需要包含一条附加的 FormatColumns 语句并将 .ColumnNo 设为 3。
.ColumnWidth	.ColumnNo 指定的栏宽，或如果 .EvenlySpaced 设置为 1，.ApplyColsTo 指定的文档的部分中各栏的宽度。
.ColumnSpacing	栏间距。
.EvenlySpaced	如果是 1，使各栏等宽。
.ApplyColsTo	指定要应用分栏格式的文档的部分： 0 本节 1 插入点之后 2 所选节 3 所选文本 4 整个文档
.ColLine	如果是 1，在栏间添加一条线。
.StartNewCol	如果是 1，相当于选中“开始新栏”复选框（只在 .ApplyColsTo 指定“插入点之后”时有效）。
_____________

请参阅

文档和节格式语句和函数

TableColumnWidth


FormatHeaderFooterLink

FormatHeaderFooterLink

用前一节中对应的页眉或页脚代替当前的页眉或页脚。如果前一节中没有对应的页眉和页脚，将产生错误。

_____________

请参阅

文档和节格式语句和函数

ShowNextHeaderFooter

ShowPrevHeaderFooter

ToggleHeaderFooterLink

ViewHeader


FormatHeadingNumber

FormatHeadingNumber [.Points = number] [, .Color = number] [, .Before = text] [, .Type = number] [, .After = text] [, .StartAt = number] [, .Include = number] [, .Alignment = number] [, .Indent = number or text] [, .Space = number or text] [, .Hang = number] [, .RestartNum = number] [, .Level = number] [, .Font = text] [, .Strikethrough = number] [, .Bold = number] [, .Italic = number] [, .Underline = number]

将编号应用到设有九种内部标题级别样式之一的文档中的所有段落，或修改指定标题级别的编号选项。FormatHeadingNumber 语句的参数相当于“格式”菜单中“标题编号”命令的“更改标题编号”对话框中的选项。

参数	解释
.Points, .Color, .Font, .Strikethrough, .Bold, .Italic, .Underline	将字符格式应用到指定级别的编号。参数说明请参阅 FormatFont.。
.Before, .After, .Alignment, .Indent, .Space, .Hang	设置指定级别编号的选项。参数说明请参阅FormatNumber.。
.Type	为指定级别的编号标题指定格式： 0 1、2、3、4 1 I、II、III、IV 2 i、ii、iii、iv 3 A、B、C、D 4 a、b、c、d 5 1st、2nd、…… 6 One、Two、…… 7 First、Second、……
.StartAt	指定级别的标题的各序列中一级标题的编号。如果 .Type 是 3 或 4，.StartAt 相当于起始字母在字母表中的位置。
.Include	指定是否包含指定级别编号的上一级标题的编号和位置选项： 0 既不包含编号选项也不包含位置选项。 1 包含指定级别编号前的较高级别标题的系列编号。 2 既包含较高级标题的编号选项，也包含上一级的位置选项。
.RestartNum	如果是 1，在每一新节重新开始标题编号。
.Level	从 1 到 9 的编号，相当于要改变其编号选项的标题级别。
_____________

请参阅

项目符号与编号语句和函数

FormatBullet

FormatHeadingNumbering

FormatMultilevel

FormatNumber


FormatHeadingNumbering

FormatHeadingNumbering [.Remove] [, .Preset = number]

添加或取消选定内容中的标题的编号。标题是设有九种内部标题样式之一的段落。

参数	解释
.Remove	取消选定内容中的标题编号。
.Preset	相当于“格式”菜单的“标题编号”对话框中编号方案的编号。 要确定适当编号，可打开“标题编号”对话框并确定方案中的编号。从左到右，预设方案的编号是 1 至 6。
_____________

请参阅

文档和节格式语句和函数

FormatBulletsAndNumbering


FormatPageNumber

FormatPageNumber [.ChapterNumber = number] [, .NumRestart = number] [, .NumFormat = number] [, .StartingNum = number] [, .Level = number] [, .Separator = number]

确定当前节所用页码格式。FormatPageNumber 语句的参数相当于“插入”菜单中“页码”命令的“页码格式”对话框中的选项。

参数	解释
.ChapterNumber	如果是 1，包含页码时包含章节号。
.NumRestart	确定是否能设置不同的起始编号： 0  选择“续前节”选项（.StartingNum 的设置无效）。 1 选择“起始页码”选项（编号始于 .StartingNum 的编号设置）。
.NumFormat	页码格式： 0 1 2 3... 1 a b c... .2 A B C... 3 i ii iii... 4 I II III...
.StartingNum	当前节的起始页码（如果 .NumRestart 设为 1）。
.Level	相当于各章首段的标题级别所用编号（用于页码包含章节号时）。
.Separator	如果指定 .ChapterNumber，指定页码与章节号间的分隔符： 0 连字符 1 句号 2 冒号 3 全身破折号 4 半身破折号
_____________

请参阅

文档和节格式语句和函数

InsertPageNumbers


FormatSectionLayout

FormatSectionLayout [.SectionStart = number] [, .VertAlign = number] [, .Endnotes = number] [, .LineNum = number] [, .StartingNum = number] [, .FromText = text] [, .CountBy = text] [, .NumMode = number]

将节格式用于所选节。该命令用于与旧版 Word 的兼容性。FormatSectionLayout 语句的参数是在 FilePageSetup 中复制的。

_____________

请参阅

文档和节格式语句和函数

FilePageSetup


InsertSectionBreak

InsertSectionBreak

按与插入点所在节相同的格式插入分节符。

_____________

请参阅

文档和节格式语句和函数

InsertBreak

InsertColumnBreak

InsertPageBreak


ToggleHeaderFooterLink

ToggleHeaderFooterLink

如果当前页眉或页脚未与前一节链接，用前一节中相应的页眉或页脚代替该页眉或页脚并创建链接。如果当前页眉或页脚已经链接，ToggleHeaderFooterLink 可断开链接，以便分别修改页眉或页脚。如果插入点不在页眉或页脚中，就会出错。

_____________

请参阅

文档和节格式语句和函数

FormatHeaderFooterLink

ShowNextHeaderFooter

ShowPrevHeaderFooter

ViewHeader


Abs() 示例

该示例切换隐藏文字的显示。该示例可用作切换 Word 中任何复选框的模式。在 Word 的复选框中，选中的复选框值为 1，清除的复选框值为 0。该示例通过从复选框的当前值中减去 1 来颠倒该值，并用 Abs() 返回结果的绝对值。

Dim dlg As ToolsOptionsView

GetCurValues dlg

dlg.Hidden = Abs(dlg.Hidden - 1)

ToolsOptionsView dlg


Abs()

示例

Abs(n)

返回 n 的绝对值。例如：Abs(-5) 返回的值为 5。

_____________

请参阅

字符串和数字语句和函数

Int()

Rnd()

Sgn()


Asc() 示例

该示例移至下一段开始处，并检查插入点右侧的字符。如果该字符是段落标记，则说明是空段，于是显示信息框。

ParaDown

If Asc(Selection$()) = 13 Then

ans = MsgBox("Empty paragraph. Continue?", 4)

End If


Asc()

示例

Asc(a$)

返回 a$ 中首字符的字符代码。尽管“Asc”是 ASCII 的缩写，但 Asc() 实际却是返回 ANSI 码。该函数名是为兼容性而保存的。用 Asc(Selection$)) 语法可返回插入点右侧字符的代码（例如：测试段落标记）。

_____________

请参阅

字符串和数字语句和函数

Chr$()

Len()


Left$() 示例

该示例在状态栏显示文字“Legel”：

a$ = "Legal File List"

Print Left$(a$, 5)

下例用 Left$() 返回带连字符的单词的第一部分。InStr() 用于决定连字符（-）的位置。然后用 Left$() 返回连字符左侧的所有字符。

wholeWord$ = "fade-out"

hyphen = InStr(wholeWord$, "-")

firstWord$ = Left$(wholeWord$, (hyphen - 1))

MsgBox "First part of word: " + firstWord$

用一组相似指令可返回 MS-DOS 文件名中扩展名前的字符。不过不是决定连字符的位置，而是要用 InStr() 返回句号字符（.）的位置。该功能可用于以不同的文件扩展名来保存活动文档的副本。示例请参阅 InStr() 示例。


Left$()

示例

Left$(Source$, Count)

返回 Source$ 的最左边的 Count 个字符。

_____________

请参阅

字符串和数字语句和函数

InStr()

Len()

LTrim$()

Mid$()

Right$()

RTrim$()


Len()示例

该示例提示键入“自动图文集”词条的名称，然后用 Len() 判定该名称是否超过了 32 个字符的限制。On Error 指令可防止在取消 InputBox$() 对话框时出现“命令失败”的信息。

On Error Goto Finish

Start:

a$ = InputBox$("Type a name for the AutoText entry.")

If Len(a$) > 32 Then

MsgBox "Please type no more than 32 characters."

Goto Start

End If

Finish:


Len()

示例

Len(Source$)

返回 Source$ 中的字符数。

_____________

请参阅

字符串和数字语句和函数

InStr()

Left$()

LTrim$()

Mid$()

Right$()

RTrim$()


LTrim$() 示例

该示例将数字型变量 code 转换为字符串，再删除由 Str$() 自动添加的前导空格。lastName$ 变量随后与 code$ 连接并存于 license$ 变量。

lastName$ = "Peterson"

code = 1234

code$ = Str$(code)

code$ = LTrim$(code$)

license$ = lastName$ + code$


LTrim$()

示例

LTrim$(Source$)

返回减去前导空格（首字符左边的空格）的 Source$。LTrim$() 对于从已转为字符串的数字型变量中删除前导空格和清理用户输入特别有用。

_____________

请参阅

字符串和数字语句和函数

InStr()

Left$()

Mid$()

Right$()

RTrim$()


Mid$() 示例

该示例返回双单词字符串的第二个单词：

wholeName$ = "Sanjeev Reddy"

space = InStr(wholeName$, " ")

lastName$ = Mid$(wholeName$, space + 1)


Mid$()

示例

Mid$(Source$, Start [, Count])

返回始于给定字符位置的 Source$ 的位置。

参数	解释
Source$	源字符串。
Start	Source$ 中要在此开始返回的字符串的字符位置。
Count	要返回的字符串中的字符数。如果不指定 Count，就假定到字符串结束处的字符数。
_____________

请参阅

字符串和数字语句和函数

InStr()

Left$()

Len()

LTrim$()

Right$()

RTrim$()


Right$() 示例

该示例提示在 Input$Box$() 对话框键入姓名。这些指令可用整个姓名的长度减去名和姓之间的空格的位置来判定空格后的字符数。然后 Right$() 就能从单个字符串中检索姓。

fullName$ = InputBox$("Please type your first and last name.")

length = Len(fullName$)

space = InStr(fullName$, " ")

lastName$ = Right$(fullName$, length - space)

MsgBox "Last name is " + lastName$ + "."


Right$()

示例

Right$(Source$, Count)

返回 Source$ 中最右的 Count 个字符。

_____________

请参阅

字符串和数字语句和函数

InStr()

Left$()

Len()

LTrim$()

Mid$()

RTrim$()


Rnd()示例

该示例将 num 变量定义为 50 至 100 之间的随机整数，然后在信息框中显示该数。

a = 50

b = 100

num = Int(Rnd() * (b - a) + a)

MsgBox "The random number is" + Str$(num)


Rnd()

示例

Rnd()

返回一个大于等于 0 且小于 1 的随机实数。用下面的语法可生成一个 a 与 b 之间的随机整数：

Int(Rnd() * ((b + 1)  -  a) + a)

_____________

请参阅

字符串和数字语句和函数

Abs()

Int()

Sgn()


RTrim$() 示例

该示例提示键入姓，然后删除在姓名结尾可能多键的空格。

lastName$ = InputBox$("Please enter your last name.")

lastName$ = RTrim$(lastName$)


RTrim$()

示例

RTrim$(Source$)

返回减掉尾部空格（最后一个字符右侧的空格）的 Source$。RTrim$() 对于在将用户定义的变量传至宏的其它部分之前先清理它们时特别有用。

_____________

请参阅

字符串和数字语句和函数

InStr()

Left$()

LTrim$()

Mid$()

Right$()


Selection$() 示例

该示例选定文档中的第一个标题，然后用 Selection$() 函数将 heading$ 变量与所选文字一起定义：

StartOfDocument

EditFindClearFormatting

EditFindStyle .Style = "heading 1"

EditFind .Find = "", .WholeWord = 0, .MatchCase = 0, \

.Direction = 0, .Format = 1, .Wrap = 0

If EditFindFound() <> 0 Then

heading$ = Selection$()

End If


Selection$()

示例

Selection$()

返回选定内容的普通无格式文字。Selection$() 可返回多达 65,280 个字符或有效内存能容纳的最大量。如果选定内容太大，就会出错而且不返回文字。如未选定文字，Selection$() 会返回插入点后的字符。

_____________

请参阅

字符串和数字语句和函数

ExtendSelection

SelInfo()

SelType

ShrinkSelection


Sgn()示例

该示例比较两个值。如果差异为负，就显示信息框。

maySales = 1200

juneSales = 1000

difference = juneSales - maySales

If Sgn(difference) = -1 Then

MsgBox "Sales fell by" + Str$(Abs(difference)) + " dollars!"

End If


Sgn()

示例

Sgn(n)

判定 n 是正值、负值还是 0。

值	解释
0	如果 n 是 0
-1	如果 n 是负数
1	如果 n 是正数
_____________

请参阅

字符串和数字语句和函数

Abs()

Int()

Rnd()


SortArray 示例

该示例创建包含活动文档中所有书签的名称的数组，然后将这些名称排序。首次定义时，marks$(0) 变量表示添至文档的第一个书签的名称。数组排序后， marks$(0) 代表书签名称按字母顺序排列的列表中的第一个名称。

size = CountBookmarks() - 1

Dim marks$(size)

For count = 0 To size

marks$(count) = BookmarkName$(count + 1)

Next

SortArray(marks$())

下例打开包含 100 个姓名和地址的列表的文本文件。有五个用于姓名和地址的域：第一个域用于姓名，第二个用于街道地址，第三个用于城镇，第四个用于州或省，第五个用于邮政编码。先定义 MailList$() 数组来容纳读入其中的姓名和地址，再由邮政编码按降序（以便最高邮政编码所在行为首行）对该数组排序，然后将排过序的姓名和地址写回文件。注意：在文档窗口中打开文件并使用 TableSort 语句可完成同样的排序。

Open "LIST.TXT" For Input As #1

Dim MailList$(99, 4)

For x = 0 To 99

Read #1, MailList$(x, 0), MailList$(x, 1), MailList$(x, 2), \

MailList$(x, 3), MailList$(x, 4)

Next

Close #1

SortArray MailList$(), 1, 0, 99, 0, 4

Open "NEWLIST.TXT" For Output As #1

For x = 0 To 99

Write #1, MailList$(x, 0), MailList$(x, 1), MailList$(x, 2), \

MailList$(x, 3), MailList$(x, 4)

Next

Close #1


SortArray

示例

SortArray ArrayName[$]() [, Order] [, From] [, To] [, SortType] [, SortKey]

对指定数组中的元素按字母数字排序。SortArray 在对填充自定义对话框中的列表框的数组排序时特别有用。SortArray 能对一维或二维数组排序，如果指定的数组多于二维，就会出错。

参数	解释
ArrayName[$]()	要排序的一维或二维数组。不排多于二维的数组。
Order	排序顺序： 0 或忽略 升序 1          降序
From	要排序的第一个元素的序号。默认值为 0。
To	要排序的最后一个元素的序号（必须大于 From）。
SortType	要执行的排序类型（仅用于二维数组）： 0 或忽略 对数组矩阵中的“行”排序。 1  对数组矩阵中的“列”排序。
SortKey	据以排序的行号或列号（仅用于二维数组）：0 表明是首行或首列，1 表明是第二行或第二列，依此类推。默认值为 0。 如果 SortType 是 0，说明按行排序，SortKey 指定确定排序的列。如果 SortType 是 1，说明按列排序，SortKey 指定确定排序的行。
下面是 SortArray 指令的一些示例及其效果说明。

指令	说明
SortArray ArrayTest()	按升序给 ArrayTest() 数组的所有元素排序，从 0 号元素开始。如果数组是二维的，就给数组矩阵的行排序，将首列用作关键字。
SortArray List$(), 0, 1, 10	按升序给 List$() 数组中的 1 到 10 号元素排序。
SortArray MailingList$(), 1, 1, 20, 0, 1	按降序给二维数组 MailingList$() 中的 1 到 20 号元素排序。将第二列用作关键字给行排序。
SortArray Table(), 0, 0, 10, 1, 3	按升序给二维数组 Table() 中的 0 到 10 号元素排序。将第四行用作关键字给列排序。
注意：

尽管 SortArray 的参数除 ArrayName[$]() 外都是可选的，但不能省略确实包含的参数之间的参数。例如：SortArray Test(), 0, 0, 2, 0, 1 是有效指令，但 SortArray Test(), 0, , , , 1 就是无效指令，且不会给数组排序。

_____________

请参阅

字符串和数字语句和函数

Dim

TableSort


Str$() 示例

该示例用 Str$() 构造一个可接受为信息框中字符串的一部分的数字型变量。注意：“were”后不需要空格，因为 Str$() 在 a$ 的开始处已包含了空格。

sales = 2400

a$ = Str$(sales)

MsgBox "Sales this week were" + a$ + " dollars."

用下面的函数可返回不带前导空格的代表数字型变量的字符串：

Function MyString$(Num)

If Num >= 0 Then

MyString$ = LTrim$(Str$(Num))

Else

MyString$ = Str$(Num)

End If

End Function

在另一子程序中，String1$ = MyString$(25) 是调用上述函数的指令的示例。


Str$()

示例

Str$(n)

返回 n 值的字符串表示。如果 n 是正数，Str$() 就返回带前导空格的字符串。用 LTrim$() 可删除前导空格。

_____________

请参阅

字符串和数字语句和函数

Chr$()

InStr()

Left$()

LTrim$()

Mid$()

Right$()

RTrim$()

String$()

Val()


UCase$() 示例

该示例显示 InputBox$() 对话框来提示键入首字母缩略词。选择“确定”时，该文字就存至 acronym$ 变量，然后转换为大写字母。

acronym$ = InputBox$("Please enter an acronym.")

acronym$ = UCase$(acronym$)


UCase$()

示例

UCase$(Source$)

返回一个字符串，其中 Source$ 的所有字母都转换为大写。

_____________

请参阅

字符串和数字语句和函数

ChangeCase

LCase$()


CountStyles() 示例s
CountStyles() 示例

该示例返回用于活动文档所附模板中的所有内部样式的数目加上用户所建样式的数目。

n = CountStyles(1, 1)

下例将样式从所附模板合并至活动文档。然后，如果有的话，从为文档定义的样式的数目中减去为模板定义的样式的数目，宏就能查找出只为活动文档定义的样式的数目。

FormatStyle .Source = 1, .Merge

n = CountStyles(0, 0) - CountStyles(1, 0)


CountStyles()

示例

CountStyles([Context] [, All])

返回为指定上下文定义的样式的数目。

参数	解释
Context	指定要计数的样式的位置： 0 或忽略    活动文档        1  活动模板
All	指定是否要包含内部样式： 0 或忽略    排除内部样式。        1  包含内部样式。 注意：Word 包含 75 个内部样式，其中两个是默认定义的：“默认段落字体”和“正文”。
_____________

请参阅

样式格式语句和函数

StyleName$()


FormatDefineStyleBorders

FormatDefineStyleBorders [.ApplyTo = number] [, .Shadow = number] [, .TopBorder = number] [, .LeftBorder = number] [, .BottomBorder = number] [, .RightBorder = number] [, .HorizBorder = number] [, .VertBorder = number] [, .TopColor = number] [, .LeftColor = number] [, .BottomColor = number] [, .RightColor = number] [, .HorizColor = number] [, .VertColor = number] [, .FineShading = number] [, .FromText = number or text] [, .Shading = number] [, .Foreground = number] [, .Background = number] [, .Tab = number]

为当前样式或含 .Define 参数的 FormatStyle 指令指定的样式设置边框和底纹格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStyleBorders 指令在 FormatStyle 指令之后。

FormatDefineStyleBorders 语句的参数相当于“格式”菜单的“边框和底纹”对话框中的选项。参数的描述请参阅FormatBordersAndShading。如何使用相似语句定义样式的示例请参阅 FormatDefineStyleFont 示例和 FormatDefineStylePara 示例。

_____________

请参阅

样式格式语句和函数

FormatBordersAndShading

FormatDefineStyleFont

FormatDefineStylePara

FormatStyle


 FormatDefineStyleFont 示例

该示例将“TestMe”样式的字符格式定义为 10 磅、粗体和小型大写字母。如果该样式不存在，Word 就会创建。

FormatStyle .Name = "TestMe", .Define

FormatDefineStyleFont .Points = "10", .Bold = 1, .SmallCaps = 1


FormatDefineStyleFont

示例

FormatDefineStyleFont [.Points = number] [, .Underline = number] [, .Color = number] [, .Strikethrough = number] [, .Superscript = value] [, .Subscript = value] [, .Hidden = number] [, .SmallCaps = number] [, .AllCaps = number] [, .Spacing = value] [, .Position = number or text] [, .Kerning = number] [, .KerningMin = number or text] [, .Default] [, .Tab = number] [, .Font = text] [, .Bold = number] [, .Italic = number]

为当前样式或含 .Define 参数的 FormatStyle 指令指定的样式设置字符格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStyleFont 指令在 FormatStyle 指令之后。

FormatDefineStyleFont 语句的参数相当于“格式”菜单的“字体”对话框中的选项。参数的描述请参阅 FormatFont。

_____________

请参阅

样式格式语句和函数

FormatFont

FormatStyle


FormatDefineStyleFrame

FormatDefineStyleFrame [.Wrap = number] [, .WidthRule = number] [, .FixedWidth = number or text] [, .HeightRule = number] [, .FixedHeight = number or text] [, .PositionHorz = number or text] [, .PositionHorzRel = number] [, .DistFromText = number or text] [, .PositionVert = number or text] [, .PositionVertRel = number] [, .DistVertFromText = number or text] [, .MoveWithText = number] [, .LockAnchor = number] [, .RemoveFrame]

为当前样式或含 .Define 参数的 FormatStyle 指令指定的样式设置图文框格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStyleFrame 指令在 FormatStyle 指令之后。

FormatDefineStyleFrame 语句的参数相当于“格式”菜单的“图文框”对话框中的选项。参数的描述请参阅 FormatFrame。如何使用相似语句定义样式的示例请参阅 FormatDefineStyleFont 示例和 FormatDefineStylePara 示例。

_____________

请参阅

样式格式语句和函数

FormatDefineStyleFont

FormatDefineStylePara

FormatFrame

FormatStyle


FormatDefineStyleLang

FormatDefineStyleLang .Language = text [, .Default]

为当前样式或含 .Define 参数的 FormatStyle 指令指定的样式设置语言格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStyleLang 指令在 FormatStyle 指令之后。

FormatDefineStyleLang 语句的参数相当于“工具”菜单的“语言”对话框中的选项。参数的描述请参阅 ToolsLanguage。如何使用相似语句定义样式的示例请参阅 FormatDefineStyleFont 示例和 FormatDefineStylePara 示例。

_____________

请参阅

样式格式语句和函数

FormatDefineStyleFont

FormatDefineStylePara

FormatStyle

ToolsLanguage


FormatDefineStyleNumbers

FormatDefineStyleNumbers [.Points = text] [, .Color = number] [, .Before = text] [, .Type = number] [, .After = text] [, .StartAt = text] [, .Include = number] [, .Alignment = number] [, .Indent = text] [, .Space = number or text] [, .Hang = number] [, .Level = text] [, .CharNum = text] [, .Font = text] [, .Strikethrough = number] [, .Bold = number] [, .Italic = number] [, .Underline = number]

为当前样式或含 .Define 参数的 FormatStyle 指令指定的样式设置编号格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStyleNumbers 指令在 FormatStyle 指令之后。

FormatDefineStyleNumbers 语句的参数相当于“格式”菜单中“项目符号和编号”命令的“更改”对话框中的选项。参数的描述请参阅FormatBullet、FormatMultilevel  和 FormatNumber。如何使用相似语句定义样式的示例请参阅 FormatDefineStyleFont 示例 和 FormatDefineStylePara 示例。

_____________

请参阅

样式格式语句和函数

FormatBullet

FormatDefineStyleFont

FormatDefineStylePara

FormatMultilevel

FormatNumber

FormatStyle


FormatDefineStylePara 示例

该示例将“段前”4 磅格式和“段后”4 磅格式添至“TestMe”样式的定义。

FormatStyle .Name = "TestMe", .Define

FormatDefineStylePara .Before = "4 pt", .After = "4 pt"


FormatDefineStylePara

示例

FormatDefineStylePara [.LeftIndent = number or text] [, .RightIndent = number or text] [, .Before = number or text] [, .After = number or text] [, .LineSpacingRule = number] [, .LineSpacing = number or text] [, .Alignment = number] [, .WidowControl = number] [, .KeepWithNext = number] [, .KeepTogether = number] [, .PageBreak = number] [, .NoLineNum = number] [, .DontHyphen = number] [, .Tab = number] [, .FirstIndent = number or text]

为当前样式或含 .Define 参数的 FormatStyle 指令指定的样式设置段落格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStylePara 指令在 FormatStyle 指令之后。

FormatDefineStylePara 语句的参数相当于“格式”菜单的“段落”对话框中的选项。参数的描述请参阅 FormatParagraph。

_____________

请参阅

样式格式语句和函数

FormatParagraph

FormatStyle


FormatDefineStyleTabs

FormatDefineStyleTabs [.Position = text] [, .DefTabs = number or text] [, .Align = number] [, .Leader = number] [, .Set] [, .Clear] [, .ClearAll]

为当前格式或含 .Define 参数的 FormatStyle 指令指定的样式设置制表位格式。注意：修改 FormatStyle 指定的样式时，FormatDefineStyleTabs 指令在 FormatStyle 指令之后。

FormatDefineStyleTabs 语句的参数相当于“格式”菜单的“制表位”对话框中的选项。参数的描述请参阅 FormatTabs。如何使用相似语句定义样式的示例请参阅 FormatDefineStyleFont 示例和 FormatDefineStylePara 示例。

_____________

请参阅

样式格式语句和函数

FormatDefineStyleFont

FormatDefineStylePara

FormatStyle

FormatTabs


FormatStyle 示例s
FormatStyle 示例

该示例给所选段落应用“正文”样式且等同于 NormalStyle 语句：

FormatStyle .Name = "Normal", .Apply

下例将“TestMe”样式的字符格式定义为 10 磅、粗体和小型大写字母。如果该样式还不存在，Word 就会创建。

FormatStyle .Name = "TestMe", .Define

FormatDefineStyleFont .Points = "10", .Bold = 1, .SmallCaps = 1


FormatStyle

示例

FormatStyle .Name = text [, .Delete] [, .Merge] [, .NewName = text] [, .BasedOn = text] [, .NextStyle = text] [, .Type = number] [, .FileName = text] [, .Source = number] [, .AddToTemplate = number] [, .Define] [, .Rename] [, .Apply]

创建、修改、重定义、应用或删除指定样式。用 FormatStyle 可从活动文档所附模板中将样式合并至活动文档。FormatStyle 语句的参数相当于“格式”菜单的“样式”对话框中的选项。

在 FormatStyle 指令后使用下列某条或多条指令可为样式定义格式：FormatDefineStyleBorders、FormatDefineStyleFont、FormatDefineStyleFrame、FormatDefineStyleLang、FormatDefineStyleNumbers、FormatDefineStylePara 和 FormatDefineStyleTabs。

用 Organizer 可复制样式。

参数	解释
.Name	样式名。
.Delete	删除指定样式。
.Merge	根据为 .Source 指定的值，将样式合并至（或出）.FileName 指定的文档或模板。
.NewName	为样式指定新名称，与 .Rename 一同使用。
.BasedOn	指定要作为指定样式基础的已有样式。
.NextStyle	指定在设有 .Name 所指定样式的段落中按 ENTER 键后要自动应用于新段落的样式。
.Type	在新建样式时指定类型： 0 或忽略 段落        1 字符
.FileName	样式要合并至或（出）的文档或模板。如果忽略 .FileName 且将 .Source 设为 1，样式就从活动模板合并至活动文档。
.Source	指定要将样式合并至还是合并出活动文档： 0 从活动文档至 .FileName 指定的文件。 1 从 .FileName 指定的文件至活动文档。
.AddToTemplate	如果是 1，相当于选中“添加到模板”复选框。
.Define	用后续指令指定的格式重定义已有样式或新建样式。
.Rename	将 .Name 指定的样式重命名为 .NewName 指定的名称。
.Apply	将样式应用于所选段落。
_____________

请参阅

样式格式语句和函数

CountStyles()

FormatDefineStyleBorders

FormatDefineStyleFont

FormatDefineStyleFrame

FormatDefineStyleLang

FormatDefineStyleNumbers

FormatDefineStylePara

FormatDefineStyleTabs

NormalStyle

Organizer

Style

StyleName$()


FormatStyleGallery

FormatStyleGallery .Template = text [, .Preview = number]

将样式从指定模板复制到活动文档。将更新已有样式。

参数	解释
.Template	含有要应用的样式的模板。允许使用路径。在 Windows 中，不需要包含文件名扩展名 .DOT。
.Preview	指定当用 Dialog 或 Dialog() 指令显示对话框时“样式库”对话框中预览的内容： 0 活动文档 1 示例文档 2 样式和示例列表
示例请参阅 FormatAutoFormat 示例。

_____________

请参阅

样式格式语句和函数

FormatAutoFormat

FormatStyle

ToolsOptionsAutoFormat


NormalStyle 示例

该示例选定当前段落，并且在该段落含有字符串“Comments:”时应用“正文”样式。“\Para”书签是 Word 自动设置和更新的几个预定义书签之一。预定义书签的详情请参阅 Predefined Bookmarks.。

EditGoTo .Destination = "\Para"

If InStr(Selection$(), "Comments:") Then NormalStyle


NormalStyle

示例

NormalStyle

给所选段落应用“正文”样式。没有相当于 NormalStyle 的函数，但用 StyleName$() 函数可确定当前样式。例如：If StyleName$()="Normal" Then MsgBox "Normal paragraph" 指令将在当前段落为“正文”样式时显示消息框。

_____________

请参阅

样式格式语句和函数

FormatStyle

ResetPara

Style

StyleName$()


Style 示例

该示例查找出后面是段落标记的单词“Overview”的首次出现并应用“标题 1”样式：

StartOfDocument

EditFind .Find = "Overview^p", .Direction = 0, .MatchCase = 1, \

.Format = 0

If EditFindFound() Then Style "Heading 1"


Style

示例

Style StyleName$

将某一样式应用于所选段落。如果没有 StyleName$，就会出错。用 FormatStyle 可创建样式。

_____________

请参阅

样式格式语句和函数

FormatStyle

NormalStyle

StyleName$()


StyleDesc$() 示例

该示例用消息框显示“标题 1”样式的说明：

infostyle$ = "Heading 1"

MsgBox StyleDesc$(infostyle$), "Description for " + infostyle$


StyleDesc$()

示例

StyleDesc$(StyleName$)

返回活动文档中指定样式的说明。例如：“标题 1”样式的典型说明是“正文+Arial、14 磅、粗体、段前 12 磅、段后 3 磅”。如果没有 StyleName$ ， StyleDesc$() 会返回空字符串（“”）。

_____________

请参阅

样式格式语句和函数

CountStyles()

FormatStyle

StyleName$()


FieldSeparator$, FieldSeparator$()

FieldSeparator$ Separator$

FieldSeparator$()

FieldSeparator$ 语句设置分隔符 Separator$，在 TextToTable 操作中，Word 能在划分单元格之间的文字时识别该分隔符。例如：如果数据中的信息项用百分号（%）分界，可在将数据转换为表格前使用 FieldSeparator$ "%" 指令。FieldSeparator$() 函数返回当前分隔符。

_____________

请参阅

表格语句和函数

TextToTable


TableAutoFormat 示例

该示例将表格格式“古典 2”的所有属性应用于插入点所在表格。如果插入点不在表格中，就会显示信息框。

If SelInfo(12) = -1 Then	'If insertion point is in a table

TableAutoFormat .Format = 5, .Borders = 1, .Shading = 1, \

.Font = 1, .Color = 1, .AutoFit = 1, .HeadingRows = 1, \

.FirstColumn = 1, .LastRow = 0, .LastColumn = 1

Else

MsgBox "The insertion point is not in a table."

End If


TableAutoFormat

示例

TableAutoFormat [.Format = number] [, .Borders = number] [, .Shading = number] [, .Font = number] [, .Color = number] [, .AutoFit = number] [, .HeadingRows = number] [, .FirstColumn = number] [, .LastRow = number] [, .LastColumn = number]

将预定义外观应用于表格。TableAutoFormat 语句的参数相当于“表格”菜单中“表格自动套用格式”对话框中的选项。

参数	解释
.Format	要用的格式：0 相当于“格式”列表框中第一种格式（“无”），1 相当于第二种格式，依此类推。
.Borders	如果是 1，应用指定格式的边框属性。
.Shading	如果是 1，应用指定格式的底纹属性。
.Font	如果是 1，应用指定格式的字体属性。
.Color	如果是 1，应用指定格式的颜色属性。
.AutoFit	如果是 1，尽可能减小表格的列宽而不改变文字在单元格中的排列方式。
.HeadingRows	如果是 1，应用指定格式的标题行属性。
.FirstColumn	如果是 1，应用指定格式的首列属性。
.LastRow	如果是 1，应用指定格式的末行属性。
.LastColumn	如果是 1，应用指定格式的末列属性。
_____________

请参阅

表格语句和函数

TableColumnWidth

TableHeadings

TableRowHeight

TableUpdateAutoFormat


TableAutoSum

TableAutoSum

插入 =(Formula) 域，用于计算并显示插入点所在单元格上方或左边的表格单元格中数值的总和。Word 确定待累计值的方法请参阅 TableFormula。

_____________

请参阅

表格语句和函数

TableFormula


TableColumnWidth 示例

该示例将文档中每张表格的首列宽度调至 2 英寸，将第二列宽度调至 3 英寸。第一条 TableColumnWidth 指令既对首列设置格式，又将所选内容移至第二列。

StartOfDocument

While ParaDown()

If SelInfo(12) =  -1 Then	'If insertion point is in a table

StartOfRow

TableSelectColumn

TableColumnWidth .ColumnWidth = "2 in", .RulerStyle = 0, \

.NextColumn

If SelInfo(18) > 1 Then	'If more than one column

TableColumnWidth .ColumnWidth = "3 in", .RulerStyle = 0

End If

LineDown

End If

Wend


TableColumnWidth

示例

TableColumnWidth [.ColumnWidth = number or text] [, .SpaceBetweenCols = number or text] [, .PrevColumn] [, .NextColumn] [, .AutoFit] [, .RulerStyle = number]

设置所选单元格的列宽和列间距。TableColumnWidth 语句的参数相当于“表格”菜单的“单元格高度和宽度”对话框中的“列”选项卡上的选项。

参数	解释
.ColumnWidth	要应用到所选单元格或列所的宽度，按磅或文字尺寸计量。（.RulerStyle 指定对其它列的影响）。
.SpaceBetweenCols	各列中文字间的距离，按磅或文字尺寸计量。
.PrevColumn	完成前面参数指定的操作（如果有的话）后，选定前一列。
.NextColumn	完成前面参数指定的操作（如果有的话）后，选定下一列。
.AutoFit	尽可能多地减小所选单元格的宽度，而不改变单元格中文字的排列方式。
.RulerStyle	指定 Word 调整表格的方式： 0 如果有选定范围，只改变所选单元格，不保留行宽；如果没有选这范围，Word 设置所选列中全部单元格的尺寸。 1 Word 通过调整选定内容右边的全部单元格与其宽度成比例来保留行宽。 2 Word 通过只调整紧邻选定内容右边的列中的单元格来保留行宽。 3 Word 通过调整选定内容右边的全部单元格来保留行宽，给它们都指定相同宽度。 4 只改变插入点所在单元格 （或选定内容中的第一个单元格）。不保留行宽。
_____________

请参阅

表格语句和函数

SelInfo()

TableDeleteColumn

TableRowHeight

TableSelectColumn


TableDeleteCells 示例

该示例在表格多于两行时删除其中第一个单元格。

If SelInfo(15) > 2 Then

TableSelectTable

StartOfRow

TableDeleteCells

End If


TableDeleteCells

示例

TableDeleteCells .ShiftCells = number

删除所选单元格。如果插入点或选定内容不在表格中，就会出错。

参数	解释
.ShiftCells	设置移动剩余单元格的方向。 0 或忽略 单元格向左移。 1 单元格向上移。 2 删除整行。. 3 删除整列。
_____________

请参阅

表格语句和函数

SelInfo()

TableDeleteColumn

TableDeleteRow


TableDeleteColumn 示例

该示例删除表格的首列。

StartOfRow

TableDeleteColumn


TableDeleteColumn

示例

TableDeleteColumn

删除插入点所在表格列，或删除所有含部分选定内容的列。如果插入点或选定内容不在表格中，就会出错。

_____________

请参阅

表格语句和函数

SelInfo()

TableDeleteCells

TableDeleteRow


TableDeleteRow 示例

如果表格多于两行，该示例删除表格末行。

If SelInfo(15) > 2 Then

EndOfColumn

TableDeleteRow

End If


TableDeleteRow

示例

TableDeleteRow

删除插入点所在行，或删除所有含部分选定内容的行。如果插入点或选定内容不在表格中，就会出错。

_____________

请参阅

表格语句和函数

SelInfo()

TableDeleteCells

TableDeleteColumn


TableFormula Example
TableFormula 示例

该示例在表格尾添加一行，并将插入点移到最后一个单元格，然后插入一个用于累计最后一列中的值的 =(Formula) 域。

TableSelectTable

EndOfRow

NextCell

EndOfRow

TableFormula .Formula = "=SUM(ABOVE)"


TableFormula

示例

TableFormula [.Formula = text] [, .NumFormat = text]

在插入点插入含指定公式的 =(Formula) 域。如果插入点位于已含 =(Formula) 域的表格单元格，含指定公式的域会替换已有的域。

参数	解释
.Formula	要用 =(Formula) 域计算的数学公式。对表格单元格的电子表单型的引用有效。例如："=SUM(a4:c4)" 指定了第四行中的前三个值。
.NumFormat	=(Formula) 域结果的格式。要了解格式示范，可选择“表格”菜单中的“公式”命令并查看“编号格式”框中的列表。
如果插入点在表格中，只要插入点所在单元格之上或左边至少有一个单元格有值，就可任意选择是否指定 .Formula。如果上边的单元格有值，所插域为 {=SUM(ABOVE)}；如果左边的单元格有值，所插域为 {=SUM(LEFT)}。如果上边和左边的单元格都有值，Word 用下面的方法来确定插入哪种 SUM 函数。

如果紧邻插入点之上的单元格有值，Word 插入 {=SUM(ABOVE)}。

如果紧邻插入点之上的单元格无值，而其左边紧邻的单元格有值，Word 插入 {=SUM(LEFT)}。

如果相邻单元格都无值，Word 插入 {=SUM(ABOVE)}。

如不指定 .Formula，且插入点上方和左边的单元格都是空的，就会出现域错误。

_____________

请参阅

表格语句和函数

InsertField

TableAutoSum

ToolsCalculate


e  TableGridlines 示例
TableGridlines 示例

该示例在表格虚框尚未显示时显示表格虚框。可将该指令用作 AutoOpen 宏的一部分，以便无论何时打开建于特定模板的文档，都能显示表格虚框。

If Not TableGridlines() Then TableGridlines 1


TableGridlines, TableGridlines()

示例

TableGridlines [On]

TableGridlines()

TableGridlines 语句显示或隐藏表格虚框。

参数	解释
On	指定是显示还是隐藏表格虚框： 0  隐藏表格虚框。 1  显示表格虚框。 忽略  切换该选项的打开或关闭。
TableGridlines() 函数返回下列值：

值	解释
0	如果表格虚框隐藏
-1	如果表格虚框显示
_____________

请参阅

表格语句和函数

ToolsOptionsView


TableHeadings, TableHeadings()

TableHeadings [On]

TableHeadings()

TableHeadings 语句给所选行添或取消表格标题格式。表格跨越多页时，行设为重复出现的表格标题格式。

参数	解释
On	指定添加或取消表格标题格式： 0   取消表格标题格式。 1   添加表格标题格式。 忽略   切换表格标题格式。
TableHeadings() 函数返回下列值：

值	解释
0	如果所选行均未设为表格标题。
-1	如果所选行中有一行或多行（但不是全部）设为表格标题。
1	如果所选行全都设为表格标题。
_____________

请参阅

表格语句和函数

TableRowHeight


TableInsertCells 示例

该示例用预定义书签“\Cell”选中当前单元格及其下方的单元格，然后插入两个新单元格。已有单元格将向右移动。If 控制结构确保所选内容在 TableInsertCells 运行之前完全位于表格内。

EditGoTo "\Cell"

LineDown 1, 1

If SelInfo(12) = -1 Then

TableInsertCells .ShiftCells = 0

Else

MsgBox "Selection extends outside the table."

End If


TableInsertCells

示例

TableInsertCells [.ShiftCells = number]

在表格中所选单元格范围的上边或左边插入单元格。如果插入点或所选内容不在表格中，就会出错。

参数	解释
.ShiftCells	设置单元格在选定范围内移动的方向： 0 单元格向右移。 1 或忽略 单元格向下移。 2 插入一整行。 3 插入一整列。
_____________

请参阅

表格语句和函数

SelInfo()

TableInsertColumn

TableInsertRow


TableInsertColumn 示例

该示例在插入点所在表格的末尾添加一列。

TableSelectTable	'Select the entire table

StartOfColumn	'Move to the end of the first row

TableInsertColumn	'Add a new column


TableInsertColumn

示例

TableInsertColumn

在插入点所在列的左边插入一列，或在所选内容左边插入与所选列数量相同的列。如果插入点或选中内容不在表格中，就会出错。

_____________

请参阅

表格语句和函数

TableInsertCells

TableInsertRow


TableInsertRow 示例

下例在表格末尾添加一行。

TableSelectTable

CharRight

TableInsertRow

该示例在表格开头添加两行。

TableSelectTable

StartOfRow

TableInsertRow .NumRows = 2


TableInsertRow

示例

TableInsertRow [.NumRows = number]

在所选定或插入点所在行的上方插入一行。如果插入点或选定内容不在表格中，就会出错。如果插入点紧接表格之后，TableInsertRow 在该表格末尾插入一行。

参数	解释
.NumRows	要添加的行数。如果 .NumRows 是 0 或忽略，TableInsertRow 在选定内容上方插入与选定内容行数相同的行。
_____________

请参阅

表格语句和函数

TableInsertCells

TableInsertColumn


TableInsertTable Example

该示例插入一个 3 列 5 行的表格。

TableInsertTable .NumColumns = 3, .NumRows = 5, \

.InitialColWidth = "2 in"


TableInsertTable

示例

TableInsertTable [.ConvertFrom = number] [, .NumColumns = number] [, .NumRows = number] [, .InitialColWidth = number or text] [, .Wizard] [, .Format = number] [, .Apply = number]

将一系列选定的段落转换为表格，若没有选定内容，插入空表格。如果插入点已经在表格内，就会出错。

参数	解释
.ConvertFrom	指定用于将文字项分隔为单元格内容的字符。 0 段落标记（Word 将相隔的段落放入第二列） 1 制表符 2 逗号
.NumColumns	表格的列数。
.NumRows	表格的行数。
.InitialColWidth	按磅或文字尺寸度量的各列初始宽度。如果忽略，就会计算列宽以便表格充满页面。
.Wizard	运行“表格”向导。
.Format	“表格”菜单的“表格自动套用格式”对话框列出的某种预定义格式：0 相当于“格式”框中所列的第一种格式（“无”），1 相当于第二种格式，依此类推。
.Apply	指定表格将应用的 .Format 指定的格式属性。可用下列值的任意组合之和。 0 无 1 边框 2 底纹 4 字体 8 颜色 16    自动匹配 32    标题行 64    末行 128    首列 256    末列
_____________

请参阅

表格语句和函数

TableAutoFormat

TableToText

TextToTable


TableMergeCells 示例

该示例合并当前所选单元格，或在不能执行命令时显示消息框。

On Error Goto No

TableMergeCells

No:

If Err = 509 Then

MsgBox "Sorry, can't merge."

End If


TableMergeCells

示例

TableMergeCells

将在同一行中选定的表格单元格合并为一个单元格。选定范围可跨多行，但是 Word 只合并同一行中的单元格。如果 Word 不能合并单元格（比如只选了一个单元格），TableMergeCells 就会生成错误。

_____________

请参阅

表格语句和函数

TableSplitCells


TableRowHeight 示例

该示例为所选行设置最小行高为 2 行，并从左页边距将它们缩进 1 英寸。

TableRowHeight .RulerStyle = "0", .LeftIndent = "1 in", \

.LineSpacingRule = 1, .LineSpacing = "2 li", .Alignment = 0


TableRowHeight

示例

TableRowHeight [.RulerStyle = text] [, .LineSpacingRule = number] [, .LineSpacing = number or text] [, .LeftIndent = number or text] [, .Alignment = number] [, .AllowRowSplit = number] [, .PrevRow] [, .NextRow]

给在表格中选定的行设置格式。TableRowHeight 语句的参数相当于“表格”菜单中“单元格高度和宽度”对话框中的“行”选项卡上的选项。

参数	参数 解释
.RulerStyle	改变左缩进时，指定 Word 调整表格的方式： 0 Word 将单元格移到右边。 1 Word 将所选行中的单元格全部调窄至与其宽度成比例，以保持表格右边界的位置。 2 Word 只将首列的单元格调窄，以保持表格右边界的位置。 3 Word 将所选行中的单元格全部调窄，同时给它们指定相同宽度，以保持表格右边界的位置。 4 Word 只缩进插入点所在行（或选定内容的首行）。 改变行高时，指定影响到的行： 0、1、2 或 3    如果有选定内容，只影响所选行；如果没有选定内容，影响所有行。 4 只影响插入点所在行或选定内容的首行。
.LineSpacingRule	确定行高的方式： 0 自    动 1 最小设置 2 精 确 值
.LineSpacing	按磅或文字尺寸计量的行高。
.LeftIndent	按磅或文字尺寸计量的文字左边界与左页边距之间的距离。
.Alignment	对齐行： 0 左对齐 1 居  中 2 右对齐
.AllowRowSplit	如果是 1，允许在分页符处拆分行中文字。
.PrevRow	选定上一行设置格式。
.NextRow	选定下一行设置格式。
_____________

请参阅

表格语句和函数

TableColumnWidth

TableHeadings

TableSelectRow


TableSelectColumn 示例

该示例在表格首列前新添两列。

TableSelectTable	'Select the entire table

StartOfRow	'Go to the first cell

TableSelectColumn	'Select the first column

CharRight 1, 1	'Extend selection to the second column

TableInsertColumn	'Insert two new columns


TableSelectColumn

示例

TableSelectColumn

选定插入点所在表格列，或选定所有含选定内容的列。如果插入点或选定内容不在表格中，就会出错。.

_____________

请参阅

表格语句和函数

TableSelectRow

TableSelectTable


TableSelectRow

TableSelectRow

选定插入点所在表格行，或选定所有含选定内容的行。如果插入点或选定内容不在表格中，就会出错。

_____________

请参阅

表格语句和函数

TableSelectColumn

TableSelectTable


TableSelectTable 示例

该示例将插入点移至表格中第一个单元格。

TableSelectTable

StartOfRow

下例将插入点移至表格首行的行结束标记。插入点在这个位置时，用 TableInsertColumn 可在表格末尾处添加一列。

TableSelectTable

StartOfColumn

下例将插入点移到表格后面的第字符处。

TableSelectTable

CharRight


TableSelectTable

示例

TableSelectTable

选定插入点所在整个表格。如果插入点或选定内容不在表格中，就会出错。如本条目的示例所示，可结合其它 WordBasic 语句，用 TableSelectTable 将插入点确实地移至表格的第一个单元格或表格后面的第一个字符。

_____________

请参阅

表格语句和函数

TableSelectColumn

TableSelectRow


TableSort 示例

该示例按字母升序将表格行排序，先排首列，再排第二列。排序操作排除首行。

Select Case SelInfo(15)

Case -1

MsgBox "Please place the insertion point in a table."

Case 1

MsgBox "Sorry, can't sort a single-row table."

Case Else

TableSelectTable

TableSort .Order = 0, .FieldNum = "1", .Type = 0, \

.Order2 = 0, .FieldNum2 = "2", .Type2 = 0, \

.DontSortHdr = 1

End Select

下图显示前面示例排序前后的表格情况。

排序前	在排序后


TableSort

示例

TableSort [.DontSortHdr = number] [, .FieldNum = number] [, .Type = number] [.Order = number] [, .FieldNum2 = number] [, .Type2 = number] [, .Order2 = number] [, .FieldNum3 = number] [, .Type3 = number] [, .Order3 = number] [, .Separator = number] [, .SortColumn = number] [, .CaseSensitive = number]

对所选段落或表格排序。如果要对表格单元格中的段落排序，要只选段落而不选单元格结束标记。如果在选定单元格结束标记后排序，Word 将显示信息，说未发现有效排序记录。TableSort 的参数相当于“表格”菜单中的“排序”对话框中的选项。

参数	解释
.DontSortHdr	如果是 1，将排序操作排除首段或表格首行。
.FieldNum, .FieldNum2, .FieldNum3	用以排序的域（文字或表格列）的编号。Word 按 .FieldNum、.FieldNum2、.FieldNum3 顺序排序。
.Type, .Type2, .Type3	.FieldNum、.FieldNum2 和 .FieldNum3 各自的排序类型： 0 字母数字 1 数    字 2 日    期
.Order, .Order2, .Order3	给 .FieldNum、.FieldNum2 和 .FieldNum3 排序时要用的排序顺序： 0 升序 1 降序
.Separator	分隔符的类型（与表格行无关）： 0 逗  号 1 制表符 2 其  它（“排序选项”对话框的“其它”框中出现的字符）
.SortColumn	如果是 1，只排所选列（需要选定列）。
.CaseSensitive	如果是 1，排序时区分大小写。
_____________

请参阅

表格语句和函数

TableSortAToZ

TableSortZToA


TableSortAToZ

TableSortAToZ

对活动文档中的段落或表格行按字母数字升序排序。如果首段或表格首行是有效标题记录，将不包括在排序中。TableSortATotZ 可对邮件合并数据源排序。

_____________

请参阅

表格语句和函数

MailMergeEditDataSource

TableSort

TableSortZToA


TableSortZToA

TableSortZToA

对活动文档中的段落或表格行按字母数字降序排序。如果首段或表格首行是有效标题记录，将不包括在排序中。TableSortZToA 可用于给邮件合并数据源排序。

_____________

请参阅

表格语句和函数

MailMergeEditDataSource

TableSort

TableSortAToZ


TableSplit 示例

该示例在表格多于 3 行时在第四行上方拆分该表格。

If SelInfo(15) > 3 Then

StartOfColumn

For i = 1 To 3

TableSelectRow

LineDown

Next

TableSplit

End If


TableSplit

示例

TableSplit

在表格当前行上方插入空段。除了拆分表格，还可在表格是文档中的第一个对象时，用 TableSplit 将空段插至该表格上方。如果插入点或选定内容不在表格中，就会出错。

_____________

请参阅

表格语句和函数

TableSplitCells


TableSplitCells

TableSplitCells [.NumColumns = text]

拆分每个选定的单元格。如果插入点或选定内容不在表格中，Word 就会出错。

参数	解释
.NumColumns	指定每个选定的单元格要拆分成的单元格数。如果忽略，Word 将各单元格拆成两个单元格。
_____________

请参阅

表格语句和函数

TableMergeCells

TableSplit


TableToText 示例

该示例将所选定单元格转换为用制表符分隔的表格。

TableToText


TableToText

示例

TableToText [.ConvertTo  = number]

将所选行转换为正文。必须选定行中要转换的所有单元格，否则就会出错。TableToText 语句的参数相当于“表格”菜单中的“将表格转换成文字”对话框中的选项。

参数	解释
.ConvertTo	确定用于分隔各单元格内容的字符： 0 段落标记 1 或忽略 制表符（每行以段落标记结束） 2 逗号（每行以段落标记结束） 3 其它（“将表格转换成文字”对话框的“其它”框中出现的字符）
_____________

请参阅

表格语句和函数

TableInsertTable

TextToTable


TableUpdateAutoFormat

TableUpdateAutoFormat

用预定义表格格式的特征更新插入点所在表格。例如：如果用 TableAutoFormat 应用表格格式，然后插入行和列，该表格就不会再符合预定义的外观。TableUpdateAutoFormat 可恢复格式。

_____________

请参阅

表格语句和函数

TableAutoFormat


TextToTable

TextToTable [.ConvertFrom = number] [, .NumColumns = number] [, .NumRows = number] [, .InitialColWidth = number or text] [, .Format = number] [, .Apply = number]

按指定分隔符将选定文字转换为表格。如果不带任何参数运行 TextToTable，Word 在没有逗号时将制表符用作分隔符，没有制表符时用逗号，制表符和逗号都没有或既有制表符又有逗号时用段落标记。TextToTable 语句的参数相当于“表格”菜单“将文字转换成表格”对话框中的选项。

参数	解释
.ConvertFrom	指定分隔文字元素的字符： 0 段落标记 1 制 表 符 2 逗    号 3 其    它（“将文字转换成表格”对话框的“其它”框中出现的字符）
.NumColumns	要创建的列数。
.NumRows	要创建的行数。
.InitialColWidth	按磅或文字尺寸计量的列宽。如果忽略，会计算列宽，以便使表格充满页面。
.Format	“表格”菜单的“表格自动套用格式”对话框中列出的某种预定义格式：0 相当于“格式”框中所列第一种格式（“无”），1 相当于第二种，依此类推。
.Apply	指定表格要用的 .Format 指定的格式属性。属性及其值的列表请参阅 TableInsertTable 。
_____________

请参阅

表格语句和函数

TableAutoFormat

TableInsertTable

TableToText


ToolsCustomize

ToolsCustomize [.Tab = number]

连同选中指定的选项卡显示“工具”菜单中的“自定义”对话框。

参数	说明
.Tab	要选中的选项卡： 0 工具栏 1 菜  单 2 键  盘
_____________

请参阅

工具语句和函数

AddButton

ToolsCustomizeKeyboard

ToolsCustomizeMenuBar

ToolsCustomizeMenus


ToolsHyphenation 示例

该示例开始断字，允许全为大写字母时断字并设置一个 24 磅的断字区。

ToolsHyphenation .AutoHyphenation = 1, .HyphenateCaps = 1, \

.HyphenationZone = "24 pt"


ToolsHyphenation

示例

ToolsHyphenation [.AutoHyphenation = number] [.HyphenateCaps = number] [, .HyphenationZone = number or text] [, .LimitConsecutiveHyphens = number]

对所选文字或整个文档断字。ToolsHyphenation 语句参数相当于“工具”菜单的“断字”对话框中的选项。

参数	说明
.AutoHyphenation	如果是 1，不提示检验就断字。
.HyphenateCaps	如果是 1，允许全为大写字母时断字。
.HyphenationZone	按磅或文字尺寸计量的断字区大小。断字区是行尾与右页边距之间允许的最大间距量。
.LimitConsecutiveHyphens	可用连字符结尾的连续行的最大数目（或对于“没有限制”用 0）。
_____________

请参阅

工具语句和函数

ToolsHyphenationManual


ToolsHyphenationManual 示例

该示例在运行 ToolsHyphenationManual 前设置一个 16 磅的断字区。如果取消“人工断字”对话框，错误处理器会防止出现 102 号错误（“命令失败”）出现。

ToolsHyphenation .AutoHyphenation = 0, .HyphenationZone = 16

On Error Goto trap

ToolsHyphenationManual

trap:

If Err = 102 Then Goto bye Else Error Err

bye:


ToolsHyphenationManual

示例

ToolsHyphenationManual

对文档断字，每当 Word 建议对某单词断字时，显示“工具”菜单的“断字”对话框中的“人工”按钮下的“人工断字”对话框，以便人工调整连字符的位置。要在运行 ToolsHyphenationManual 前设置断字选项，可用 ToolsHyphenation 语句并将 .AutoHyphenation 设为 0。

_____________

请参阅

工具语句和函数

ToolsHyphenation


ToolsLanguage 示例

该示例将 Brazilian Portuguese 作为“正文”样式的属性。

ToolsLanguage .Language = "Portugu阺 (BR)", .Default


ToolsLanguage

示例

ToolsLanguage .Language = text [, .Default]

设置所选文字的语言格式。语言格式为 Word 的校对工具识别文字，以便使用适于指定语言的规则。

参数	说明
.Language	语言名称
.Default	将指定语言格式添至活动模板的“正文”样式的定义
下表包含了 .Language 的有效设置。注意：带星号（*）的语言只对 Word 7.0 有效。

要指定该语言	将 .Language 设至该文字
（不作校对）	0  不包含文字“（零）”
巴斯克语*	Euskera
巴西葡萄牙语	Portugu阺 (BR)
加泰隆语	Catal�
捷克语*	萫歵ina
丹麦语	Dansk
荷兰语	Nederlands
荷兰语（推存）	Nederlands (voorkeur)
澳大利亚英语	English (AUS)
英国英语	English (UK)
美国英语	English (US)
芬兰语	Suomi
法语	Fran鏰is
French Candien	Canadien Fran鏰is
德语	Deutsch
希腊语*	Greek
匈牙利语*	Magyar
意大利语	Italiano
Norwegian Bokm錶	Norsk Bokm錶
新挪威语	Norsk Nynorsk
波兰语*	Polski
葡萄牙语	Portugu阺 (POR)
俄语*	Russian *
斯洛文尼亚语*	Slovenian
西班牙语	Espa駉l
瑞典语	Svenska
瑞士德语	Deutsch (Schweiz)
土耳其语*	T黵k鏴
_____________

请参阅

工具语句和函数

CountLanguages()

FormatDefineStyleLang

Language


ToolsOptions 示例

该示例显示“选项”对话框中的“视图”选项卡。On Error Resume Next 指令可在选择“取消”时防止 Word 显示错误信息。

On Error Resume Next

ToolsOptions .Tab = 0


ToolsOptions

示例

ToolsOptions .Tab = number

显示“工具”菜单中的“选项”对话框并选中指定的选项卡。除非在 ToolsOptions 前放置了 On Error 指令，否则在取消对话框时，Word 会显示错误信息。

参数	说明
.Tab	要选定的的选项卡： 0 视图 1 常规 2 编辑 3 打印 4 保存 5 拼写 6 语法 7 自动套用格式 8 修订 9 用户信息 10 兼容性 11 文件位置
_____________

请参阅

工具语句和函数

ToolsCustomize


ToolsOptionsEdit 示例

该示例切换“拖放式正文编辑”复选框：

Dim dlg As ToolsOptionsEdit

GetCurValues dlg

If dlg.DragAndDrop Then

dlg.DragAndDrop = 0

Else

dlg.DragAndDrop = 1

End If

ToolsOptionsEdit dlg


ToolsOptionsEdit

示例

ToolsOptionsEdit [.ReplaceSelection = number] [, .DragAndDrop = number] [, .AutoWordSelection = number] [, .InsForPaste = number] [, .Overtype = number] [, .SmartCutPaste = number] [, .AllowAccentedUppercase = number] [, .PictureEditor = text] [, .TabIndent = number]

设置编辑选项。ToolsOptionsEdit 语句的参数相当于“工具”菜单中“选项”对话框中的“编辑”选项卡上的选项。

参数	说明
.ReplaceSelection	如果是 1，用键入的文字代替所选文字。
.DragAndDrop	如果是 1，允许拖放式编辑。
.AutoWordSelection	如果是 1，每次拖动选定一个单词而不是一个字符。
.InsForPaste	如果是 1，允许使用 INS 键来粘贴剪贴板的内容。
.Overtype	如果是 1，用键入的文字代替插入点之后的文字。
.SmartCutPaste	如果是 1，在剪切和粘贴时自动调整单词和标点间的间距。
.AllowAccentedUppercase	如果是 1，允许使用校对工具和“更改大小写”功能来建议 Word 给大写字母添加重音标记。
.PictureEditor	要用于编辑图片的应用程序的名称，它出现在“图片编辑器”框中。
.TabIndent	如果是 1，TAB 键和 BACKSPACE 键可用于添加或取消列表格式。 此参数只对 Word 7.0 有效。
_____________

请参阅

工具语句和函数

Overtype


ToolsOptionsRevisions 示例

该示例在修订标记活动时指示 Word 设置带双下划线的插入文字的格式并在左页边距中添加蓝色修订线：

ToolsOptionsRevisions .InsertedTextMark = 4, \

.RevisedLinesMark = 1, .RevisedLinesColor = 2


ToolsOptionsRevisions

示例

ToolsOptionsRevisions [.InsertedTextMark = number] [, .InsertedTextColor = number] [, .DeletedTextMark = number] [, .DeletedTextColor = number] [, .RevisedLinesMark = number] [, .RevisedLinesColor = number] [, .HighlightColor = number]

为标记修订设置选项。ToolsOptionsRevisions 语句参数相当于“工具”菜单的“选项”对话框中“修订”选项卡上的选项。这些选项会影响修订标记活动的文档，以及用“工具”菜单的“修订”对话框中的“版本比较”命令与其它文档比较的文档。

参数	说明
.InsertedTextMark	插入文字的格式： 0 无格式 1 黑体 2 斜体 3 下划线 4 双下划线
.DeletedTextMark	删除文字的格式： 0 隐藏 1 删除线
.RevisedLinesMark	修订线的位置： 0 无 1 左侧线 2 右侧线 3 外侧线
.InsertedTextColor, .DeletedTextColor, .RevisedLinesColor	插入文字、删除文字和修订线的颜色。如果忽略，颜色设为“自动”。值的列表请参阅 CharColor。
.HighlightColor	突出显示的颜色。突出显示的颜色保持为当前色直至另外指定。如果突出显示的颜色设为 0，突出显示就成了透明的。 值的列表，请参阅 CharColor。 该参数只对 Word 7.0 有效。
_____________

请参阅

工具语句和函数

ToolsCompareVersions

ToolsRevisions

Highlight


ToolsOptionsUserInfo 示例

该示例设置当前用户的姓名名和姓名缩写：

ToolsOptionsUserInfo .Name = "Gina Fiori", .Initials = "GF"


ToolsOptionsUserInfo

示例

ToolsOptionsUserInfo [.Name = text] [, .Initials = text] [, .Address = text]

修改用户信息。ToolsOptionsUserInfo 语句的参数相当于“工具”菜单的“选项”对话框中的“用户信息”选项卡上的选项。

参数	说明
.Name	当前用户的姓名
.Initials	当前用户的姓名缩写
.Address	当前用户的通讯地址
_____________

请参阅

工具语句和函数

DocumentStatistics

FileSummaryInfo


ToolsRepaginate 示例

如果文档自上次保存后做了修改，该示例将其重新分页：

If IsDocumentDirty() Then ToolsRepaginate


ToolsRepaginate

示例

ToolsRepaginate

强行将整个文档重新分页。

_____________

请参阅

工具语句和函数

ToolsOptionsGeneral


ToolsReviewRevisions 示例

该示例显示修订标记，选定下一处标记过的文字，然后接收修订：

ToolsReviewRevisions .ShowMarks

ToolsReviewRevisions .FindNext

ToolsReviewRevisions .AcceptRevisions


ToolsReviewRevisions

示例

ToolsReviewRevisions [.ShowMarks] [, .HideMarks] [, .Wrap = number] [, .FindPrevious] [, .FindNext] [, .AcceptRevisions] [, .RejectRevisions]

搜索修订标记，或者接受或拒绝所选修订。ToolsReviewRevisions 的参数相当于“工具”菜单中“修订”命令的“审阅修订”对话框中的选项。

可为每条 ToolsReviewRevisions 指令使用下列某一参数。

参数	说明
.ShowMarks	在活动文档中显示修订标记。
.HideMarks	在活动文档中隐藏修订标记。
.Wrap	如果搜索从除文档首之外的位置开始且到达了文档尾，控制其结果： 0  或忽略  结束搜索操作并继续运行宏。 1 从文档首继续搜索至搜索起点。 2 Word 显示信息框询问是否要从文档首继续搜索。
.FindPrevious	向文档首搜索并选定最近的带修订标记的文字。
.FindNext	向文档尾搜索并选定最近的带修订标记的文字。
.AcceptRevisions	接受所选文字的修订。
.RejectRevisions	取消所选文字的修订。
_____________

请参阅

工具语句和函数

ToolsCompareVersions

ToolsOptionsRevisions

ToolsRevisions

ToolsRevisionType()


ToolsRevisionAuthor$() 示例

该示例查找下一处修订，并检查修订者。如果修订者是 Stella Richards，就接受此处修订。

ToolsRevisions .ViewRevisions = 1

ToolsReviewRevisions .FindNext

If ToolsRevisionAuthor$() = "Stella Richards" Then

ToolsReviewRevisions .AcceptRevisions

End If


ToolsRevisionAuthor$()

示例

ToolsRevisionAuthor$()

返回完成所选修订的作者姓名。如果所选内容不含修订标记，

ToolsRevisionAuthor$() 就返回空字符串（“”）。

_____________

请参阅

工具语句和函数

ToolsReviewRevisions

ToolsRevisionDate$()

ToolsRevisions

ToolsRevisionType()


ToolsRevisionDate$() 示例

该示例用 ToolsRevisionType() 函数确定选定范围中是否有修订，如果有，就用消息框显示完成所选修订的日期和时间；如果所选文字不含修订，Word 显示适当的消息框。

If ToolsRevisionType() <> 0 Then

MsgBox "Revision made " + ToolsRevisionDate$() + "."

Else

MsgBox "No revisions are selected."

End If


ToolsRevisionDate$()

示例

ToolsRevisionDate$()

返回完成所选修订的日期和时间。如果选定范围不含修订标记，

ToolsRevisionDate$() 返回空字符串。

_____________

请参阅

工具语句和函数

ToolsReviewRevisions

ToolsRevisionAuthor$()

ToolsRevisionDate()

ToolsRevisions

ToolsRevisionType()


ToolsRevisionDate() 示例

该示例查找下一处修订并检查修订日期。如果该修订是在当前日期十天前完成的，就拒绝。

ToolsRevisions .ViewRevisions = 1

ToolsReviewRevisions .FindNext

If (Now() - ToolsRevisionDate()) > 10 Then

ToolsReviewRevisions .RejectRevisions

End If


ToolsRevisionDate()

示例

ToolsRevisionDate()

返回与完成所选修订的日期和时间对应的系列数字，或者如果所选内容不含修订，就返回 -1。系列数字的详情请参阅 DateSerial().。

_____________

请参阅

工具语句和函数

ToolsReviewRevisions

ToolsRevisionAuthor$()

ToolsRevisionDate$()

ToolsRevisions

ToolsRevisionType()


ToolsRevisions 示例

该示例激活当前文档中的修订标记，但防止修订标记在编辑文档时显示：

ToolsRevisions .MarkRevisions = 1, .ViewRevisions = 0


ToolsRevisions

示例

ToolsRevisions [.MarkRevisions = number] [, .ViewRevisions = number] [, .PrintRevisions = number] [, .AcceptAll] [, .RejectAll]

指定活动文档中标记和审阅修订的方式。ToolsRevisions 语句的参数相当于“工具”菜单的“修订”对话框中的选项。

参数	说明
.MarkRevisions	如果是 1，激活修订标记。
.ViewRevisions	如果是 1，在打开修订标记编辑文档时在文档中显示修订标记。
.PrintRevisions	指定打印文档时是否包含修订标记： 0  不显示修订标记（修订以接受后的方式打印）。 1 显示修订标记。
.AcceptAll	接受活动文档中的所有修订。
.RejectAll	拒绝活动文档中的所有修订。
_____________

请参阅

工具语句和函数

ToolsCompareVersions

ToolsMergeRevisions

ToolsOptionsRevisions

ToolsReviewRevisions

ToolsRevisionType()


ToolsRevisionType()

ToolsRevisionType()

返回下列某值，相当于对所选文字所做修订的类型。

值	解释
0 (zero)	如果选定内容不含修订
1	如果全部或部分选定内容包含标记为插入的文字
2	如果全部或部分选定内容包含标记为删除的文字
3	如果选定内容包含替换文字（标记为插入且后面紧跟标记为选定的文字）
4	如果选定内容包含多处修订
有关的示例，请参阅 ToolsRevisionDate$() 示例。

_____________

请参阅

工具语句和函数

ToolsReviewRevisions

ToolsRevisionAuthor$()

ToolsRevisionDate()

ToolsRevisionDate$()

ToolsRevisions


ToolsShrinkToFit

ToolsShrinkToFit

试图将字体大小减至刚够适合少了几页的活动文档。如果最后一页只有很少几行文字，用 ToolsShrinkToFit 可以很方便地在打印时节省纸张。

_____________

请参阅

工具语句和函数

ViewZoomWholePage


ToolsWordCount 示例

该示例统计活动文档的页数、字数、字符符、段数和行数（包括脚注和尾注中的文字），然后在信息框中显示字数统计：

ToolsWordCount .CountFootnotes = 1

Dim dlg As ToolsWordCount

GetCurValues dlg

MsgBox "Current word count: " + dlg.Words


ToolsWordCount

示例

ToolsWordCount [.CountFootnotes = number] [, .Pages = text] [, .Words = text] [, .Characters = text] [, .Paragraphs = text] [, .Lines = text]

统计活动文档中的页数、字数、字符数、段数和行数。.CountFootnotes 参数是唯一可设的参数，其余参数都是只读参数，并且可与对话记录一同用于返回活动文档信息。详情请参阅本项的示例。对话记录的详情请参阅“Microsoft Word 开发工具”的第四章：“高级 WordBasic”。

参数	说明
.CountFootnotes	如果是 1，统计数字包括脚注和尾注中的文字。
.Pages	文档的页数。
.Words	文档的字数。
.Characters	文档的字符数。
.Paragraphs	文档的段落数。
.Lines	文档的行数。
_____________

请参阅

工具语句和函数

DocumentStatistics

FileSummaryInfo


ToolsEnvelopesAndLabels

要利用 WordBasic 创建或打印信封，可使用 ToolsCreateEnvelope。要创建或打印单个标签或整张标签单，可用ToolsCreateLabels.。


ClosePreview

ClosePreview

使活动文档从打印预览状态返回原视图状态。如果活动文档未用打印预览显示，ClosePreview 则无效。

_____________

 请参阅

视图语句和函数

FilePrintPreview


CloseViewHeaderFooter

CloseViewHeaderFooter

隐藏“页眉和页脚”工具栏，并将插入点移到它在文档区中的前一位置。如果插入点不在页眉和页脚，就会出错。

_____________

 请参阅

视图语句和函数

GoToHeaderFooter

ShowNextHeaderFooter

ShowPrevHeaderFooter

ViewHeader


Magnifier, Magnifier()

Magnifier [On]

Magnifier()

Magnifier 语句在打印预览中将鼠标指针从标准指针变为类似于放大镜的指针，或者反这。鼠标指针是放大镜指针时，可放大页面上的特定区域，或缩小以便查看整页或多页。

参数	解释
On	指定打印预览中鼠标的显示方式： 0 显示标准指针。 1 显示放大镜指针。 忽略    切换鼠标指针。
如果鼠标指针是放大镜，Magnifier() 函数返回 -1；如果是标准指针，则返回 0。

_____________

 请参阅

视图语句和函数

FilePrintPreview

ViewZoom


NormalViewHeaderArea

NormalViewHeaderArea [.Type = number] [, .FirstPage = number] [, .OddAndEvenPages = number] [, .HeaderDistance = text] [, .FooterDistance = text]

打开页眉／页脚窗格（标准视图和大纲视图）或显示页眉或页脚区（页面视图）并设置页眉或页脚的选项。Word 6.0 保留了显示页眉／页脚窗格的能力，以便编辑任何类型的页眉或页脚，而不用考虑文档页码，拼写检查器也因此能够突出显示页眉或页脚中的误拼单词。

NormalViewHeaderArea 语句的参数相当于 Word 2.x 的“页眉/页脚”对话框中的选项。注意：Word 6.0 中的这些选项通常用 FilePageSetup 设置。虽然能检索 NormalViewHeaderArea 对话记录中的信息，但不能用该语句显示 Word 2.x 的对话框。

参数	解释
.Type	指定显示页眉区还是页脚区。.Type 的可能值取决于 .FirstPage 和 .OddAndEvenPages 的设置。 如果 .FirstPage 和 .OddAndEvenPages 都设为 0： 0 页眉 1   页脚 如果 .FirstPage 设置为 1 而 .OddAndEvenPages 设置为 0： 0    页    眉 1    页    脚 2    首页页眉 3    首页页脚 如果 .FirstPage 设为 0而 .OddAndEvenPages 设为 1： 0    偶数页眉 1    偶数页脚 2    奇数页眉 3    奇数页脚 如果 .FirstPage 和 .OddAndEvenPages 都设为 0： 0 首页页眉 1 首页页脚 2 偶数页眉 3 偶数页脚 4 奇数页眉 5 奇数页脚
.FirstPage	如果是 1，允许首页页眉或页脚不同于节中其它各页。
.OddAndEvenPages	如果是 1，允许偶数页页眉或页脚不同于奇数页页眉或页脚。
.HeaderDistance	从页面顶端到页眉的距离。
.FooterDistance	从页面底端到页脚的距离。
_____________

 请参阅

视图语句和函数

FilePageSetup

ViewFooter

ViewHeader


ShowAll Example
ShowAll 示例

该示例示显示所有的非打印字符，然后搜索隐藏文字。

ShowAll 1

EditFindClearFormatting

EditFindFont .Hidden = 1

EditFind .Find = "", .Format = 1


ShowAll, ShowAll()

示例

ShowAll [On]

ShowAll()

ShowAll 语句显示所有的非打印字符，例如隐藏文字、制表符、空格标记和段落标记。ShowAll 相当于“工具”菜单中“选项”对话框中的“视图”选项卡上的“全部”复选框。

参数	解释
On	确定隐藏还是显示所有的非打印字符： 1 显示非打印字符。 0 隐藏非打印字符。 忽略  切换显示。
如果宏依赖于能在文档中看到非打印字符，将 ShowAll 1 包括为某条第一指令是好方法。

ShowAll() 函数返回下列数值：

值	解释
0	选中“全部”复选框。
-1	清除“全部”复选框。
_____________

 请参阅

视图语句和函数

ToolsOptionsView


ShowNextHeaderFooter

ShowNextHeaderFooter

如果插入点在页眉中，将它移到当前节的下一页眉（例如：从奇数页眉到偶数页眉）或下一节的第页眉。如果插入点在页脚，ShowNextHeaderFooter 将它移到下一页脚。如果插入点在文档最后一节的最后一个页眉或页脚中，或不在页眉或页脚中，就会出错。

_____________

 请参阅

视图语句和函数

CloseViewHeaderFooter

FormatHeaderFooterLink

GoToHeaderFooter

ShowPrevHeaderFooter

ToggleHeaderFooterLink

ViewFooter

ViewHeader


ShowPrevHeaderFooter

ShowPrevHeaderFooter

如果插入点在页眉中，将它移到当前节的上一页眉（例如：从偶数页眉到奇数页眉）或上一节的最后一个页眉。如果插入点在页脚中，ShowNextHeaderFooter 将它移到上一页脚。如果插入点在文档首节的第一个页眉或页脚，或者不在页眉或页脚中，就会出错。

_____________

 请参阅

视图语句和函数

CloseViewHeaderFooter

FormatHeaderFooterLink

GoToHeaderFooter

ShowNextHeaderFooter

ToggleHeaderFooterLink

ViewFooter

ViewHeader


ToggleFull

ToggleFull

切换全屏显示方式的打开或关闭。

_____________

 请参阅

视图语句和函数

ToolsOptionsView

ViewToolbars


TogglePortrait

TogglePortrait

切换所选节的纵向和横向页面方向。如果所选节有不同的页面方向，就会出错。

_____________

 请参阅

视图语句和函数

FilePageSetup


ToolsOptionsView Example
ToolsOptionsView 示例

该示例切换隐藏文字的显示方式。

Dim dlg As ToolsOptionsView

GetCurValues dlg

dlg.ShowAll = 0

If dlg.Hidden Then

dlg.Hidden = 0

Else

dlg.Hidden = 1

End If

ToolsOptionsView dlg


ToolsOptionsView

示例

ToolsOptionsView [.DraftFont = number] [, .WrapToWindow = number] [, .PicturePlaceHolders = number] [, .FieldCodes = number] [, .BookMarks = number] [, .FieldShading = number] [, .StatusBar = number] [, .HScroll = number] [, .VScroll = number] [, .StyleAreaWidth = number or text] [, .Tabs = number] [, .Spaces = number] [, .Paras = number] [, .Hyphens = number] [, .Hidden = number] [, .ShowAll = number] [, .Drawings = number] [, .Anchors = number] [, .TextBoundaries = number] [, .VRuler = number] [, .Highlight = number]

显示或隐藏活动文档或宏编辑窗口及 Word 窗口中的各种元素。除了无论哪个窗口处于活动状态都可控制状态栏显示的 .StatusBar 之外，ToolsOptionsView 的参数可一个窗口接一个窗口地控制元素的显示。这些参数相当于“工具”菜单中“选项”对话框中的“视图”选项卡上的选项。如下表所示，并非所有参数都对每种视图或宏编辑窗口有效。指定对活动视图无效的参数就会出错。

参数	解释	在这些视图中有效
.DraftFont	如果是 1，用同一种字体不带格式地显示所有文字。	普通视图、大纲视图、宏编辑窗口
.WrapToWindow	如果是 1，Word 在文档窗口中排列文字；忽略分栏格式。	普通视图、大纲视图、页面视图
.PicturePlaceHolders	如果是 1，显示图形的图片框。	普通视图、大纲视图、页面视图
.FieldCodes	如果是 1，显示域代码。	普通视图、大纲视图、页面视图
.BookMarks	如果是 1，在用书签标记的文字周围显示粗体括号。	普通视图、大纲视图、页面视图
.FieldShading	指定何时显示域底纹： 0 不显示 1 显示 2 选取时显示	普通视图、大纲视图、页面视图
.StatusBar	如果是 1，显示状态栏。	普通视图、大纲视图、页面视图
.HScroll	如果是 1，在文档窗口中显示水平滚动条。	普通视图、大纲视图、页面视图
.VScroll	如果是 1，在文档窗口中显示垂直滚动条。	普通视图、大纲视图、页面视图
.StyleAreaWidth	以 twips（20 twips = 1 磅，72 磅 = 1 英寸）或文字尺寸为单位设置样式区宽度。	普通视图，大纲视图，
.Tabs	如果是 1，显示制表符标记。	普通视图、大纲视图、页面视图
.Spaces	如果是 1，显示空格标记。	普通视图、大纲视图、页面视图
.Paras	如果是 1，显示段落标记。	普通视图、大纲视图、页面视图
.Hyphens	如果是 1，显示可选分隔符。	普通视图、大纲视图、页面视图
.Hidden	如果是 1，显示隐藏文字。	普通视图、大纲视图、页面视图
.ShowAll	如果是 1，显示所有非打印字符。	普通视图、大纲视图、页面视图
.Drawings	如果是 0，隐藏在文档中创建的任何图形对象。	页面视图
.Anchors	如果是 1，在可定位的项目旁边显示定位点。	页面视图
.TextBoundaries	如果是 1，显示正文边框。	页面视图
.VRuler	如果是 1，显示垂直标尺。	页面视图
.Highlight	如果是 1，显示已应用于文字的突出显示格式。 该参数只对 Word 7.0 有效。	普通视图，大纲视图，页面视图
_____________

请参阅

视图语句和函数

ShowAll

TableGridlines

ToggleFull

ToolsOptionsCompatibility

ViewDraft

ViewRibbon

ViewRuler

ViewStatusBar


ViewDraft, ViewDraft()

ViewDraft [On]

ViewDraft()

ViewDraft 语句打开或关闭活动文档或宏编辑窗口的草稿方式。草稿方式由“工具”菜单中“选项”对话框的“视图”选项卡上的“草稿字体”复选框指定。

参数	解释
On	确定是打开还是关闭草稿方式： 0 关闭草稿方式。 1 打开草稿方式。 忽略  切换草稿方式。
ViewDraft() 函数返回以下值：

值	解释
0	草稿方式处于关闭状态
-1	草稿方式处于打开状态
_____________

 请参阅

视图语句和函数

ToolsOptionsView


ViewFieldCodes, ViewFieldCodes()

ViewFieldCodes [On]

ViewFieldCodes()

ViewFieldCodes 语句控制活动文档中所有域的显示。域代码的显示由“工具”菜单中“选项”对话框的“视图”选项卡上的“域代码”复选框指定。用 ToggleFieldDisplay 语句可控制所选域的显示。

参数	解释
On	确定如何显示域： 0 显示域结果。 1 显示域代码。 忽略  切换域显示方式。
ViewFieldCodes() 函数返回下列数值：

值	解释
0	如果显示的是域结果
-1	如果显示的是域代码
_____________

 请参阅

视图语句和函数

ToggleFieldDisplay

ToolsOptionsView


ViewFooter, ViewFooter()

ViewFooter

ViewFooter()

ViewFooter 语句将活动文档切换到页面视图，将插入点置于页脚区，然后显示“页眉和页脚”工具栏。如果该工具栏已显示，ViewFooter 将其隐藏并将插入点移到文档区。

ViewFooter() 函数返回下列数值：

值	解释
0	如果插入点不在页脚区
-1	如果插入点在页脚区
_____________

 请参阅

视图语句和函数

CloseViewHeaderFooter

ViewHeader


ViewFootnoteArea, ViewFootnoteArea()

ViewFootnoteArea [On]

ViewFootnoteArea()

在普通视图和大纲视图中，ViewFootnoteArea 语句打开或关闭脚注窗格。在页面视图中，ViewFootnoteArea 将插入点移入或移出脚注区。如果活动文档中没有脚注，就会出错。

参数	解释
On	指定是打开还是关闭脚注窗格： 0 在普通视图和大纲视图中关闭脚注窗格；在页面视图中无效。 1 在普通视图和大纲视图中打开脚注窗格；在页面视图中，在脚注和文档文字中与之相关的引用标记之间移动插入点。 忽略     在普通视图和大纲视图中切换脚注窗格的显示；在页面视图中，在脚注和文档文字中与之相关的引用标记之间移动插入点。
ViewFootnoteArea() 函数返回下列数值

值	解释
0	如果脚注窗格关闭
-1	如果脚注窗格打开
_____________

 请参阅

视图语句和函数

ViewAnnotations

ViewEndnoteArea

ViewFootnotes


ViewHeader, ViewHeader()

ViewHeader

ViewHeader()

ViewHeader 语句将活动文档切换到页面视图，将插入点置于页眉区，然后显示“页眉和页脚”工具栏。如果该工具栏已显示，则隐藏它，并将插入点移到文档区。

ViewHeader() 函数返回下列数值：

值	解释
0	插入点不在页眉区
-1	插入点在页眉区
_____________

 请参阅

视图语句和函数

ViewFooter


ViewMasterDocument, ViewMasterDocument()

ViewMasterDocument

ViewMasterDocument()

ViewMasterDocument 语句将活动文档切换到主控文档视图。ViewMasterDocument() 函数返回下列值：

值	解释
0	如果活动文档不在主控文档视图中
-1	如果活动文档在主控文档视图中
_____________

 请参阅

视图语句和函数

ViewOutline

ViewToggleMasterDocument


ViewNormal, ViewNormal()

ViewNormal

ViewNormal()

ViewNormal 语句将活动文档切换到普通视图。ViewNormal() 函数返回下列值：

值	解释
0	如果活动文档不在普通视图中
-1	如果活动文档在普通视图中
_____________

 请参阅

视图语句和函数

FilePrintPreview

ViewDraft

ViewMasterDocument

ViewOutline

ViewPage


ViewPage, ViewPage()

ViewPage

ViewPage()

ViewPage 语句将活动文档切换到页面视图。ViewPage() 函数返回下列值。

值	解释
0	如果活动文档不在页面视图中
-1	如果活动文档在页面视图中
_____________

 请参阅

视图语句和函数

FilePrintPreview

ViewDraft

ViewMasterDocument

ViewNormal

ViewOutline


ViewRibbon, ViewRibbon()

ViewRibbon [On]

ViewRibbon()

ViewRibbon 语句显示或隐藏格式工具栏。包含这条语句是为了与 Word 的早期版本兼容。

参数	解释
On	确定是显示还是隐藏格式工具栏： 0 隐藏格式工具栏。 1 显示格式工具栏。 忽略     切换格式工具栏的隐藏和显示
ViewRibbon() 函数返回下列值：

值	解释
0	如果格式工具栏隐藏
-1	如果格式工具栏显示
_____________

 请参阅

视图语句和函数

ToolsOptionsView

ViewRuler

ViewStatusBar

ViewToolbars


ViewRuler, ViewRuler()

ViewRuler [On]

ViewRuler()

ViewRuler 语句显示或隐藏标尺。如果活动文档在大纲视图或主控文档视图中，就会出错。

参数	解释
On	确定是显示还是隐藏标尺： 0 隐藏标尺。 1 显示标尺。 忽略   切换标尺的隐藏和显示。
ViewRuler() 函数返回下列数值：

值	解释
0	如果标尺隐藏
-1	如果标尺显示
_____________

 请参阅

视图语句和函数

ToolsOptionsView

ViewRibbon

ViewStatusBar

ViewToolbars


ViewStatusBar, ViewStatusBar()

ViewStatusBar [On]

ViewStatusBar()

ViewStatusBar 语句显示或隐藏状态栏。

参数	解释
On	确定是显示还是隐藏状态栏： 0 隐藏状态栏。 1 显示状态栏。 忽略  切换状态栏的隐藏和显示。
ViewStatusBar() 函数返回下列值：

值	解释
0	如果状态栏隐藏
-1	如果状态栏显示
_____________

 请参阅

视图语句和函数

ToolsOptionsView

ViewRibbon

ViewRuler

ViewToolbars


ViewToggleMasterDocument

ViewToggleMasterDocument

将活动文档从大纲视图切换到主控文档视图或从主控文档视图切换到大纲视图。如果文档在普通视图、页面视图或打印预览中，就会出错。

_____________

 请参阅

视图语句和函数

ViewMasterDocument

ViewOutline


ViewToolbars

ViewToolbars [.Toolbar = text] [, .Context = number] [, .ColorButtons = number] [, .LargeButtons = number] [, .ToolTips = number] [, .ToolTipsKey = number] [, .Reset] [, .Delete] [, .Show] [, .Hide]

ViewToolbsrs 语句的参数相当于“视图”菜单中“工具栏”对话框中的选项。

参数	解释
.Toolbar	要重设、删除、显示或隐藏的工具栏的名称，如“工具栏”框中所列。
.Context	指定用于重设已有工具栏的模板： 0 或忽略 Normal 模板。 1          活动模板。
.ColorButtons	如果是 1，显示彩色工具栏按钮。
.LargeButtons	如果是 1，显示放大的工具栏按钮。
.ToolTips	如果是 1，当鼠标指针指停于按钮时，在按钮下显示按钮名称。
.ToolTipsKey	如果是 1，显示在按钮的工具提示中指定到工具栏按钮的快捷键。
.Reset	将指定工具栏恢复至其默认按钮设置。
.Delete	删除指定工具栏。
.Show	显示指定工具栏。
.Hide	隐藏指定工具栏。
_____________

 请参阅

视图语句和函数

NewToolbar

ToolsOptionsView

ViewRibbon

ViewRuler

ViewStatusBar


ViewZoom

ViewZoom [.AutoFit] [, .TwoPages] [, .FullPage] [, .NumColumns = number] [, .NumRows = number] [, .ZoomPercent = text]

更改当前视图中活动文档和新文档的显示比例。ViewZoom 的参数相当于“视图”菜单中“缩放”对话框中的选项。如果活动文档不在页面视图中，且指定了 .TwoPage、.FullPage 或 .NumColumns 参数，就会出错。

参数	解释
.AutoFit	设置缩放倍数，以便看到整个页面宽度。
.TwoPages	在页面视图中设置缩放倍数，以便看到两个完整页面。
.FullPage	在页面视图中设置缩放倍数，以便看到整个页面。
.NumColumns	以网格方式显示多页时，网格中的列数。
.NumRows	以网格方式显示多页时，网格中的行数。
.ZoomPercent	相对于默认显示（100%）的缩放百分比。
_____________

 请参阅

视图语句和函数

ViewZoom100

ViewZoom200

ViewZoom75

ViewZoomPageWidth

ViewZoomWholePage


ViewZoom100

ViewZoom100

切换到普通视图，并将活动文档和新文档的显示比例设为 100% 。

_____________

 请参阅

视图语句和函数

ViewZoom

ViewZoom200

ViewZoom75

ViewZoomPageWidth

ViewZoomWholePage


ViewZoom200

ViewZoom200

切换到普通视图，并将活动文档和新文档的显示比例设为 200% 。

_____________

 请参阅

视图语句和函数

ViewZoom

ViewZoom100

ViewZoom75

ViewZoomPageWidth

ViewZoomWholePage


ViewZoom75

ViewZoom75

切换到普通视图，并将活动文档和新文档的显示比例设为 75% 。

_____________

 请参阅

视图语句和函数

ViewZoom

ViewZoom100

ViewZoom200

ViewZoomPageWidth

ViewZoomWholePage


ViewZoomPageWidth

ViewZoomPageWidth

设置缩放倍数，以便看到页面的整个宽度。

_____________

 请参阅

视图语句和函数

ViewZoom

ViewZoom100

ViewZoom200

ViewZoom75

ViewZoomWholePage


ViewZoomWholePage

ViewZoomWholePage

设置缩放倍数，以便在页面视图中看到整个页面。如果活动文档在其它视图中，ViewZoomWholePage 切换到页面视图。

_____________

 请参阅

视图语句和函数

ViewZoom

ViewZoom100

ViewZoom200

ViewZoom75

ViewZoomPageWidth


这条 WordBasic 错误信息没有帮助。


WordBasic 错误

宏被中断

宏运行时按了 ESC 键，或该宏含有 Stop 语句。可用 DisableInput 可防止 ESC 中断宏。在用 Stop 时，Stop -1 指令可防止出现该信息。


WordBasic 错误 5

非法函数调用

宏传递给函数或语句的参数值不正确或超过范围限制。例如，指令 Shell "Cardfile", 6 会产生此错误信息，因为第二个 Shell 参数值不允许超过 4。


WordBasic 错误 6

溢出

计算结果过大。可能的原因如下：

结果太大，已无法用双精度浮点数表示。WordBasic 允许的最大正数值为1.7976931348623E+308.

双精度浮点数太大，无法转换成整数。


WordBasic 错误 7

内存不足

没有足够的内存执行该操作。


WordBasic 错误 9

下标越界

宏指令引用的数组元素所带的下标超过数组的维数。


WordBasic 错误 11

除数为零

宏中包含有用 0 除某个数值的表达式。


WordBasic 错误 14

字符串空间不足

宏使用的字符串变量占用的内存超过 64K，为传递给外部函数（用 Declare 语句申明）的字符串分配的内存只有 64K。


WordBasic 错误 22

无效的数组维数

在 Dim或 Redim声明的数组维数值无效。例如，指令声明的数组维数是负值，或者定义的数组元素数目超过 8143 个。


WordBasic 错误 24

参数错误

传递给宏指令变量的数值超过允许范围。如下例：

ChangeCase 50	'"50" is too large a value


WordBasic 错误 25

堆栈空间内存不足

没有足够的内存执行该操作。


WordBasic 错误 26

对话框必须有 End Dialog 或按钮

自定义对话框的定义中缺少 End Dialog 指令或命令按钮。对话框定义中至少必须包含一个 OKButton、CancelButton 或 PushButton指令。有关详细内容，请参阅 Begin Dialog...End Dialog。


WordBasic 错误 28

[目录或文件夹] 已经存在

要用 MkDir 创建的目录已经存在。要改正此错误，可以在使用 MkDir 语句之前，用 CountDirectories() 和 GetDirectory$()检查目录是否已经存在。例如：

Sub MAIN

dir$ = InputBox$("Type directory name to create:")

Dim subdirs$(CountDirectories())

For i = 0 To CountDirectories()

subdirs$(i) = LCase$(GetDirectory$(i + 1))

If subdirs$(i) = LCase$(dir$) Then MsgBox "Directory already exists."

Next

End Sub


WordBasic 错误 39

缺少 CASE ELSE

Select Case 指令中的表达式没有对应的条件。要改正此错误，可以给没有对应条件的 Word 指令加一个 Case Else 指令。


WordBasic 错误 51

内部错误

WordBasic 解释程序产生一个内部错误。请把此错误及错误发生的条件向 Word for Windows 产品支持服务部门报告。


WordBasic 错误 52

错误的文件名或文件号

文件输入/输出指令中引用的文件号超过允许范围。文件号只能在 1 至 4 之间。例如，指令 Open "FILES.TXT" For Input As #5  就会产生此错误。


WordBasic 错误 53

文件未找到

语句引用的文件不存在或没有找到。例如，使用语句 Open "FILES.TXT" For Input As #1，而 FILES.TXT 文件不存在，就会产生此错误。


WordBasic 错误 54

错误的文件模式

产生该错误的可能原因如下：

宏中的 Open 语句打开文件的模式不是 Input、Output 或 Append。

宏试图读取一个以写方式打开的文件。

宏试图写一个以读方式打开的文件。

宏试图使用不存在的设备口。


WordBasic 错误 55

文件已经打开

 Open 或 Kill 指令中指定的文件已经打开，或者宏中多个 Open 语句引用同一个文件名或文件号。要改正此错误，可修改文件名或文件号，或使用 Close 关闭某个文件号对应的文件。


WordBasic 错误 57

设备I/O错

执行设备I/O（输入/输出）操作时发生错误。


WordBasic 错误 62

读操作越过文件尾

宏中的 Input 语句读取的文件是空文件或者全部数据已经读完的文件。请用分支或控制指令把 Input 语句限制在文件内。请参阅 Basic File Input/Output 。


WordBasic 错误 64

错误的文件名

宏指令包含非法的文件名。例如，在 Open或 Kill 指令中指定的文件扩展名超过三个字符。


WordBasic 错误 67

文件数目过多

宏中的 Open 语句打开的文件数超过 4 个，读、写或添加操作打开的文件数必须限制在 4 个以内。请在打开文件前，用 Close 语句关闭一些文件。


WordBasic 错误 74

文件被重命名到其它驱动器上

宏在重新命名文件时指定了其它驱动器。此操作 Word 不允许。


WordBasic 错误 75

访问路径/文件错

操作系统无法把路径和文件名联系起来。网络驱动器可能已断开。


WordBasic 错误 76

路径未找到

操作系统没有找到指定路径。


WordBasic 错误 100

语法错误

以下是一些产生语法错误的原因：

缺少引号

字符串应该用引号括住，如果少了引号，就会产生错误。

缺、多、错置冒号

语句或函数的参数之间必须用冒号分隔，缺少、多余或错误放置的冒号都会产生错误。

缺少句点

对话框相应语句的参数必须以句点开头。例如，FileOpen 语句的 .FileName 参数。

函数末尾缺少括号

函数名称后面必须有左、右括号。如果少了括号，就会产生错误。

缺少保留字

有些 WordBasic 指令由多个保留字组成。例如，If 指令必须包含 Then 保留字。

命名与保留字冲突

定义的变量与保留字同名会产生语法错误。例如，变量取名为“Then”与保留字 Then 冲突，Then 是 If 语句的一部分。


WordBasic 错误 101

缺少逗号

宏解释程序没有找到宏指令必须的逗号。


WordBasic 错误 102

命令失败

宏命令无法正确完成。这种失败通常发生在从输入对话框或 Dialog 显示的对话框中选择“取消”按钮时。要避免此错误的出现，可以用 Dialog() 指令显示对话框，在取消输入对话框时，用 On Error 指令防止显示错误信息。


WordBasic 错误 103

缺少对话记录变量

要求有对话记录变量的指令没有指定对话记录。


WordBasic 错误 104

ELSE 没有对应的 IF

宏中某个 Else 指令没有相应的 If 指令。有关详细内容，请参阅 If...Then...Else 。


WordBasic 错误 105

END IF 没有对应的 IF

宏中某个 End If 指令没有相应的 If 指令。有关详细内容，请参阅 If...Then...Else 。


WordBasic 错误 109

缺少 INPUT

宏中必须有 Input 语句。


WordBasic 错误 111

表达式过于复杂

宏指令包含的表达式过于复杂，请把该表达式分成多个表达式。


WordBasic 错误 112

缺少标识符

缺少必须的标识符如变量名、子程序名或用户定义的函数名。例如，宏中有 Dialog 指令，却没有指定要显示的对话记录。


WordBasic 错误 113

重复的标号

产生此错误可能原因如下：

宏中有同名的子程序或用户定义的函数。

宏中有同名的行号（行号用于 Goto 和 On Error 指令中）。


WordBasic 错误 114

标号未找到

此错误通常发生原因是 Goto 或 On Error 指令引用的标号不在行首、缺少冒号(：)或在宏中没有出现。


WordBasic 错误 115

缺少右括号

宏解释程序在宏指令中没有找到必须的右（闭）括号。


WordBasic 错误 116

参数数目不匹配

语句或函数的参数数目不对时将出现此错误。如下例：

a$ = Str$()	'Str$() requires an argument

a$ = Selection$(1)	'Selection$() does not take an argument

MsgBox	'MsgBox requires an argument

ChDir	'ChDir requires an argument


WordBasic 错误 117

缺少 NEXT 或 WEND

For 或 While 指令没有相应的 Next 或 Wend 指令。有关详细内容，请参阅 For...Next 或 While...Wend 。


WordBasic 错误 118

嵌套的 SUB 或 FUNCTION 定义

子程序或函数中出现其它函数或子程序。请在用 End Sub 或 End Function 开始新子程序或函数前，使用 Sub 或 Function 指令。有关详细内容，请参阅 Sub...End Sub 和 Function...End Function。


WordBasic 错误 119

NEXT 缺少对应的 FOR

宏中某个 Next 指令没有对应的 For 指令。有关详细内容，请参阅 For...Next。


WordBasic 错误 120

数组已经声明

同一数组用多个  Dim 语句声明。请使用 Redim 语句。


WordBasic 错误 122

类型不匹配

传递给指令的数值与指令要求的数据类型不符。WordBasic 只有两种数据类型—字符串和数字。出现此错误信息说明在要求数字的地方使用了字符串，或者在要求字符串的地方使用了数字。在下例中，pet 本来是一个字符串变量，但由于漏了一个美元符号($)，Word 解释程序认为这是一个数字，因此产生错误信息。

pet = "poodle"	'Should be: pet$ = "poodle"

如果向函数传递的参数类型不对，也会出现此错误，如下例：

a$ = Str$("4")	'Should be: a$ = Str$(4)


WordBasic 错误 123

未定义的对话记录域

如果拼错了 WordBasic 对话框所用的参数—等式指令，将出现此错误。如下例：

EditFind "sasquatch", .WhleWord = 1	'Should be: .WholeWord = 1

把不属于对话框的参数加进去，也会出现此错误。如下例：

EditFind "skunk", .WholeWord = 1, .Musk = 1	'"Musk" is not valid


WordBasic 错误 124

未定义的命令、子程序或函数

该错误可由下列原因导致：

此错误的出现通常是因为拼错了函数或语句名，或者是返回字符串的函数缺了一个美元符号（$）。以下各条指令都会产生这个错误信息：

MgsBox "Hello"	'Should be: MsgBox "Hello"

EditFnd "muskrat"	'Should be: EditFind "muskrat"

quote$ = Chr(34)	'Should be: quote$ = Chr$(34)

另外，把两个字的指令敲成一个字也会产生此错误，例如，把 End Dialog 敲成 EndDialog（但 EndIf 和 End If 都是允许的）。

在 Word 6.0 for Windows 中开发该宏，然后将其移至 Word 6.0 for the Macintosh。该宏包含一条特别针对 Macintosh 版 Word 的指令。该指令将产生错误直至该宏在 Macintosh 上编辑过. 详情请参阅 Microsoft Word Developer's Kit. 第 9 章“More WordBasic Techniques”。


WordBasic 错误 125

宏非正常结束

宏非正常终止。注意每个 Sub 和 Function 指令都应有相应的 End Sub 和 End Function 指令。


WordBasic 错误 126

WEND 缺少相应的 WHILE

宏中某个 Wend 指令没有对应的 While 指令。有关详细内容，请参阅 While...Wend 。


WordBasic 错误 127

维数错误

引用数组时指定的维数与 Dim 或 Redim 定义的数组维数不一致。


WordBasic 错误 129

控制结构嵌套太多

While...Wend、For...Next 或 If...Then...Else 语句嵌套过深，Word 无法在宏中实现这些指令。嵌套数最多只允许 16 层。


WordBasic 错误 130

SELECT 缺少相应的 END SELECT

宏中的 Select...Case 指令没有对应的 End Select 指令。有关详细内容，请参阅 Select Case。


WordBasic 错误 131

对话框 REDIM 非法

宏已经给一个变量赋了字符串或数字值，又把它作为对话记录变量使用，已定义的字符串或数字变量不能作为对话记录变量使用。请改用新的记录变量或已有的对话变量。


WordBasic 错误 132

外部调用导致串溢出

传递给 DLL 的字符使用的内存应在 256 字节到 64K 之间；DLL 加长了此字符串，使其超过了内存限制。


WordBasic 错误 133

DLL 调用参数的类型或数据错误

用 Declare 语句声明的外部函数参数类型或数目与传递的参数不符。例如，如果把 Windows 函数 WinDir 声明成一个参数（要求两个），调用这个函数时就会出现此错误。


WordBasic 错误 134

函数参数包含非法的日期或时间

指定的日期超过允许范围,即 1899年 12 月 30 日至 4095 年 12 月 31 日。或者指定的日期错误。例如，把 DateSerial()指令中的月份指定成 13（只允许 1 到 12）。


WordBasic errors 135 and 136
WordBasic 错误 135 和 136

() 语句在 Word for ()中无效

宏试图在当前平台上运行无效的语句或函数。例如，在 Macintosh 上，一个宏试图运行 Connect 指令而不是 MountVolume 指令。在运行一个可能出错的指令之前你可以使用 AppInfo$() 函数来确定平台。


WordBasic 错误 137

指定的路径是无效的路径选项

ToolsOptionsFileLocations 指令的 Path 参数不是 WINWORD6.INI 中九个有效路径选项之一。有关有效路径选项列表，请参阅 ToolsOptionsFileLocations 。


WordBasic 错误 138

当前选定部分不能用此命令更改

在用 SelectCurWord 或 SelectCurSentence 指令选定当前词或句子时，选定范围已超过一个词或句子。


WordBasic 错误 139

不允许同时显示多个对话框

自定义对话框的对话函数包含 Begin Dialog...End Dialog 指令（或调用了包含 Begin Dialog...End Dialog 指令的子程序）。显示一个自定义对话框后，不允许定义或显示第二个自定义对话框。


WordBasic 错误 140

对话框控制标识符没有相应的控制

宏指令指定了某个对话框控制的标识符，但该控制没有在对话框定义中出现。例如，对话函数中包含指令 DlgFocus "MyPushButton"，但对话框定义中并没有标识符为 .MyPushButton 的控制。


WordBasic 错误 141

() 语句不能用于此类对话框控制

宏指令执行的操作不能用于指定的自定义对话框控制。例如，DlgListBoxArray 令指定文本框，DlgListBoxArray 只能修改列表框、下拉列表框、组合框的内容。


WordBasic 错误 142

指定的应用程序并未处于运行状态

应用程序控制语句或函数指定的应用程序并未处于运行状态。例如，在 AppClose 指令中指定的窗口名为 "Windows Help"，但打开的应用程序中没有一个名称以 "Windows Help" 开头。


eWordBasic 错误 143

不允许隐藏或禁止正处于输入焦点的对话框控制

不能用 DlgEnable 或 DlgVisible 指令隐藏或禁止正处于输入焦点的控制。要隐藏或禁止该控制，必须先把输入焦点移到其它控制上。如下所示：

If DlgFocus$() = "CheckBox1" Then

DlgFocus "OK"

DlgVisible "CheckBox1", 0

End If


WordBasic 错误 144

不能把输入焦点移到已隐藏或禁止的控制上

不能用 DlgFocus 指令把输入焦点移到已隐藏或禁止的控制上。此操作 Word 无法执行。在把输入焦点移到该控制之前，先用 DlgEnable 或 DlgVisible 允许或显示该控制。


WordBasic 错误 149

() 命令不能作为函数调用

指定的 WordBasic 语句没有等价的函数。要改正此错误，可使用 WordBasic 命令的语句形式。例如：

x = DocMove(200, 220)

should be:

DocMove 200, 220


WordBasic 错误 150

对话框控制标识符已经定义

自定义对话框的定义中有多个指令指定了同一个 .Identifier 参数。自定义对话框中各控制的标识符不允许相同。


WordBasic 错误 152

没有打开的文档，此命令无法使用

自定义对话框的定义中包含 FilePreview 指令，但没有打开的文档。如果要显示的自定义对话框中有文件预览控制，则至少要求有一个文档窗口（或宏编辑窗口）打开。


WordBasic 错误 155

选定部分起始处不在域中

宏中包含 GetFieldData$() 或 PutFieldData 指令。该指令运行时，选定部分起始处并未处于 ADDIN 域内。GetFieldData$() 和 PutFieldData 指令只能从 ADDIN 域提取和存储数据。


WordBasic 错误 157

域中不能包含数据

宏中包含 GetFieldData$() 或 PutFieldData 指令。该指令运行时，选定部分起始处并未处于 ADDIN 域内。GetFieldData$() 和 PutFieldData 指令只能从 ADDIN 域提取和存储数据。


WordBasic 错误 158

有一个域的值太小

与 Word 对话框对应的指令中有一个参数的值低于允许范围。例如，把 InsertBreak 指令的 .Type 参数设置成 -1（允许值为 0 到 6），就会产生此错误。


WordBasic 错误 159

有一个域的值太大

与 Word 对话框对应的指令中有一个参数的值高于允许范围。例如，把 InsertBreak 指令的 .Type

参数设置成 9（允许值为 0 到 6），就会产生此错误。


WordBasic 错误 160

参数数目不对

语句或函数的参数（也叫“变元”）多于或少于要求的数目时将产生此错误。如下例：

a$ = Chr$()	'Chr$() requires an argument

a$ = Str$()	'Str$() requires an argument

a$ = Selection$(1)	'Selection$() does not take an argument

MsgBox	'MsgBox requires an argument

ChDir	'ChDir requires an argument


WordBasic 错误 161

输入焦点改变（Action 值为4）时不能修改对话框

自定义对话框显示后，如果传递给对话函数的 Action 值为 4，Word 不能以显示消息框、输入框、对话框的方式进行响应。Action 值为 4 表示当前显示的对话框输入焦点改变。有关详细内容，请参阅对话函数语法。


WordBasic 错误 162

() 命令只能作为函数调用

指定的 WordBasic 命令是一个函数。要改正此错误，可把该命令指定成函数。例如：

AppInfo$(2)

should be:

x$ = AppInfo$(2)


WordBasic 错误 163

该语句只能在用户对话框激活后使用

宏中包含的某条指令只允许在自定义对话框显示后，从对话函数内部调用。例如，如果在自定义对话框的定义（而不是从对话函数）中使用 DlgListBoxArray ，就会产生该错误。只能在对话框显示后使用的语句和函数名称均以 "Dlg" 开头。完整列表请参阅对话框定义和控制。


WordBasic 错误 164

数组变量未初始化

指令为某个数组变量赋值时，该数组变量并未在当前子程序中声明或并未声明为共享变量。请用  Dim 语句声明此数组。


WordBasic 错误 500

无法初始化链接

宏无法初始化 DDE 链接，可能原因如下：

另一应用程序不支持 DDE，或者活动链接过多。

另一应用程序不处于运行状态，Word 也无法启动此应用程序。

Word 内存不足。

另一应用程序不支持指定的链接标题。

Word 活动链接过多。

另一应用程序忙。

另一应用程序忽略初始化 DDE 链接的请求。例如，Microsoft Execl 和 Microsoft Access 都有忽略初始化 DDE 链接请求的选项。


WordBasic 错误 501

无效的链路号

指定的 DDE 链路号无效。注意应用程序是否仍处于运行状态，以及出错行中的变量名是否与 DDEInitiate 指令中使用的变量名一致。


WordBasic 错误 502

应用程序没有响应

应用程序对 DDE 请求没有响应。可能原因如下：该应用程序不支持 DDE 请求、Word 内存不足、应用程序忙。


WordBasic 错误 503

进程在另一应用程序中执行失败

DDE 语句未完成，或者另一应用程序不能执行由DEExecute传递的指令。此外，也可能是 DDE 语句引用的 DDE 标题无效—例如，文件未打开。


WordBasic 错误 504

窗口不存在

Word 没有找到指定的应用程序或文档窗口。


WordBasic 错误 505

无法激活应用程序

Word 不能激活指定的应用程序。


WordBasic 错误 506

无法发送键码

Word 无法发送 SendKeys 指令指定的字符串。这可能是因为键名拼写错误或指定的键不存在，例如，{entr} 或 {F17}。


WordBasic 错误 508

另一应用程序忙

另一应用程序忙，无法响应 Word 的请求。


WordBasic 错误 509

() 命令无效，因为 ()

WordBasic 错误 509 的文字与错误原因相对应，错误信息本身就是帮助文字。注意宏编辑窗口打开后，有许多命令无法使用，这些命令在菜单上暗淡显示。


WordBasic 错误 511

无此命令或宏

MacroDesc$() 或 MacroCopy 之类指令指定的宏不存在。


WordBasic 错误 512

值超过有效范围

Word 无法识别宏指定的值。例如，指令 WindowList 4 用于激活“窗口”菜单上编号为 4 的文档窗口，如果当前只打开了三个文档窗口，就会出现此错误。


WordBasic 错误 513

字符串太长

串中包含的字符过多。串最多可包含 65,280 个字符，同时取决于可用内存的多少。


WordBasic 错误 514

文档未打开

指令引用的文档未打开。例如，用 MacroCopy 指令指定目的模板未打开。


WordBasic 错误 528

无法装入拼写检查器

Word 无法装入拼写检查器。要安装拼写检查器，可退出 Word 运行 Word 安装程序。


WordBasic 错误 529

无法打开字典

Word 无法打开宏指定的字典。检查一下字典名是否正确。


WordBasic 错误 530

对话框过于复杂

宏要显示的对话框中包含的控制太多，Word 目前无法显示。尽管 Word 没有规定自定义对话框中控制的数量，但如果控制数目太多，可能没有足够的内存显示此对话框。


WordBasic 错误 535

不允许运行此宏，因为此宏已运行

活动宏调用了某个宏，被调用宏又调用活动宏自身。例如，宏 1 调用宏 2，宏 2 又调用宏 1。


WordBasic 错误 536

无此宏名

宏指令指定的宏不存在或当前无法使用。例如，用 ToolsMacro 指令指定要重命名的宏，但 .Show 参数指定的宏不存在。


WordBasic 错误 537

无法运行指定的宏

宏指令要运行的宏无法使用。例如，一个宏用 ToolsMacro 指令运行自身时，就会产生此错误。


WordBasic 错误 538

无法编辑指定的宏

用 ToolsMacro 指令编辑宏时，Word 无法执行操作。例如，如果指定的宏存储的模板是作为共用模板装入的，就会发生此错误（您可以运行存储在共用模板中的宏，但如果要编辑这些宏，必须先在文档窗口中打开此模板或某个基于此模板的文档）。


WordBasic 错误 539

无法更改指定宏的名称

更改宏名的指令失败。例如，ToolsMacro 指令指定的要更名的宏已经打开，或者新名称已被其它的宏使用等，都会产生此错误。


WordBasic 错误 540

无法删除指定的宏

删除宏的指令失败。例如 ToolsMacro 指令指定的要删除的宏已经打开或不存在，或者宏所在的模板已被保护，都会产生此错误。检查一下 ToolsMacro 指令中的 .Show 参数是否正确。


WordBasic 错误 541

无法设置指定宏的说明

ToolsMacro 指令设置宏说明操作失败。例如，下列情况都会产生此错误：.Show 参数设置成 3（指定以活动模板为限），而活动模板是 Normal 模板。指令修改的宏是只执行宏或者宏所在的模板未打开（如作为共用模板装入）。


WordBasic 错误 543

无法打开指定的库

Declare 指令指定的动态连接库(DLL)不存在或未找到。此错误通常是由于拼写错了动态连接库的名称造成的。例如，把“Kernel”拼写成“Kernal”。


WordBasic 错误 544

无法执行滚动命令，因为滚动条未激活

滚动条显示后才能执行 VScroll 和 HScroll 语句。水平和垂直滚动条是“选项”对话框（“工具”菜单）“视图”选项卡上的两个选项。下例中，在使用 VScroll 和 HScroll 语句前，先打开滚动条：

ToolsOptionsView .HScroll = 1, .VScroll = 1

VScroll 10

HScroll 10


WordBasic 错误 545

() 语句当前无法使用

宏要运行的语句在当前环境中无法运行。用 CommandValid() 可以检查 Word 命令或对话框选项相应的语句是否可用。


WordBasic 错误 546

如果编号不连续，脚注和尾注应从 1 开始

NoteOptions 指令指定脚注和尾注的编号连续，同时指定的起始编号不是 1。此操作 Word 不允许。


WordBasic 错误 547

网络权限错误

宏执行的操作没有相应的权限。例如，宏试图删除某个网络文件，而此文件以被其它用户打开。


WordBasic 错误 549

指定的菜单或菜单项不存在

返回菜单信息的宏指令指定的菜单或菜单项不存在。例如，指令 a$ = MenuText$(0, 10) 返回第十项菜单的文字，但实际只有九项菜单。


WordBasic 错误 551

Word 无法执行此操作，因为指定模板已被锁定

用 EditAutoText 指令删除模板上的自动图文集词条时，此模板是作为共用模板装入的。（除 Normal 模板外）保存在共用模板上的自动图文集词条不能删除。要删除共用模板上的自动图文集词条，可以先在文档窗口中打开该模板或一个基于该模板的文档，然后使用 EditAutoText 语句。


WordBasic 错误 552

Word 无法执行此操作，因为指定模板不存在

用 EditAutoText 或 SetAutoText 指令向非 Normal 模板中添加自动图文集词条，实际上并无其它可用模板。例如，如果当前文档基于 Normal 模板，把 .Context 参数设置成 1（指定的模板不是 Normal 模板），就会产生此错误。


WordBasic 错误 553

无法创建指定的宏

创建或编辑宏的 ToolsMacro 指令失败。例如，指定宏已经存在并且是只执行宏，或者创建宏的模板已被保护，都会产生此错误。如果把 .Show 参数设置成 3（指定以活动模板为限），而活动模板是 Normal 模板，也会产生此错误。


WordBasic 错误 554

没有设置绘图范围

宏绘图语句或函数（如 DrawSelect 或 DrawCount()）要求指定绘图范围。请添加DrawSetRange 指令设置绘图范围。


WordBasic 错误 555

为绘图范围指定的书签无效

DrawSetRange 指令指定的书签不存在。或者上次建立的绘图范围使用的书签已经删除。由此导致要求绘图范围的语句（如 DrawSelect or DrawCount()）产生错误。


WordBasic 错误 556

图形对象类型与命令不符

该语句或函数专用于某一类型的对象，但却被用在其它类型的对象上。例如，把DrawCountPolyPoints()用于矩形对象就会产生此错误，因为 DrawCountPolyPoints() 只用于手画线对象。


WordBasic 错误 557

无法插入图形对象

宏试图把文本框或弧线之类的图形对象插入到文档的批注、脚注等区域内。此操作 Word 不允许。


WordBasic 错误 558

主控文档中至少有一个子文档已锁定，对已锁定的子文档不能进行任何修改

在用 ToolsRevisions 指令接受主控文档的修订时，至少有一个包含修订标记子文档已被锁定。


WordBasic 错误 559

当前选定部分是一个文本块

在用 ToolsReviewRevisions 指令接受或复原修订时，选定部分是一个文本块。Word 不允许此操作。您可以用 ToolsRevisions 接受或复原整个文档的修订，不论选定部分是不是一个文本块。

注释：创建选定文本块可以通过按住 ALT 键的同时拖拉或使用 CTRL+SHIFT+F8 和箭头键实现。


WordBasic 错误 560

修订标记不可见

宏中包含 ToolsReviewRevisionsFindNext 之类指令，这些指令依赖于文档中修订标记是否可见。如果未显示修订标记，将产生此错误。用 ToolsRevisions 可以显示修订标记。


WordBasic 错误 561

文档已被保护

宏指令试图修改受保护的文档。例如，如果文档已受保护不允许修订，运行指令 ToolsRevisionsAcceptAll 就会产生此错误。用 ToolsUnprotectDocument可以解除文档保护。


WordBasic 错误 562

ToolsGrammarStatisticsArray 不能在包含多种语言格式的文档中运行

ToolsGrammarStatisticsArray 指令运行的文档中包含两种以上语言格式。用ToolsLanguage 可以设置或取消语言格式。


WordBasic 错误 563

该文档不是主控文档

宏中某个语句仅在活动文档是主控文档时有效（例如，LockDocument or GoToNextSubdocument）。 用 ViewMasterDocument 和 CreateSubdocument 可以创建主文档。


WordBasic 错误 564

此方向没有子文档

宏中包含 GoToPreviousSubdocument 指令，但选定部分已经处于或超过主控文档的第一个子文档。或者宏中包含 GoToNextSubdocument 指令，但选定部分已经处于或越过主控文档的最后一个子文档。


WordBasic 错误 565

指定的文档不在嵌入程序列表中

指令指定的模板或嵌入程序未在“模板及加载项”对话框（“文件”菜单）的共用模板和加载项列表中列出。例如，用 DeleteAddIn 指令指定的模板未出现在该列表中。


WordBasic 错误 566

指定的 Word 库正在使用，不能卸除

指令要卸载某个 Word 嵌入库(WLL)，但该 WLL 正在使用。


WordBasic 错误 567

添加的下拉列表项不能超过 25 项

下拉菜单型表单域容纳的项不能超过 25 项。如果表单域已经有 25 项，再使用 AddDropDownItem 指令就会产生此错误。


WordBasic 错误 568

指定的字体不存在

在 ToolsCustomizeMenus、ToolsCustomizeKeyboard 或 AddButton 指令的 .CommandName 参数中指定字体不存在或无法使用。


WordBasic 错误 569

PatternMatch 和 SoundsLike 参数不能同时设置成 1

在“查找”和“替换”对话框中不允许同时选中“模式匹配”和“全字匹配”复选框，与此类似，在 WordBasic 指令 EditFind 和 EditReplace 中，也不允许同时把 .PatternMatch 和 .SoundsLike 设置成 1。


WordBasic 错误 570

二维以上的数组无法排序

SortArray 指令排序的数组超过二维。SortArray 只能排序一维或二维数组。


WordBasic 错误 574

找不到地址

GetAddress$() 指令指定一不能置于默认通讯录中的显示名称。指定已有名称可更正该错误。


WordBasic 错误 575

返回 MAPI 错误

通讯录指令失败，因为 MAPI 客户有问题。确认已安装并正确设置了 MAPI 客户。


WordBasic 错误 576

不能将地址添至个人通讯录

AddAddress 指令不能添加地址。可能是由于下面两种原因之一：

新地址的一个或多个属性值与旧地址的同样值之间有冲突。确认新地址中 MAPI 客户要求有唯一值的属性的确具有唯一值。

个人通讯录有问题。 确认已安装并正确设置了 MAPI 客户。


WordBasic 错误 577

必须指定新地址的显示名称

作为 AddAddress 指令的参数传递的数组不包含指定 PR_DISPLAY_NAME 通讯录属性的元素。将元素添至为该属性指定值的数组可更正该错误。


WordBasic 错误 578

未知文档属性

该宏指定一活动文档中没有的内部或自定义文档属性名称。指定一已有的属性名称可更正该错误。用 DocumentPropertyExists() 可决定某项文档属性是否存在。

如果该指令含有说明属性是否为自定义或内部属性的参数，确认已指定正确值。详情请参阅文档属性语句和函数。


WordBasic 错误 579

不能删除内部文档属性

DeleteDocumentProperty 指令指定一内部文档属性名称。指定自定义文档属性可更正该错误。


WordBasic 错误 580

未知链接

SetDocumentPropertyLink 指令指定一预定义书签或活动文档中没有的书签。指定有效书签可更正该错误。用 ExistingBookmark() 可决定书签是否存在。


WordBasic 错误 581

不能改变只读文档的属性值

SetDocumentProperty 指令指定一只读文档属性。 指定读-写文档属性可更正该错误。用 IsDocumentPropertyReadOnly() 可决定文档属性是否为只读。


WordBasic 错误 582

不能装载指定库

该宏试图从外部库（DLL 或代码源）声明一函数，但操作失败。要更正该错误，可联系该宏的提供者以取得更新宏，或用下面某种方法来更新 Declare 指令：

 不能从 32 位应用程序（比如 Word for Windows 95 或 Word  6.0 for Windows NT）将函数调用至 16 位库中。如果该宏在 16 位库中指定一函数，如果有的话，要指定该库的 32 位版来代替；如果没有 32 位库，可联系 16 位 DLL 的提供者或代码源并要求 32 位版。

如果该宏指定不存在或找不到的库，要指定有效文件名或完整路径。


WordBasic 错误 583

非法函数名

该宏试图从外部库（DLL 或 代码源）声明函数，但由于该函数不在库中而操作失败。要更正该错误，可联系该宏的提供者以取得更新宏，或更新 Declare 指令以指定正确函数：

如果该宏从 Windows 操作系统（通常涉及 API 调用）声明函数，要注意多数函数名在 Windows 95 和 Windows NT 中发生了变化。 可参照操作系统的程序文件以取得要在该宏中指定的正确函数名。

如果该宏从自定义库声明函数，可参照提供自定义库的文档以取得正确函数名。


Conventions
惯例

在各条 WordBasic 语句或函数的“帮助”主题中，语句或函数名在窗口顶端显示为粗体标题。粗体标题后面是一条或多条句法语句。下面是一个句法示例：

CharLeft [Count] [, Select]

键入指令时，必须包含设为粗体的句法中的全部项目。方括号中的项目为可选项。包含可选项时不要键入方括号。斜体格式表明参数名或值的位置，可用实际数或已赋值的变量来替换。

例如：可在宏中使用下面任何一条 CharLeft 指令：

CharLeft

CharLeft 1

CharLeft 1, 1

如果给数字型变量 move 和 extend 赋予了有效值，就能用下面的 CharLeft 指令：

CharLeft move, extend

注意：参数必须用逗号分隔。参数的有效值列在句法后的注释中，一般是表格的形式。有些句法示例含有所需参数，例如：

EditReplaceStyle .Style = text

要使用该语句，必须含有 .Style 参数（要注意参数名前的句号）。必须键入所有的粗体文字并为斜体字提供特定值或变量。如下例所示：

EditReplaceStyle .Style = "Heading 1"

EditReplaceStyle .Style = "Normal"

其它语句和函数中混有必需参数和可选参数：

EditAutoText .Name = text [, .Context = number] [, .InsertAs = number] [, .Insert] [, .Add] [, .Delete]

根据该语法，必须包含第一个参数和一个值，但其余参数是可以任意选择的。正如句法所示，最终的宏指令中的每个参数必须用逗号分隔。例如：

EditAutoText .Name = "disclaimer", .Context = 1, .Add

WordBasic “帮助”中的大部分主题都含有如何使用特定语句和函数的示例。

关于平台的注意事项

Microsoft Word 6.0 或以后的版本在多种平台上支持 WordBasic。如下表所示：

Microsoft Word 7.0，运行于 Windows 95 及 Windows NT 3.51 或以后的版本。

Microsoft Word 6.0 for Windows，运行于 Microsoft Windows 系列操作系统：Windows 95、Windows 3.1 或以后的版本、Windows for Workgroups 3.1 或以后的版本、Windows NT 3.1 或以后的版本。

Microsoft Word 6.0 for Macintosh，运行于处理器至少是 68020 的 Apple Macintosh 计算机上的 Apple Macintosh System 7 或以后的版本，或 Apple Power Macintosh 上的 System 7.5 或以后的版本。

Microsoft Word 6.0 for Windows NT，运行于 Windows NT  3.5 或以后的版本以及 Windows 95。

WordBasic “帮助”用“在 Windows 中”和“在 Macintosh 上”这样的说法来描述各平台间的不同操作。“在 Windows 中”指 Word 7.0、Word 6.0 for Windows 和 Word 6.0 for Windows NT。在少数情况下，“在 Windows 95 中”用于专指 Word 7.0 的操作。再有，“在 Windows NT 中”用于专指 Word 6.0 for Windows NT 的操作，即便 Word 6.0 for Windows 是在 Windows NT 或 Windows 95 中运行，它也不会出现“在 Windows NT 中”或“在 Windows 95 中”描述的操作。


ClosePane 示例

该示例在拆分窗口后关闭活动文档中较低的窗格。

If DocSplit() Then ClosePane


ClosePane

示例

ClosePane

关闭窗格。用该语句可关闭拆分后的文档窗口中的较低窗格、脚注窗格或其它任何类型的窗格。如果在活动窗口中没有打开窗格，ClosePane 就会产生 WordBasic 错误。注意：ClosePane 不关闭文档窗口。

_____________

请参阅

窗口语句和函数

DocSplit

OtherPane

WindowPane()


CountWindows() 示例

该宏并排排列窗口，而不像“窗口”菜单中的“全部重排”命令那样上下排列：

Sub MAIN

yours$ = WindowName$()	'Note which window is active

If DocMaximize() Then DocRestore	'Can't resize if maximized

fullwidth = Val(AppInfo$(6))	'Get workspace width

fulldepth = Val(AppInfo$(7))	'Get workspace depth

width = fullwidth / CountWindows()

For wnd = 1 To CountWindows()	'Move each window, resize it

x = width *(wnd - 1)

If DocMinimize() Then DocRestore	'Can't resize if minimized

DocMove x, 0

DocSize width, fulldepth - 1

NextWindow

Next wnd

Activate yours$	'Reactivate original window

End Sub


CountWindows()

示例

CountWindows()

返回打开的文档和宏编辑窗口的数目，这也是“窗口”菜单中列出的窗口数。

_____________

请参阅

窗口语句和函数

WindowName$()

WindowNumber


DocMaximize, DocMaximize()

DocMaximize [State]

DocMaximize()

DocMaximize 语句根据 State 的值将所有文档窗口最大化或还原：1 将窗口最大化，0 还原窗口。如果没有指定 State，DocMaximize 在还原和最大化之间切换文档窗口。

DocMaximize() 函数返回下列值：

返回值	解释
-1	如果文档窗口最大化
0	如果文档窗口未最大化
_____________

请参阅

窗口语句和函数

AppMaximize

DocMinimize

DocRestore


DocMinimize, DocMinimize()

DocMinimize

DocMinimize()

DocMinimize 语句将活动文档窗口缩为图标。

DocMinimize() 函数返回下列值：

返回值	解释
-1	如果文档窗口最小化
0	如果文档窗口未最小化
_____________

请参阅

窗口语句和函数

AppMinimize

DocMaximize

DocRestore


DocMove 示例

该示例将文档窗口从工作区的左上角移至向右 20 磅和向下 40 磅的位置：

If DocMaximize() = 0 Then DocMove 20, 40


DocMove

示例

DocMove HorizPos, VertPos

将活动文档窗口或图标移至指定位置。如果活动文档窗口是最大化，Word 就不能执行该操作并产生错误。

参数	解释
HorizPos, VertPos	从工作区左上角到文档窗口左上角的水平距离（HorizPos）和垂直距离（VertPos），按磅计量（72 磅=1 英寸）。允许采用负值。
_____________

请参阅

窗口语句和函数

AppMove

DocSize

DocWindowPosLeft

DocWindowPosTop


DocRestore 示例

如果文档窗口是最大化，该示例将其还原。

If DocMaximize() <> 0 Then DocRestore


DocRestore

示例

DocRestore

将所有文档窗口从最大化状态还原或还原最小化的文档窗口。如果文档窗口已还原，DocMaximize 将它们最大化；与 DocMaximize 不同（它在文档窗口还原时将其最大化，在最大化时将其还原），DocRestore 只还原文档窗口。如果活动文档已经还原，就会出错。

没有相当于 DocRestore 的函数。如本项示例所示，可用 DocMaximize() 函数来判断文档窗口是否还原。

_____________

请参阅

窗口语句和函数

AppRestore

DocMaximize

DocMinimize


DocSplit 示例

该示例从中间拆分活动文档窗口：

DocSplit 50


DocSplit, DocSplit()

示例

DocSplit Percentage

DocSplit()

DocSplit 语句在给定高度拆分活动文档窗口，表示为文档区顶端和底端之间距离的百分比。

DocSplit() 函数将拆分位置返回为活动文档区高度的百分比。如果没有拆分文档窗口，就返回 0 。

DocSplit 语句接受 0 到 100 之间的值，但接近范围尽头的值可能会不拆分文档窗口，这取决于显示的屏幕元素和窗口大小。用 WindowPane() 函数可判断窗口是否已拆分。

_____________

请参阅

窗口语句和函数

ClosePane

OtherPane

WindowPane()


DocWindowHeight 示例

该示例在活动文档窗口最大化或最小化时将其还原并移至工作区的左上角，然后 将窗口尺寸设为 267 磅高：

If DocMaximize() or DocMinimize() Then DocRestore

DocMove 0, 0

DocWindowHeight 267


DocWindowHeight, DocWindowHeight()

示例

DocWindowHeight Height

DocWindowHeight()

DocWindowHeight 语句在将活动文档窗口设为指定 Height（不影响其宽度），按磅计量（72 磅=1 英寸）。如果活动窗口已最大化或最小化，Word 就不能执行该操作，并会产生错误。DocWindowHeight() 函数返回按磅计量的活动文档窗口的高度。

_____________

请参阅

窗口语句和函数

AppWindowHeight

DocSize

DocWindowWidth


DocWindowPosLeft 示例

该示例显示活动文档窗口相对于工作区边框的水平和垂直位置：

horizpos = DocWindowPosLeft()

vertpos = DocWindowPosTop()

MsgBox "Points from left:" + Str$(horizpos) + Chr$(13) + \

"Points from top:" + Str$(vertpos), "Doc Window Position"


DocWindowPosLeft, DocWindowPosLeft()

示例

DocWindowPosLeft Position

DocWindowPosLeft()

DocWindowPosLeft 语句定位活动文档窗口或图标，以便它距工作区左边框 Position 磅。如果活动窗口已最大化，Word 就不能执行该操作，并产生错误。DocWindowPosLeft() 函数返回按磅计量的水平位置。

_____________

请参阅

窗口语句和函数

AppWindowPosLeft

DocMove

DocSize

DocWindowHeight

DocWindowPosTop

DocWindowWidth


DocWindowPosTop, DocWindowPosTop()

DocWindowPosTop Position

DocWindowPosTop()

DocWindowPosTop 语句定位活动文档窗口或图标，以便它距工作区上边框 Position 磅。如果活动窗口已最大化，Word 就不能执行该操作，并产生错误。DocWindowPosTop() 函数返回按磅计量的垂直位置。示例请参阅 DocWindowPosLeft 示例。

_____________

请参阅

窗口语句和函数

AppWindowPosTop

DocMove

DocSize

DocWindowHeight

DocWindowPosTop

DocWindowWidth


OtherPane 示例

该示例插入脚注，然后将插入点返至脚注引用标记。在页面视图中，脚注不是在独立的窗格中插入，GoBack 指令会将插入点返至引用标记。在普通视图或大纲视图中，OtherPane 指令返回插入点。

FntText$ = "This is the footnote text"

InsertFootnote

Insert FntText$

If ViewPage() Then

GoBack

Else

OtherPane

End If


OtherPane

示例

OtherPane

将插入点移至活动窗口的下一窗格中的最近位置。OtherPane 常用于打开批注或脚注窗格的宏。

_____________

请参阅

窗口语句和函数

ClosePane

DocSplit

WindowPane()


WindowArrangeAll

WindowArrangeAll

排列所有打开的窗口，使其不重叠。

_____________

请参阅

窗口语句和函数

DocMove

DocRestore

DocSize


WindowNewWindow

WindowNewWindow

新开一个包含活动文档的窗口。Word 将冒号（：）和数字添至文档所在窗口的标题（该文档在多个窗口中打开）。例如：如果活动文档的窗口标题是 TEST.DOC，并运行 WindowNewWindow，Word 就会新开一个标题为 TEST.DOC:2 的窗口，并将原窗口标题改为 TEST.DOC:1。

_____________

请参阅

窗口语句和函数

DocSplit

WindowArrangeAll

WindowName$()


WindowNumber

WindowNumber

激活“窗口”菜单中所列窗口。Window1 激活列表中的第一个窗口，Window2 激活第二个窗口，依此类推，直到 Window9。如果没有列出窗口，或 Number 大于所列窗口数，就会出错。

注释

不能用变量代替 Number，必须用整数。WindowList 提供了与 WindowNumber 相同的功能，但可接受数字型变量，以指定要激活的窗口。

_____________

请参阅

窗口语句和函数

Activate

CountWindows()

Window()

WindowList

WindowName$()

WindowPane()


WindowPane() 示例

该示例在拆分了活动窗口并且插入点位于最下面的窗格中时将插入点移至活动文档最上面的窗格中：

If WindowPane() = 3 Then OtherPane


WindowPane()

示例

WindowPane()

返回下列值。

返回值	解释
1	如果没有拆分活动窗口，或插入点位于活动窗口最上面的窗格中。
3	如果插入点位于活动窗口最下面的窗格中（例如：脚注窗格、批注窗格或两个文档窗格中的较低者）。
_____________

请参阅

窗口语句和函数

DocSplit

OtherPane

ViewAnnotations()

ViewFootnoteArea()


Microsoft Word Developer's Kit, 第三版。 (Microsoft Press, 1995) ISBN 1-55615-880-7. 是使用 WordBasic
《The Microsoft Word Developer's Kit》第三版。（Microsoft Press，1995）ISBN 1-55615-880-7。这是一本关于利用 WordBasic 编宏的综合性参考书。本书附有磁盘。