Click 事件示例

下列示例示范如何利用 WithEvents 及 Set 来设置 Click 事件过程的代码。请注意，对象引用 ce 是以 Click 事件的形式用于菜单名“工具”中。

Private WithEvents ce As CommandBarEvents

Sub Test()

    Dim c As CommandBarControl

    Set c = Application.VBE.CommandBars("Tools").Controls(1)

    Set ce = Application.VBE.Events.CommandBarEvents(c)

End Sub

Private Sub ce_Click(ByVal CommandBarControl As Object, Handled As Boolean, CancelDefault As Boolean)

    ' 将事件代码写在此处

End Sub


Click 事件（VBA 外接程序对象模型）

发生在对一个命令条控件的 OnAction 属性进行设置时。

语法

Sub object_Click (ByVal ctrl As Object, ByRef handled As Boolean, ByRef canceldefault As Boolean)

Click 事件的语法具有以下几个命名参数：

部分	描述
ctrl	必需的；一个对象，用来指定 Click 事件的来源。
handled	必需的；一个布尔型数，若为 True，就由其它外接程序处理此事件；若为 False，则表示不处理命令条项目的动作。
canceldefault	必需的；一个 Boolean 型数，若为 True，就执行缺省的动作；若为 False，则不执行缺省的动作。
说明

Click 事件是 CommandBarEvents 对象的特定事件，可使用 WithEvents 关键字声明一个变量，用来接收 CommandBar 控件的 Click 事件。此变量必须设置为 Events 对象的 CommandBarEvents 属性返回值，CommandBarEvents 属性会以 CommandBar 控件作为参数，当 CommandBar 被单击时 (对于使用 WithEvents 关键字声明了变量的情况下 )，则代码被执行。


ItemAdded 事件（VBA 外接程序对象模型）

发生在添加一个引用之后。

语法

Sub object_ItemAdded(ByVal item As Reference)

所需的 item 参数用来指定添加的项目。

说明

ItemAdded 事件发生在引用被加到该引用集合对象中时。


ItemRemoved 事件（VBA 外接程序对象模型）

发生在从工程中删除一个引用之后。

语法

Sub object_ItemRemoved(ByVal item As Reference)

其中 item 参数用来指定被删除的引用。


Add 方法 （VBA 外接程序对象模型）
��Add 方法 （VBA 外接程序对象模型）

将一个对象添加到集合。

语法

object.Add(component)

 Add 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
component	必需的。对于 LinkedWindows 集合，为一个对象。对于 VBComponents 集合，则为表示类模块、窗体、标准模块的列举常数。
可以使用以下的常数作为 component 参数：

常数	描述
vbext_ct_ClassModule	将一个类模块添加到集合。
Vbext_ct_MSForm	将窗体添加到集合。
vbext_ct_StdModule	将标准模块添加到集合。
说明

对于 LinkedWindows 集合，Add 方法可将一个窗口添加到当前链接窗口的集合。

注意   可以添加一个链接窗口框架中的窗格到另一个链接窗口框架；实际上就是将一个窗口从一个窗格移动到另一个窗格。如果链接窗口框架的所有窗格均删除，那么将撤消此无窗格的链接窗口框架。

重点   用于控制链接窗口、链接窗口框架以及连接窗口的对象、属性和方法，为与 Windows 中书写的代码兼容，都包括在了 Macintosh 中。然而，当在 Macintosh 上运行时，这些语言元素将产生运行时错误。

对于 VBComponents 集合，Add 方法将创建一个新的标准部件，并且将其添加到工程。

对于 VBComponents 集合，Add 方法返回 VBComponent 对象。对于 LinkedWindows 集合，Add 方法返回 Nothing。


AddFromFile 方法

对于 References 集合，此方法添加一个从文件到工程的引用。对于 CodeModule 对象，此方法添加文件内容到模块中。

语法

object.AddFromFile(filename)

AddFromFile 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
Filename	必需的。一个字符串表达式，用来指定欲添加到工程或模块的文件名。如果找不到文件名或未指明路径名，Windows OpenFile 函数可搜寻目录。
说明

对于 CodeModule 对象，AddFromFile 方法可在代码模块中第一个过程之前的行开始插入文件的内容。如果模块没有包含过程，AddFromString 可将文件的内容放置在模块的最后。


AddCustom 方法

返回一个 VBComponent 对象，或创建一个新的自定义部件并把它添加到该工程中。

语法

object.AddCustom (ByVal progid As String) As VBComponent

AddCustom 方法的语法包含以下部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的一个对象。
progid	必需的。所创建的自定义部件的 ProgID。


AddFromGuid 方法

使用引用的全域唯一标识符 (GUID)，将一个引用添加到 References 集合。

语法

object.AddFromGuid(guid, major, minor) As Reference

AddFromGuid 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是 “应用于” 列表中的一个对象。
Guid	必需的。一个 字符串表达式，用来指定引用的 GUID。
Major	必需的。一个Long型数，用来指定引用的主版本号。
Minor	必需的。一个 Long 型数，用来指定引用的次版本号。
说明

AddFromGuid 方法可搜寻注册表 来找寻要添加的引用。GUID 可以是类型库、控件、类标识符等。


AddFromString 方法

将文本添加到模块。

语法

object.AddFromString

object 为一个对象表达式，其值是 “应用于” 列表中的一个对象。

说明

AddFromString 方法可在模块中第一个过程之前插入文件的内容。如果模块没有包含过程，AddFromString 可将文件的内容安置在模块最后。


Close 方法 （VBA 外接程序对象模型）

关闭并清除一个窗口。

语法

object.Close

object 为一个对象表达式，其值是“应用于”列表中的一个对象。

说明

Close 方法对于以下的窗口类型有不同的处理方式：

•	对于一个代码窗格 的窗口，Close 方法可撤消此代码窗格。

•	对于一个设计器的窗口，Close 方法可撤消包含的设计器。

•	对于在 “视图” 菜单中一直可见的窗口，Close 方法可将其隐藏起来。


CreateEventProc 方法

创建一个事件过程。

语法

object.CreateEventProc(eventname, objectname) As Long

CreateEventProc 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
eventname	必需的。一个字符串表达式，用来指定欲添加到模块的事件名称。
objectname	必需的。一个字符串表达式，用来指定事件源的对象名称。
说明

使用 CreateEventProc 方法来创建一个事件过程。例如，欲为名为 Command1 的 Command Button 控件创建 Click 事件过程，可以用以下的代码，其中 CM 表示 CodeModule 类型的对象：

TextLocation = CM.CreateEventProc("Click", "Command1")

CreateEventProc 方法可返回事件过程的开始行。如果参数引用到一个不存在的事件，CreateEventProc 将失败。


CreateToolWindow 方法

创建一个新的工具窗口，它包含所指出的 UserDocument 对象。

语法

object.CreateToolWindow (AddInInst, ProgID, Caption, GuidPosition, DocObj) As Window

CreateToolWindow 方法的语法包含以下部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的一个对象。
AddInInst	必需的。一个外接程序实例变量，代表开发环境中的一个外接程序。
ProgID	必需的。String，代表 UserDocument 对象的 progID。
Caption	必需的。String，包含窗口的标题。
GuidPosition	必需的。String，包含窗口的唯一标识符。
DocObj	必需的。Object，代表一个 UserDocument 对象。该对象在对此函数的调用中被设置。


DeleteLines 方法

删除一个单行或指定行范围的代码。

语法

object.DeleteLines (startline) [count]

DeleteLines 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
Startline	必需的。一个 Long 型数，用来指定欲删除的开始行。
Count	可选的参数。一个 Long 型数，用来指定欲删除的行数。
说明

如果没有指定欲删除的行数，DeleteLines 将只删除一行。


DesignerWindow 方法

返回代表部件设计器的 Window 对象。

语法

object.DesignerWindow

该 object 所在处是一个对象表达式，其值为“应用于”列表中的对象。

说明

如果部件支持设计器，但没有打开的设计器，使用 DesignerWindow 方法创建设计器，但却是不可见的。要使该窗口可见，将 Window 对象的 Visible 属性设置为 True。


Export 方法 （VBA外接程序对象模型）

将部件按单独文件或一些文件进行保存。

语法

object.Export(filename)

Export 方法语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
Filename	必需的。一个 String 型数，用来指定部件输出为文件的文件名。
说明

当使用 Export 方法将部件存为文件时，使用的文件名不能重名；否则，将可产生错误。


Find 方法 （VBA外接程序对象模型）

在活动模块上搜寻一个特定字符串。

语法

object.Find(target, startline, startcol, endline, endcol [,爓holeword] [,爉atchcase] [, patternsearch]) As Boolean

Find 方法语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是 “应用于” 列表中的一个对象。
target	必需的。一个 String 型数，用来指定欲查找的文本或样式。
Startline	必需的。一个Long型数，用来指定欲搜寻的器始行：如果找到的话，将设为匹配行。第一行为数字1。
Startcol	必需的。一个 Long 型数，用来指定欲搜寻的起始列：如果找到的话，将设为匹配列。第一列是数字1。
endline	必需的。一个 Long 型数，表示最后一个匹配的字符串所在的行数。最后一行可以被指定为-1。
endcol	必需的。一个 Long 型数，表示最后一个匹配的字符串所在的列数。最后一列可以被指定为-1。
wholeword	可选的参数。一个 Boolean型数，表示是否只匹配整个字。如为 True，表示只匹配整个字。默认为 False 。
matchcase	可选的参数。Boolean，表示是否进行大小写匹配。如为 True，表示大小写皆匹配。默认为 False 。
patternsearch	可选的参数。Boolean，表示欲查找的字符串是否为常规表达式。如为True，表示为常规表达式；默认为False 。
说明

如找到匹配项，Find 方法可返回 True，否则返回 False。

matchcase 和 patternmatch 参数是互斥的；如果两参数皆为 True ，将产生错误。

Find 方法不影响 Find 对话框中的内容。

指定的行和列范围是“或”的关系，因此如果所提供的 endcol 是-1或行的长度，则能够找到指定的最后一行的样式。


GetSelection 方法

返回在代码窗格中所选的内容。

语法

object.GetSelection(startline, startcol, endline, endcol)

GetSelection 语法有以下几个部分：

部分	描述
object	必需的。一个 对象表达式，其值是 “应用于” 列表中的一个对象。
startline	必需的。一个 Long，可返回一个值用来指示在代码窗格中所选的起始行。
Startcol	必需的。一个 Long 型数，可返回一个值用来指示在代码窗口中所选的起始列。
Endline	必需的。一个 Long 型数，可返回一个值用来指示在代码窗口中所选的最后一行。
Endcol	必需的。一个 Long 型数，可返回一个值用来指示在代码窗口中所选的最后一列。
说明

使用 GetSelection 方法时，在输出参数中将有返回信息。因为变量将被更改以便包含返回信息，所以必须用变量进行传递。


Import 方法 （VBA 外接程序对象模型）

从文件给工程添加部件；返回该被添加的新部件。

语法

object.Import(filename) As VBComponent

Import 方法语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是 “应用于” 列表中的一个对象。
filename	必需的。一个 String 型数，它指示欲添加部件的路径及文件名。
说明

可以使用 Import 方法给工程添加部件、窗体、模块、类等。


InsertLines 方法

在一个代码块的某个指定位置，插入一行或多行的代码。

语法

object.InsertLines(line, code)

InsertLines 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是 “应用于” 列表中的一个对象。
Line	必需的。一个 Long型数，用来指定要插入代码的位置。
Code	必需的。一个 String 型数据，即要插入的代码。
说明

如果使用 InsertLines 方法所插入的文本用换行回车分隔，则将依此插入一些行。


Item 方法 （VBA 外接程序对象模型）

返回集合中所索引的成员。

语法

object.Item(index)

Item 方法语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
index	必需的。一个表达式，用来指定集合成员的位置。如为数值表达式，index 必须为介於 1 到集合 Count 属性值之间的数字。如为字符串表达式，index 必须和将成员添加到集合时指定的 key 参数相同。
以下表格列出使用 Item 方法时可选的集合及对应的 key 参数。传给 Item 方法的字符串必须和集合的 key 参数匹配。

集合	Key 参数
Windows	Caption 属性设置
LinkedWindows	Caption 属性设置
CodePanes	无唯一字符串与此集合相关。
VBProjects	Name 属性设置
VBComponents	Name 属性设置
References	Name 属性设置
Properties	Name 属性设置
说明

index 参数可以是数值或包含对象标题的字符串。

重点   用于控制链接窗口、链接窗口框架以及连接窗口的对象、属性和方法，为与 Windows 中书写的代码兼容，都包括在了 Macintosh 中。然而，当在 Macintosh 上运行时，这些语言元素将产生运行时错误。


InsertFile 方法

从文件中将代码插入到代码模块。

object.InsertFile(filename) As String

该 InsertFile 语法有这些部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的对象。
filename	必需的。一个字符串表达式，指定包含插入到代码模块中代码的文件。


Lines 方法

返回指定的代码行。

语法

object.Lines(startline, count) As String

Lines 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是 “应用于” 列表中的一个对象。
startline	必需的。一个Long型数，用来指定要返回的起始行。
Count	必需的。一个 Long 型数，用来指定要返回的行数。
说明

在代码模块中行号是从 1 开始。


Remove 方法 （VBA 外接程序对象模型）

从集合中删除一项。

语法

object.Remove(component)

Remove 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
component	必需的。对于 LinkedWindows 集合来说，是一个对象。对于References 集合来说，是一个对类型库，或者对工程的引用。对于 VBComponents 集合来说，是一个枚举型的常数，它代表一个类模块、一个窗体，或者是一个标准模块。
说明

当在 LinkedWindows 集合使用时，Remove 方法可从当前链接窗口的集合中删除一个窗口。被删除的窗口可变成拥有属于自己的链接窗口框架的浮动窗口。


ReplaceLine 方法

用特定的代码代替原代码。

语法

object.ReplaceLine(line, code)

ReplaceLine 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
Line	必需的。一个Long型数，用来指定所要代替的行。
Code	必需的。一个 String 型数，用来指定要插入的代码。


MakeCompiledFile 方法

导致当前工程被写为 DLL。此 DLL 的名称被 BuildFileName 属性指定。

语法

object.MakeCompiledFile

object 所在处代表一个对象表达式，其值是“应用于”列表中的一个对象。


SetFocus 方法

将焦点移动到指定窗口。

语法

object.SetFocus

object 为一个对象表达式，其值是“应用于”列表中的一个对象。

说明

在可见的窗口上使用 SetFocus 方法。


SaveAs 方法

使用新的文件名将工程保存到给定的位置。

语法

object.SaveAs (newfilename As String)

SaveAs 方法的语法包含以下部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的一个对象。
newfilename	必需的。字符串表达式，指定部件被保存时所使用的新名称。
说明

如果给定了新的路径名，将使用新的路径名。否则，将使用原来的路径名。如果新文件名无效或指向一个只读文件，则产生一个错误。

SaveAs 方法仅可以在独立工程中使用。如果在一个主机工程中使用它将产生一个运行时错误。


SetSelection 方法

设置代码窗格中的选择。

语法

object.SetSelection(startline, startcol, endline, endcol)

SetSelection 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是“应用于”列表中的一个对象。
startline	必需的。一个Long型数，用来指定在代码窗格中所选定的起始行。
Startcol	必需的。一个 Long 型数，用来指定在代码窗格中所选定的起始列。
Endline	必需的。一个 Long 型数，用来指定在代码窗格中所选定的最后一行。
Endcol	必需的。一个 Long 型数，用来指定在代码窗格中所选定的最后一列。


Show 方法 （VBA 外接程序对象模型）

使指定的代码窗格成为其窗口中可见的代码窗格。

语法

object.Show

object 为一个对象表达式，其值是“应用于”列表中的一个对象。

说明

Show 方法可使此指定的代码窗格成为该窗口中具有焦点的窗格。


Update 方法

以 Vbaddin.ini 文件中所列出的外接程序来刷新 AddIns 集合的内容，就好象用户已经打开了“外接程序管理器”对话框一样。

语法

object.Update

object 所在处代表一个对象表达式，其值是“应用于”列表中的一个对象。

说明

在 Vbaddin.ini 文件中所有列出的外接程序，在能够被 Visual Basic 所使用之前必需是已经在注册表中注册的 ActiveX 部件。


Add 方法示例

下列示例使用 Add 方法将一个标准模块加到 VBComponents 集合中。

Application.VBE.VBProjects(1).VBComponents.Add(vbext_ct_StdModule)


AddFromFile 方法示例

下列示例使用 AddFromFile 方法将某文件的内容加到所指定的代码窗格中。

Application.VBE.CodePanes(3).CodeModule.AddFromFile "c:\Code Files\book2.frm"


AddFromGUID 方法示例

下列示例使用 AddFromGUID 方法将一个引用加到当前的工程中，其引用是用 Reference 对象的全局唯一标识符来标识的。

Application.VBE.ActiveVBProject.References.AddFromGuid("{000204EF-0000-0000-C000-000000000046}", 5, 0)


AddFromString 方法示例

下列示例使用 AddFromString 方法添加一行代码“Dim intJack As Integer”到指定的代码窗格中。

Application.VBE.CodePanes(3).CodeModule.AddFromString "Dim intJack As Integer"


Close 方法示例

下列示例使用 Close 方法来关闭 Windows 集合里的指定成员。

Application.VBE.Windows(9).Close


CreateEventProc 方法示例

下列示例使用 CreateEventProc 方法来创建 Button_Click 过程。

Debug.Print Application.VBE.SelectVBComponents.CodeModule.CreateEventProc("Click", "Button")


DeleteLines 方法示例

下列示例包含两个步骤。第一个步骤里的 For Next 循环使用 InsertLines 方法将 26 个英文字母排成 26 行文本（第一行从只有一个字母“A”，第二行有两个字母“ab”，其余依此类推，最后一行就包含“A”到“z”共 26 个字母），插入到 CodePanes(1) 中。

第二个步骤里的 For-Next 循环使用 DeleteLines 方法，将第一个步骤所生成的 26 行文本之单数行删除。虽然在第二个循环里，表面上看起来好象是在删除前面 13 行文本（For I = 1 to 13），但实际上每删除掉一行，其后每一行的行号就都减少了，所以其实删除的只有单数行。下面的解释应使读者更清楚：当 I = 1 时，删除第一行，则第二行变成第一行，第三行变成第二行；因此当 I = 2 时，表面上删除的是第二行，但这个第二行是原本的第三行，因此删除的是原本的单数行，并且此时第三行变成第二行，第四行变成第三行；依次而下，直到删除所有的单数行为止。

For I = 1 to 26

Application.VBE.SelectedVBComponent.CodeModule.InsertLines i, Mid$("abcdefghijklmnopqrstuvwxyz", 1, I)

Next

For I = 1 to 13

Application.VBE.SelectedVBComponent.CodeModule.DeleteLines I

Next


DesignerWindow 方法示例

下列示例使用 DesignerWindow 方法和 Visible 属性查找一个特定的设计器是否是可见的。注意 VBComponent 对象必须是一个窗体。

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).DesignerWindow.Visible


Export 方法示例

下列示例创建一个名为 test.bas 的文件，并利用 Export 方法将代码模块 VBComponents(1) 的内容复制到该文件中。

Application.VBE.ActiveVBProject.VBComponents(1).Export("test.bas")


Find 方法示例

下列示例使用 Find 方法验证在某个代码窗格的指定范围内，从第 1261 行到 1279 行中包含"Tabs.Clear"字符串。

Application.VBE.CodePanes(2).CodeModule.Find ("Tabs.Clear", 1261, 1, 1280, 1, False, False)


GetSelection 方法示例

下列示例返回在 CodePanes(1) 里当前选择范围的起点与终点位置。代码的最后一行便是利用 GetSelection 方法将四个值放入四个变量中。

Dim m As Long

Dim n As Long

Dim x As Long

Dim y As Long

Application.VBE.CodePanes(1).GetSelection m, n, x, y


Import 方法示例

下列示例使用 VBComponents 集合的 Import 方法将 test.bas 文件的内容复制到代码模块中。

Application.VBE.ActiveVBProject.VBComponents.Import("test.bas")


InsertLines 方法示例

下列示例使用 InsertLines 方法将“Option Explicit”这行文本插入到指定的代码窗格中。

Application.VBE.CodePanes(1).CodeModule.InsertLines 1, "Option Explicit"


Item 方法示例

下列示例示范两种将 CodePanes 集合的成员显示出来的方法，其中一个便是使用 Item 方法。

Application.VBE.CodePanes.Item(2).Show

Application.VBE.CodePanes(2).Show


Lines 方法示例

下列示例使用 Lines 方法返回在某个代码窗格中从第一行到第四行的代码。

Debug.Print Application.VBE.CodePanes(1).CodeModule.Lines( 1, 4)


Remove 方法示例

下列示例验证 VBComponents 集合里的某成员为一模块，然后再用 Remove 方法将它删除。

Debug.Print Application.VBE.ActiveVBProject.VBComponents(4).Name

Application.VBE.ActiveVBProject.VBComponents.Remove Application.VBE.ActiveVBProject.VBComponents(4)


ReplaceLine 方法示例

下列示例包含两个步骤。第一个步骤里的 For...Next 循环使用 InsertLines 方法将 26 个英文字母排成 26 行文本（第一行从只有一个字母“A”，第二行有两个字母“ab”，其余依此类推，最后一行包含“A”到“z”共26个字母），插入 CodePanes(1) 。

第二个步骤里的For...Next 循环使用 ReplaceLine 方法将偶数行的内容变成该行的最后一个字母，奇数行不变。

For I = 1 to 26

Application.VBE.CodePanes(1).CodeModule.InsertLines I, Mid$("abcdefghijklmnopqrstuvwxyz", 1, I)

Next I

For I = 1 to 13

Application.VBE.CodePanes(1).CodeModule.ReplaceLine 2*I, Mid$("abcdefghijklmnopqrstuvwxyz", I, 1)

Next I


SetFocus 方法示例

下列示例使用 SetFocus 方法将焦点移到 Windows 集合的特定成员上，就象用鼠标单击了它的标题栏一样。

Application.VBE.Windows(9).SetFocus


SetSelection 方法示例

下列示例使用 SetSelection 方法将 CodePanes(1) 第二行第四个字符之后（即第五个字符）到第三行第十五个字符之间的文本选择起来。

Application.VBE.CodePanes(1).SetSelection 2,4,3,15


Show 方法示例

下列示例使用 Show 方法来将指定的代码窗格移至前景。

Application.VBE.CodePanes(2).Show


AddIn 对象

AddIn 对象提供一个外接程序相对于其他外接程序的信息。.

语法

object.AddIn

说明

AddIn o对象是为出现在Vbaddin.ini fileAdd-In 管理器中的外接程序而创建的。


AddIns 集合

返回在Vbaddin.ini fileregistered for VBA 中列出的一个外接程序集合。

语法

object.AddIns

说明

AddIns 集合是通过VBE 对象访问的。对于在Visual Basic VBE 的实例中的外接程序管理器中列出的每一个外接程序而言，它在AddIns 集合中都有一个对象。

该集合代替了在 Visual Basic version 4.0 中使用的ExternalObjects 集合。


CommandBar 对象

CommandBar 对象包含其他 CommandBar 对象，这些对象既可作为按钮，也可作为菜单命令。

语法

CommandBar


CodeModule 对象 (VBA 外接程序对象模式)
CodeModule 对象

在诸如窗体，类或文档等部件之后表示程序代码。

说明

可用 CodeModule 对象来修改（添加、删除、编辑）与部件相关联的代码。

每个部件都与一个 CodeModule 对象相关联。但是，一个 CodeModule 对象可以与多个代码窗格相关联。

与 CodeModule 对象相关联的方法，能让您操作并返回有关逐行代码文本的信息。例如，可用 AddFromString 方法将文本添加到模块中。AddFromString 将文本放在第一个过程之上，如果没有过程的话，则将文本放在模块尾端。

可用 Parent 属性返回与一代码模块相关联的 VBComponent 对象。


CommandBarEvents 对象

CommandBarEvents 属性返回的对象。当在命令栏上按下一个控件时，CommandBarEvents 对象将触发一个事件。

说明

Events 对象的 CommandBarEvents 属性返回 CommandBarEvents 对象。返回的对象在接口上有一个 Click 事件。可用 WithEvents 对象声明来处理此事件。


CommandBars 集合

包含工程中的所有命令栏，包括支持快速菜单的命令栏。

说明

使用 CommandBars 集合对象之后就可用外接程序来添加命令栏和控件，或是将控件添加到现有的内建命令栏。


CodePane 对象

表示代码窗格。

说明

用 CodePane 对象来操作 CodePane 中可视文本的位置或者代码窗格中显示的文本选择。

可用 Show 方法使指定的代码窗格可见。在代码窗格中使用 SetSelection 方法来设置选择，并使用 GetSelection 方法返回代码窗格中的选择位置。


CodePane 集合

包含 VBE 对象中的活动代码窗格。

说明

使用 CodePane 集合来访问工程中打开的 代码窗格。

可用 Count 属性返回集合中的活动代码窗格的数目。


Events 对象

提供属性，使外接程序连接到 Visual Basic for Applications 中的所有事件。

说明

 Events 对象提供了返回事件源对象的属性。可用此属性返回事件源对象，就 Visual Basic for Applications 环境中发生的变化发出通知。

 Events 对象的属性可返回与属性名相同的对象。例如，CommandBarEvents 属性返回 CommandBarEvents 对象。


LinkedWindows 集合

包含链接窗口框架中的所有链接窗口。

说明

可用 LinkedWindows 集合修改开发环境中的窗口为可连接窗口和链接窗口。

重点   用于控制链接窗口、链接窗口框架以及连接窗口的对象、属性和方法，为与 Windows 中书写的代码兼容，都包括在了 Macintosh 中。然而，当在 Macintosh 上运行时，这些语言元素将产生运行时错误。

窗口对象的 LinkedWindowFrame 属性返回拥有有效 LinkedWindows 集合的窗口对象。

链接窗口框架包含所有可以链接或停放的窗口。除了代码窗口、设计器、对象浏览器和撍阉骱吞婊粩窗口之外，它包含所有窗口。

如果链接窗口框架的所有窗格都移动到另一窗口，则将破坏无窗格的 链接窗口框架。但是，如果将所有窗格从主窗口移走，则不会破坏这些框架。

可用 Visible 属性来查看并设置窗口的可见性。

可用 Add 方法将一个窗口添加到当前链接窗口的集合。当窗口是链接窗口框架中的窗格时，可将该窗口添加到其它链接窗口框架。可用 Remove 方法从当前链接窗口的集合中删除窗口；这就使窗口解除链接或不予停放。

用 LinkedWindows 集合可停放或不停放主窗口框架的窗口。


Property 对象

用来描述一对象的属性，而且此对象在属性窗口中可见。

说明

可用 Property 对象的 Value 属性来返回或设置一个部件的属性值。

在最低限度上，所有部件都有 Name 属性。可用 Property 对象的 Value 属性来返回或设置属性的值。Value 属性可返回适当类型的 Variant。如果返回值是对象，则 Value 属性返回 Properties 集合，其中包含表示对象个别属性的 Property 对象。可用返回的 Properties 集合上的 Item 方法访问每个 Property 对象。

如果 Property 对象返回的值为一对象，则可用 Object 属性将 Property 对象设置成新对象。


Properties 集合（VBA 外接对象模型）

表示对象的属性。

说明

用 Properties 集合访问属性窗口中所显示的属性。对 Properties 窗口中列举的每一属性，Properties 集合都有一对象。


Reference 对象

表示类型库或工程的引用。

说明

用 Reference 对象来检验一引用是否一直正确。

如果引用不再指向有效的引用，则 IsBroken 属性返回 True。如果引用是一不能移动或删除的默认引用，则 BuiltIn 属性返回 True。 可用 Name 属性决定，您所要添加或删除的引用是否正确。


References 集合

表示工程中的引用集合。

说明

可用 References 集合添加或删除引用。References 集合与对话框中选顶的引用集合相同。


ReferencesEvents 对象

由 ReferencesEvents 属性返回。

说明

ReferencesEvents 对象为一事件源，这些事件在添加或删除一工程的引用时发生。将引用添加到工程后就会触发 ItemAdded 事件；从一工程中删除引用后就会触发 ItemRemoved 事件。


VBComponent 对象

代表一个包含在工程中的部件，例如类模块或标准模块。

说明

使用 VBComponent 对象访问与部件关联的代码模块或改变部件的属性设置。

可以使用 Type 属性找出VBComponent 对象所引用的部件类型，使用 Collection 属性找出该部件在哪个集合中。


VBComponents 集合

代表工程中的部件。

说明

使用 VBComponents 集合在工程中访问、添加和删除部件。部件可以是窗体、模块、或类。VBComponents 集合是标准集合，可以在 For�Each 块中使用。

可以使用 Parent 属性返回 VBComponents 集合所在的工程。

在Visual Basic for Applications中，可以使用 Import 方法把文件中的部件添加到工程中。


VBE 对象

根对象，它包含所有其它可在 Visual Basic for Applications 中表示对象和集合。

说明

可用下列集合访问 VBE 对象中所包含的对象：

•	     可用 VBProjects 集合访问工程的集合。

•	     可用 AddIns 集合访问外接程序的集合。

•	     可用 Windows 集合访问窗口的集合。

•	     可用 CodePanes 集合访问代码窗格的集合。

•	     可用 CommandBars 集合访问命令栏的集合。

•	     可用 Events 对象访问属性，该属性使外接程序能够连接到 Visual Basic for Applications 中的所有事件。

用 SelectedVBComponent 属性返回活动的部件。活动的部件是工程窗口中追踪的部件。如果在工程窗口中所选择的项目不是部件，则 SelectedVBComponent 返回 Nothing。

注意   这个对象模块中的所有对象都具有指向 VBE 对象的 VBE 属性。


VBNewProjects 集合

表示开发环境中的所有新工程。

说明

使用 VBNewProjects 集合访问开发程序实例中的特定工程。VBNewProjects 是一个可以通过使用 For_ Each 块迭代的标准集合。


VBProject 对象

表示一工程。

说明

可用 VBProject 对象设置工程的属性、访问 VBComponents 集合以及访问 References 集合。


VBProjects 集合

表示开发环境中所有打开的工程。

说明

在开发环境的实例中可用 VBProjects 集合访问具体的工程。VBProjects是一个可用于 For Each 块的标准集合。


Window 对象

表示开发环境中的窗口。

说明

用窗口对象显示、隐含窗口，或将窗口定位。

重点   用于控制链接窗口、链接窗口框架以及连接窗口的对象、属性和方法，为与 Windows 中书写的代码兼容，都包括在了 Macintosh 中。然而，当在 Macintosh 上运行时，这些语言元素将产生运行时错误。

可在 Windows 集合中用 Close 方法关闭窗口。Close 方法对不同类型窗口的影响如下：

窗口	使用 Close 方法的结果
代码窗口	将窗口从 Windows 集合中删除。
设计器	将窗口从 Windows 集合中删除。
链接窗口框架类型的 Window 对象	窗口变为分离的无链接窗口。
注意   对代码窗口和设计器使用 Close 方法，实际上就是关闭窗口。把 Visible 属性设置成 False 将会隐含窗口，但不会关闭窗口。对开发环境窗口，比如工程窗口或属性窗口使用 Close 方法，这将等同于把 Visible 属性设置成 False。

可用 SetFocus 方法将焦点移动到窗口。

可用 Visible 属性返回或设置窗口的可见性。

可用 Type 属性来查知正在使用的窗口的类型。如果有多种窗口，则可用 Caption 属性来决定所使用的窗口。也可用 VBComponent 对象的 DesignerWindow 属性或 CodePane 对象的 Window 属性，来查知要使用的窗口。


Windows 集合

包含所有打开的窗口或永久窗口。

说明

用 Windows 集合访问 Window 对象。

Windows 集合有固定的窗口集合，在集合中总是可用的，比如在工程窗口、属性窗口中，在一组代表所有打开的代码窗口的窗口中，在设计器窗口中就都是可用的。打开代码或设计器窗口，就可将一个新成员添加到 Windows 集合。而关闭代码或设计器窗口，就可从 Windows 集合删除一成员。关闭一永久开发环境窗口并不会导致从这个集合删除对应的对象，但会导致此窗口不可见。


ActiveCodePane 属性示例

下列示例使用 ActiveCodePane 属性及 TopLine 属性返回当前活动的代码窗格的首行行号。

Debug.Print Application.VBE.ActiveCodePane.TopLine


ActiveVBProject 属性示例

下列示例使用 ActiveVBProject 属性来返回活动的工程的名称。

Debug.Print Application.VBE.ActiveVBProject.Name


ActiveWindow 属性示例

下列示例使用 ActiveWindow 属性来返回当前活动窗口的标题。

Debug.Print Application.VBE.ActiveWindow.Caption


BuiltIn 属性示例

下列示例使用 BuiltIn 属性来返回一个 Boolean 值，以判断当前活动工程中的某引用是否为内置的。

Debug.Print Application.VBE.ActiveVBProject.References(1).BuiltIn


Caption 属性示例

下列示例使用 Caption 属性来显示当前活动窗口的标题。

Debug.Print Application.VBE.ActiveWindow.Caption


CodeModule 属性示例

下列示例使用 CodeModule 及 CountOfLines 属性返回某代码模块内的行数。

Debug.Print Application.VBE.ActiveVBProject.VBComponents(6).CodeModule.CountOfLines


CodePane 属性示例

下列示例使用 CodePane 及 TopLine 属性来显示被选择的 VBComponent 对象中代码模块中的首行行号。

Debug.Print Application.VBE.SelectedVBComponent.CodeModule.CodePane.TopLine


CodePanes 属性示例

下列示例使用 CodePanes 及 TopLine 属性来显示代码窗格中的首行行号。

Debug.Print Application.VBE.CodePanes(3).TopLine


CodePaneView 属性示例

下列示例使用 CodePaneView 属性返回一个值，表明指定的代码窗格是在过程视图中，还是在整个模块视图中。

Debug.Print Application.VBE.CodePanes(3).CodePaneView


Collection 属性示例

下列示例使用 Collection 及 Count 属性返回当前活动的工程包含多少对象，如同视其为对象的集合。

Debug.Print Application.VBE.ActiveVBProject.Collection.Count


CommandBarEvents 属性示例

下列示例使用 CommandBarEvents 属性来支持任何处理命令条上鼠标单击事件的代码。

Private WithEvents ce As CommandBarEvents

Sub Test()

    Dim c As CommandBarControl

    Set c = Application.VBE.CommandBars("Tools").Controls(1)

    Set ce = Application.VBE.Events.CommandBarEvents(c)

End Sub

Private Sub ce_Click(ByVal CommandBarControl As Object, Handled As Boolean, CancelDefault As Boolean)

    ' 将事件的处理程序码写于此处

End Sub


Count 属性示例

下列示例使用 Count 属性返回某个工程中所含的 VBComponent 对象的数量。

Debug.Print Application.VBE.VBProjects(1).VBComponents.Count


CountOfDeclarationLines 属性示例

下列示例使用 CountOfDeclarationLines 属性返回指定的代码窗格中声明行的数目。

Debug.Print Application.VBE.CodePanes(2).CodeModule.CountOfDeclarationLines


CountOfLines 属性示例

下列示例使用 CountOfLines 属性返回指定代码窗格中的总行数。

Application.VBE.CodePanes(2).CodeModule.CountOfLines


CountOfVisibleLines 属性示例

下列示例使用 CountOfVisibleLines 属性返回指定的代码窗格中，根据窗格的高度，同时可见的行数。

Debug.Print Application.VBE.Codepanes(3).CountOfVisibleLines


Description 属性示例

下列示例中，第一个示例使用 Description 属性将一个描述赋予指定的工程；该示例还将该描述显示出来以供确认赋值是否成功。

第二个示例使用 Description 属性返回某个工程中指定的 Reference 对象的描述名称。

Application.VBE.VBProjects(1).Description = "Hot Sauce"

Debug.Print Application.VBE.VBProjects(1).Description

Debug.Print Application.VBE.VBProjects(1).References(1).Description

Debug.Print Application.VBE.VBProjects(1).References(2).Description


Designer 属性示例

下列示例使用 Designer 及 Count 属性返回窗体所包含的控件总数。请注意，包含该窗体的窗口必需处在被选择的状态才行。Designer 对象则是指窗体本身。

Debug.Print Application.VBE.SelectVBComponent.Designer.Controls.Count


FullPath 属性示例

下列示例使用 FullPath 属性返回指定引用的对象库的全路径名称。

Debug.Print Application.VBE.ActiveVBProject.References(1).FullPath


GUID 属性示例

下列示例使用 GUID 属性返回指定工程中指定的 Reference 对象的全局唯一标识符。

Debug.Print Application.VBE.VBProjects(1).References(1).GUID


HasOpenDesigner 属性示例

下列示例使用 HasOpenDesigner 属性返回某工程中的指定部件是否拥有开放式的设计器。

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).HasOpenDesigner


height 和 Width 属性示例

下列示例使用 Height 及 Width 属性返回指定的窗口之高度与宽度（以缇为单位）。这些属性的设置值在窗口被链接或连接后会有所改变，因为此后它们引用了原始窗口与之链接或连接的 Window 对象。

Debug.Print Application.VBE.Windows(9).Height

Debug.Print Application.VBE.Windows(9).Width


HelpContextID 属性示例

下列示例使用 HelpContextID 属性返回工程所属的帮助文件的上下文标识符。

Debug.Print Application.VBE.VBProjects(1).HelpContextID


HelpFile 属性示例

下列示例使用 HelpFile 属性指派一个帮助文件给工程；示例显示帮助文件的全路径名以确认这次赋值是否成功。

Application.VBE.VBProjects(1).HelpFile = "C:\HelpStuff\veenob3.hlp"

Debug.Print Application.VBE.VBProjects(1).HelpFile


IsBroken 属性示例

下列示例使用 IsBroken 属性返回一个值，指示特定工程中的指定的 Reference 对象是否已被中断。

Debug.Print Application.VBE.vbprojects(1).References(1).IsBroken


left 及 Top 属性示例

下列示例使用 Left 及 Top 属性返回某个窗口左上角的坐标值（以缇为单位）。这些属性的设置值在窗口被链接或连接后会有所改变，因为此后它们引用了原始窗口与之链接或连接的 Window 对象。

Debug.Print Application.VBE.Windows(9).Left

Debug.Print Application.VBE.Windows(9).Top


Lines Property Example
Lines 属性示例

下列示例使用Lines 属性返回一个指定的代码块，该代码块在一个特定的代码窗格中的第一行到第四行间。

Debug.Print Application.VBE.CodePanes(1).CodeModule.Lines( 1, 4)


MainWindow 属性示例

下列示例使用 MainWindow 属性返回代表主窗口的 Window 对象，并打印主窗口标题。

Debug.Print Application.VBE.MainWindow.Caption


Major 属性示例

下列示例使用 Major 属性返回某工程中指定的 Reference 对象的主版本号。

Debug.Print Application.VBE.VBProjects(1).References(1).Major


Minor 属性示例

下列示例使用 Minor 属性返回某工程中指定的 Reference 对象的次版本号。

Debug.Print Application.VBE.VBProjects(1).References(1).Minor


Mode 属性示例

下列示例使用 Mode 属性返回活动工程的模式。返回的值是事先定义好的代表工程模式的常量。

Debug.Print Application.VBE.ActiveVBProject.Mode


Name 属性示例

下列示例使用 Name 属性返回某工程中指定的 VBComponents 集合中某个成员的名称。

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).Name


NumIndices 属性示例

下列示例使用 NumIndices 属性返回属于特定 VBComponent 对象的指定属性的索引值的个数。

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).Properties(40).NumIndices


Object 属性示例

下列示例加载图标名称，到指定的对象（必须是个窗体）的图标列表中。

Application.VBE.ActiveVBProject.VBComponents(1).Properties("Icon").Object = LoadPicture("Baseball.ico")


Parent 属性示例

下列示例使用 Parent 属性返回在对象层次中某一对象之父对象的名称。

Debug.Print Application.VBE.ActiveVBProject.VBComponents.Parent.Name


ProcBodyLine 属性示例

以下示例使用 ProcBodyLine 属性，返回指定过程SetupTabs中代码第一行的行号到特定的代码窗格。

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcBodyLine ("SetupTabs", vbext_pk_Proc)


ProcCountLines 属性示例

以下示例使用 ProcCountLines 属性，返回指定过程SetupTabs中代码的行数到特定的代码窗格。

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcCountLines ("SetupTabs", vbext_pk_Proc)


ProcOfLine 属性示例

以下示例使用 ProcOfLine 属性返回在特定代码窗格中包含指定行号的过程名。

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcOfLine (1270, vbext_pk_Proc)


ProcStartLine 属性示例

以下示例使用 ProcStartLine 属性返回指定过程开始的行到指定的代码窗格。

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcStartLine ("SetupTabs", vbext_pk_Proc)


Protection 属性示例

下列示例使用 Protection 属性来返回一个值，指示工程是否处于保护状态。返回的值为一事先定义好的常量，表示工程的状态。

Debug.Print Application.VBE.ActiveVBProject.Protection


ReferencesEvents 属性示例

下列示例使用含有 ReferencesEvents 属性的代码，来支持在添加或删除引用时所用的代码。

Private WithEvents X As ReferencesEvents

Sub Test()

    Set X = Application.VBE.Events.ReferencesEvents

End Sub

Private Sub X_ItemAdded(ByVal Reference As VBIDE.Reference)

    ' 将支持撎砑訑的代码写于此处

End Sub

Private Sub X_ItemRemoved(ByVal Reference As VBIDE.Reference)

    ' 将支持撋境龜的代码写于此处

End Sub


Saved 属性示例

下列示例使用 Saved 属性返回一 Boolean 值，指示工程的当前状态是否已经保存过了。

Debug.Print Application.VBE.VBProjects(1).Saved


SelectedVBComponent 属性示例

下列示例使用 SelectedVBComponent 属性返回被选择的部件。

Debug.Print Application.VBE.SelectedVBComponent.Name


TopLine 属性示例

下列示例使用 TopLine 属性返回指定的代码窗格中第一行的行号。

Debug.Print Application.VBE.CodePanes(3).TopLine


Type 属性示例

下列示例使用 Type 属性返回一个值，指示特定工程中 VBComponents 集合的指定成员的类型。返回的值是一事先定义好的常量，代表部件的类型。

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).Type


Value 属性示例

下列示例使用 Value 属性返回 VBComponents 集合中某个成员的指定属性的值。

Debug.Print Application.VBE. ActiveVBProject.VBComponents(1).Properties("AcceptLabelsInFormulas").Value


VBE 属性示例

下列示例使用 VBE 以及 Name 属性返回活动工程名称。

Debug.Print Application.VBE.ActiveVBProject.Name


Version 属性示例

下列示例使用 Version 属性返回主应用程序的版本号。

Debug.Print Application.VBE.Version


Visible 属性示例

下列示例使用 Visible 属性返回一个 Boolean 值，指示指定的窗口是否可见。

Debug.Print Application.VBE.Windows(9).Visible


Window 属性示例

下列示例使用 Window 以及 Caption 属性返回指定代码窗格的标题。

Debug.Print Application.VBE.CodePanes(1).Window.Caption


WindowState 属性示例

下列示例使用 WindowState 属性返回指定窗口的显示状态。返回的值为事先定义好的常量，代表窗口的显示状态。

Debug.Print Application.VBE.Windows(9).WindowState


ActiveCodePane 属性

返回当前活动的或上一次活动的CodePane对象，或设置活动的CodePane对象。可读/写。

说明

可以将ActiveCodePane 属性设置为任何有效 CodePane 对象，如下例所示：

Set MyApp.VBE.ActiveCodePane = MyApp.VBE.CodePanes(1)

上例将代码窗格集合中的第一个代码窗格设置为活动代码窗格。也可以用Set方法来激活一个代码窗格


ActiveVBProject 属性

返回在工程窗口中的活动工程，此属性为只读。

说明

ActiveVBProject属性返回“工程”窗口中选定的工程，或部件被选定的工程。对后者来说，工程本身并不须要被选定。无论此工程是否被显式地选定，都有一个工程是活动的。


ActiveWindow 属性

返回开发环境中活动的窗口，此属性为只读。

说明

当开发环境中有一个以上的窗口被打开时，ActiveWindow 属性的设置值是拥有焦点的那个窗口。如果拥有焦点的是主窗口，则 ActiveWindow 属性返回 Nothing。


BuiltIn 属性

返回一个布尔值，指出该引用是否是不能被删除的缺省引用。此属性为只读。

返回值

BuiltIn 属性返回下列值：

值	描述
True	该引用是不能被删除的缺省引用。
False	该引用不是缺省引用，可以被删除。


BuildFileName 属性

设置或返回当该工程生成时所使用的 DLL 名。

语法

object.BuildFileName

object 所在处代表一个对象表达式，其值是“应用于”列表中的一个对象。


Caption 属性

返回一个包含活动窗口标题的字符串。此属性为只读。

说明

活动窗口标题是指显示在窗口标题栏的文本。


CodeModule 属性

返回一个对象，代表与部件相关的代码。此属性为只读。

说明

如果该部件没有关联的代码模块，CodeModule属性返回Nothing。

注意   CodePane 对象代表一个可见的代码窗口，一个给定的部件可以有多个 CodePane 对象，CodeModule 对象代表部件内的代码。一个部件只能有一个 CodeModule 对象。


CodePane 属性

返回一个 CodePane 对象，此属性为只读。

说明

如果存在一个代码窗格，则它将变成活动的代码窗格，并且，包含它的窗口将变成活动的窗口。如果该模块的代码窗格不存在，则CodePane属性将创建一个代码窗格。


CodePanes 属性

返回活动的CodePan对象的集合，此属性为只读。


CodePaneView 属性

返回一个值，指出代码窗格是“过程查看”还是“全模块查看”。此属性为只读。

返回值

CodePaneView 属性的返回值如下：

常数	描述
vbext_cv_ProcedureView	指定的代码窗格处于“过程查看”模式。
Vbext_cv_FullModuleView	指定的工程处于“全模块查看”模式。


Collection 属性

返回一个集合，它包含您正在使用的对象。此属性为只读。

说明

大部分这种对象模型的对象，都具有Parent属性或Collection属性指向该对象的父对象。

使用Collection属性，可以访问该对象所在集合的属性、方法及控件。


CommandBarEvents 属性

返回CommandBarEvents对象。此属性为只读。

设置值

传递给CommandBarEvents属性的参数设置值如下：

参数	描述
vbcontrol	必须是一个类型为 CommandBarControl 的对象。
说明

使用 CommandBarEvents 属性来返回一个事件源对象，当一个命令栏按钮被单击时，该事件源对象将触发一个事件。传递给CommandBarEvents属性的参数，是将要被触发Click事件的命令栏按钮控件。


Connect 属性

返回或设置外接程序的连接状态。

说明

如果该外接程序已注册并当前为已连接（活动的），则返回 True。

如果该外接程序已注册，但未连接（非活动的），则返回 False。


Count 属性

返回一个Long型数，包含一个集合中成员的数目。此属性为只读。


CountOfLines 属性

返回一个Long型数，包含一个代码模块中代码的行数。此属性为只读。


CountOfDeclarationLines 属性

返回一个Long型数，它包含代码模块的“声明”部分的代码行数。此属性为只读。


CountOfVisibleLines 属性

返回一个Long型数，它包含代码窗格中可见的代码行数。此属性为只读。


Description 属性

返回或设置一个字符串表达式，包含对某个对象的描述性字符串。对于VBProject对象，此属性可读/写；对于Reference对象，此属性为只读。

说明

对于VBProject对象，Description属性返回或设置一个关于活动的工程的描述性字符串。

对于Reference对象，Description属性返回该引用的描述性的名称。


Designer 属性

返回一个可以访问部件设计特征的对象。

说明

如果该对象有一个打开设计器，Designer 属性可返回该打开设计器；否则便可创建一个新的设计器。这个设计器是某一个特定 VBComponent 对象的特征。譬如，当创建某一特定类型的 VBComponent 对象，一个设计器便可伴随着此对象而创建。一个部件只能有一个设计器，而且通常都是同一个设计器。可以访问具有 Designer 属性的指定部件对象。在某些情况下，例如在标准模块及类模块中，设计器将不可被创建，因为这种类型的 VBComponent 对象并不支持设计器。

如果 VBComponent 对象没有设计器的话，Designer 属性可返回 Nothing。


DesignerID 属性

返回一个 ActiveX 设计器的，是只读属性。


FullPath 属性

返回一个 String ，其内容为被引用的类型库的路经和文件名，此属性为只读。


FileName Property
FileName 属性

返回工程文件或主文档的完整路径名。

语法

object.Filename

object 所在处代表一个对象表达式，其值是“应用于”列表中的一个对象。

说明

工程除文件名之外没有其它的名称。

所返回的路径名总是完整路径（例如，"c:\projects\myproject.vba"），就算是显示为相对路径（例如 "..\projects\myproject.vba"）也是如此。


GUID 属性

返回一个 String，其内容为一个对象的类标识符，此属性为只读。


HasOpenDesigner 属性

返回一个布尔 值，指定此 VBComponent 对象是否具有一个打开设计器，此属性为只读。

返回值

HasOpenDesigner 属性返回下列这些值：

值	描述
True	VBComponent 对象具有一个打开的设计窗口。
False	VBComponent 对象没有打开设计窗口。


Height 属性（VBA 外接程序对象模型）

 返回或设置一个 Single 数，其内容为以缇 为单位的窗口高度，此属性可读/写。

说明

只要窗口保持链接或连接，改变链接窗口或连接窗口的 Height 属性设置没有任何效果。

重点    Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。


HelpContextID 属性（VBA 外接程序对象模型）

返回或设置一个 String，其内容为 Microsoft Windows 联机帮助文件中一个主题的上下文 ID ，此属性可读/写。


HelpFile 属性（VBA 外接程序对象模型）

返回或设置一个 String，指定一个工程的 Microsoft Windows 联机帮助文件。可读写。


IndexedValue 属性（VBA 外接程序对象模型）

返回或设置一个属性之成员的值，该属性为索引串行或数组。

说明

由 IndexedValue 属性返回或设置的值是一个表达式，其值对应的类型是可以被该对象所接受的。对一个索引串行或数组属性来说，必须使用 IndexedValue 属性而非 Value 属性。一个索引串行是一个指定索引位置的数值表达式。

IndexedValue 可以接受至多四个索引。IndexedValue 可以接受的索引数目由 NumIndices 属性返回。

IndexedValue 属性只有在 NumIndices 属性大于零时才可使用。索引串行中的值由单一索引来设置或返回。


IsBroken 属性

返回一个布尔 值，它指定 Reference 对象是否指向一个注册表中有效的引用，此属性为只读。

返回值

IsBroken 属性返回下列这些值：

值	描述
True	Reference 对象不再指向一个在注册表中的有效引用。
False	Reference 对象指向一个在注册表中的有效引用。


Left 属性

返回或设置一个 Single，它以缇为单位指出该窗口左边缘在屏幕中的位置。可读写。

说明

由 Left 属性所返回的值取决于此窗口是否为链接窗口或连接窗口。

注意   只要窗口保持链接或连接，改变链接或连接窗口的 Left 属性设置没有任何效果。

重点    Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。


Lines 属性

返回一个字符串，它包含指定行数的代码。

语法

object.Lines(startline, count) As String

Lines 语法包含以下部分：

部分	描述

object	必需的。对象表达式，其值是“应用于”列表中的一个对象。

startline	必需的。Long型值，指定起始行号。

count	必需的。Long 型值，指定要返回的行数。

说明

代码模块中的行号是从 1 开始。


LinkedWindowFrame属性

返回一个代表包含该窗口的框架的 Window 对象，此属性为只读。

说明

LinkedWindowFrame 属性可访问代表链接窗口框架的对象，该对象具有一些属性，那些属性与该窗口或包含窗口所具有的不同。如果该窗口没有被链接，LinkedWindowFrame 将属性返回 Nothing。

重点    Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。


LinkedWindows 属性

返回一个集合，此集合中的所有链接窗口都包含在一个链接窗口框架，此属性为只读。

说明

 LinkedWindows 属性是一个访问者属性（即，返回和属性名相同类型的对象的属性）。


MainWindow 属性

返回一个代表 Visual Basic 开发环境主窗口的 Window 对象，此属性为只读。

说明

可以使用由 MainWindow 属性所返回的 Window 对象来增加或删除可连接窗口。亦可使用由 MainWindow 属性所返回的 Window 对象来将 Visual Basic 开发环境的主窗口放到最大、缩到最小、隐含或是还原。

重点   Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。


Major 属性

返回一个 Long，其内容为被引用的类型库的主版本号，此属性为只读。

说明

由 Major 属性所返回的代码，相当于存在曾引用过的类型库里的主版本号。


Minor 属性

返回一个 Long，它指定被引用的类型库的次版本号，此属性为只读。

说明

由 Minor 属性所返回的代码，相当于存在曾引用过的类型库里的次版本号。


Mode 属性

返回一个值，其内容为指定工程当前所处的方式，此属性为只读。

返回值

Mode 属性返回下列这些值：

常数	描述
vbext_vm_Run	指定的工程处于运行方式。
vbext_vm_Break	指定的工程处于中断方式。
vbext_vm_Design	指定的工程处于设计方式。


Name 属性（VBA 外接程序对象模型）

返回或设置一个 String，其内容为一个在代码中用来识别对象的名称。对 VBProject 对象及 VBComponent 对象，可读/写；对 Property 对象及Reference 对象，此属性为只读。

说明

下面这张表格描述 Name 属性设置在不同的对象中如何应用。

对象	使用 Name 属性设置值的结果
VBProject	返回或设置活动的工程的名称。
VBComponent	返回或设置部件名称。若试图将 Name 属性设置成一个已经被使用或无效的名称，将可生成一个错误。
Property	返回出现在Property Browser中的属性名。这个值用来索引 Properties 集合。此名称不能被设置。
Reference	返回代码中的引用的名称。此名称不能被设置。
一个新对象的默认名称是这个对象的类型再加上一个唯一的整型。譬如，第一个新窗体对象就是 Form1，一个新的窗体对象就是 Form1，而你在一个窗体中创建的第三个文本框控件就是 TextBox3。

一个对象的 Name 属性必须以一个英文字母开始且最多 40 个字符。它可以包含数字及下划线 (_) 字符但不可包含标点符号或空白字符。窗体及模块 不能与另一个公共对象如 Clipboard、Screen 或 App 具有相同名称。虽然 Name 属性可以是一个关键字、属性名或是另一对象的名称，但这会在代码中造成一些冲突。


NumIndices 属性（VBA 外接程序对象模型）

返回由 Property 对象所返回的属性的索引数目。

说明

NumIndices 属性的值可以是一个由 0 到 4 的整型。对大部分的属性，NumIndices 返回0。照惯例，索引属性可返回1。属性数组可能返回 2。


Object 属性

返回或设置一个由属性所返回的对象的值，此属性可读/写。

说明

若一个属性返回对象，必须用 Object 属性返回或设置此对象的值。


Parent 属性

返回包含另一对象或集合的对象或集合，此属性为只读。

说明

大部分的对象都可有一个 Parent 属性或是 Collection 属性，它们是用来在这个对象模式中指向此对象的父对象。Collection 属性只有在父对象是集合时才可被使用。

使用 Parent 属性来访问一个对象的父对象的属性、方法及控件。


ProcBodyLine 属性

返回过程的第一行。

语法

object.ProcBodyLine(procname, prockind) As Long

 ProcBodyLine 语法有以下部分：

部分	描述
object	必需的。对象表达式，其值是“应用于”列表中的对象。
procname	必需的。包含过程名的String
prockind	必需的。指定要定位的过程种类。属性过程在模块中可以有多种表示，必须指定要定位的过程种类。除了使用 vbext_pk_Proc的属性过程(即， Sub 和 Function 过程)之外的所有过程。
对 prockind参数可以使用如下的常数 之一：

常数	描述
vbext_pk_Get	指定一个返回属性值的过程。
vbext_pk_Let	指定一个赋值给属性的过程。
vbext_pk_Set	指定一个给对象设置引用的过程。
vbext_pk_Proc	指定所有过程除了属性过程。
说明

 Sub、Function或 Property 出现在一个过程的第一行。


ProcCountLines 属性

返回特定过程的行数。

语法

object.ProcCountLines(procname, prockind) As Long

 ProcCountLines 语法有三部分

部分	描述
object	必需的。对象表达式，其值是“应用于”列表中的对象。
procname	必需的。包含过程名的String
prockind	必需的。指定要定位的过程种类。属性过程在模块中可以有多种表示，必须指定要定位的过程种类。所有过程除了属性过程(即， Sub 和 Function 过程) 用 vbext_pk_Proc。
对 prockind 参数可以使用如下的常数 之一：

常数	描述
vbext_pk_Get	指定一个返回属性值的过程。
vbext_pk_Let	指定一个赋值给属性的过程。
vbext_pk_Set	指定一个给对象设置引用的过程。
vbext_pk_Proc	指定所有过程除了属性过程。
说明

ProcCountLines 属性返回在过程声明之前的所有空行及注释行的计数，并且，如果该过程是一段代码模块的最后一个，那么此过程之后的所有空行也计入。


ProcOfLine 属性

返回特定的行所在的过程 名。

语法

object.ProcOfLine(line, prockind) As String

ProcOfLine 语法有三部分：

部分	描述
object	必需的。对象表达式，其值是“应用于”列表中的对象。
line	必需的。指定要检查的行长型
prockind	必需的。指定要定位的过程种类。属性过程在模块中可以有多种表示，必须指定要定位的过程种类。所有过程除了属性过程(即， Sub 和 Function 过程) 用 vbext_pk_Proc。
可以给 prockind 参数使用如下的常数 之一：

常数	描述
vbext_pk_Get	指定一个返回属性值的过程。
vbext_pk_Let	指定一个赋值给属性的过程。
vbext_pk_Set	指定一个给对象设置引用的过程。
vbext_pk_Proc	指定所有过程除了属性过程。
说明

一个过程声明之前的空行或注释行属于该行，并且，如果该过程是一个代码模块的最后一个过程，则该模块后面将有一行或多行空白行。

 ProcCountLines 属性返回在过程声明之前的所有空行及注释行的计数，并且，如果该过程是一段代码模块的最后一个，那么紧接着该过程之后的空行或行也是。


ProcStartLine 属性

返回指定过程 的起始行。

语法

object.ProcStartLine(procname, prockind) As Long

ProcStartLine 语法有三部分：

部分	描述
Object	必需的。对象表达式，其值是“应用于”列表的对象。
Procname	必需的。包含过程名称的String
Prockind	必需的。指定要定位的过程种类。属性过程在模块中可以有多种表示，必须指定要定位的过程种类。所有过程除了属性过程(即，Sub 和 Function 过程) 用 vbext_pk_Proc。
对 prockind 参数可以使用如下的常数 之一：

常数	描述
Vbext_pk_Get	指定一个返回属性值的过程。
vbext_pk_Let	指定一个赋值给属性的过程。
vbext_pk_Set	指定一个给对象设置引用的过程。
vbext_pk_Proc	指定所有过程除了属性过程。
说明

一个过程在前面过程的End Sub 语句下开始第一行。如果该过程是第一个，那么此过程在通用声明部分之后开始。


Protection 属性

返回一个值，指示一个工程的保护状态，此属性为只读。

返回值

Protection 属性返回值有：

常数	描述
Vbext_locked	指定的工程是被锁住的。
Vbext_pp_none	指定的工程并没有被保护。


Properties 属性

返回一个对象的属性，该属性为只读。

说明

Properties 属性是一个访问者属性(即，该属性返回的对象类型与属性名相同)。


References 属性

返回一个工程中的引用的集合，该属性为只读。

说明

References 属性是一个访问者属性(即，该属性返回的对象类型与属性名相同)。


ReferencesEvents 属性

返回 ReferencesEvents 对象，此属性为只读。

设置值

传送给 ReferencesEvents 属性的参数设置可以是：

参数	描述
vbproject	若 vbproject 指向 Nothing，则所返回的对象将可为 VBProjects 集合中的所有 VBProject 对象的 References 集合提供事件。 若 vbproject 指向一个有效的VBProject 对象，则所返回的对象将只为该工程 的References 集合提供事件。
说明

ReferencesEvents 属性可接受一个参数且返回一个事件源对象。ReferencesEvents 对象是当引用被添加或删除时所触发的事件的来源。


Saved 属性

返回一个布尔型值，指示对象自上一次保存后是否编辑过，此属性为可读/写。

返回值

 Saved 属性可返回这些值：

值	描述
True	自上一次保存后对象没有编辑过。
False	自上一次保存后对象编辑过。
说明

 SaveAs 方法设置 Saved 属性为 True。

注意   如果在代码中把 Saved 属性设置为 False ，就将返回 False ,并且对象并标记为自上一次保存后编辑过。


SelectedVBComponent 属性

返回一个被选择的单元，此属性为只读。

说明

SelectedVBComponent属性返回工程窗口中被选择的部件，如果在 Project 窗口中被选择的项不是一个部件， SelectedVBComponent 返回 Nothing。


Top 属性

返回或设置一个 Single，它以缇为单位指示该窗口上边缘在屏幕中的位置，此属性可读/写。

说明

由 Top 属性所返回的值取决于此窗口是否为可连接窗口、链接窗口，或在连接查看中。

注意   改变一个链接或连接窗口的 Top 属性设置不会产生任何效果，只要该窗口保持链接或连接。

重点   Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。


TopLine 属性

返回一个Long型数，它指定在代码窗格顶部的行号，或设置代码窗格顶部的行，此属性可读/写。

说明

使用 TopLine 属性可返回或设置显示在代码窗格程序最上方之行。譬如，若想要在代码窗格显示第 25 列，就把 TopLine 属性设为 25。

TopLine 属性必须设置为一个正数。若 TopLine 属性的设置大于代码窗格中的实际行数，则设置是代码窗口中的最后一行。


Type 属性（VBA 外接程序对象模型）

返回一个数字或字符串值，其内容为对象的类型，此属性为只读。

返回值

Window 对象的 Type 属性设置如下表描述：

常数	值	描述
vbext_wt_CodeWindow	0	“代码窗口”window
vbext_wt_Designer	1	设计器
vbext_wt_Browser	2	“对象浏览器”
vbext_wt_Immediate	5	“立即”窗口
vbext_wt_ProjectWindow	6	工程窗口
vbext_wt_PropertyWindow	7	属性窗口
vbext_wt_Find	8	“查找”对话框
vbext_wt_FindReplace	9	“查找和替换”对话框
vbext_wt_LinkedWindowFrame	11	链接窗口框架
vbext_wt_MainWindow	12	主窗口
vbext_wt_Watch	3	监视窗口
vbext_wt_Locals	4	本地窗口
vbext_wt_Toolbox	10	工具箱
vbext_wt_ToolWindow	15	工具 窗口
重点   Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。VBComponent 对象的 Type 属性设置如下表描述：

常数	描述
Vbext_ct_ClassModule	类模块
Vbext_ct_MSForm	Microsoft 窗体
Vbext_ct_StdModule	标准模块
Reference 对象的 Type 属性设置如下表描述：

常数	描述
vbext_rt_TypeLib	类型库
vbext_rt_Project	工程


Value 属性

返回或设置一个Variant型数，它指定该属性之值，此属性可读/写。

说明

由于 Value 属性返回的是一个 Variant，所以可以访问任何属性。要访问一个列表，请使用 IndexedValue 属性。

如果 Property 对象所代表的属性是可读写的，则 Value 属性便是可读写的。若该属性是只读的，则对 Value 属性进行设置，可导致错误。若该属性是只写的，则返回 Value 属性的操作，可导致错误。

Value 属性是 Property 对象的默认属性。


VBComponents 属性

返回包含在一个工程中的部件的集合。

说明

使用 VBComponents 集合访问、增加或删除工程中的部件。部件可以是窗体、模块或类。VBComponents 集合是标准集合，可用 For_ Each 块中。

可用 Parent 属性返回 VBComponents 集合所在的工程名。

在用 Visual Basic 编写应用程序时，可以用 Import 方法从文件往工程中增加部件。


VBE 属性

返回该 VBE 对象的根，此属性为只读。

说明

所有的对象都有一个指向 VBE 对象根的 VBE 属性。


Version 属性

返回一个 String，其内容为该应用程序正在使用的 Visual Basic for Applications 的版本号，此属性为只读。

说明

Version 属性值是一个由一或两个数值字符开始、一个句号及两个数值字符所组成的字符串；字符串剩余的部分则没有定义，可以包含任何文本或数字。


Visible 属性

对于 Window 对象，返回或设置一个布尔 型值，指定该窗口是否可见，此属性可读/写。对 CodePane 对象，返回一个 Boolean 值，指定窗口中的代码窗格是否可见，此属性为只读。

返回值

Visible 属性返回下列值：

值	描述
True	（默认）对象是可见的。
False	对象被隐藏。


Width 属性

返回或设置一个Single型数，它以缇为单位指示该窗口的宽度，此属性可读/写。

说明

改变一个链接窗口或可连接窗口 的 Width 属性，只要该窗口保持链接或连接，就不会有任何效果。

重点   Macintosh 机中包括主控链接窗口，链接窗口框架，连接窗口的对象、属性和方法以便与在 Windows 中写的代码相兼容。但这些语言元素在Macintosh 机上运行时会产生运行时错误。


Window 属性

返回显示代码窗格的窗口，此属性为只读。


WindowState 属性

返回或设置一个数值，它指定一个窗口的可视状态，此属性可读/写。

设置值

WindowState 属性可返回或设置下列值：

常数	值	描述
vbext_ws_Normal	0	（默认）正常
vbext_ws_Min	1	缩到最小（缩小至一图标）
vbext_ws_Max	2	放到最大（放大至最大的尺寸）


CommandBars 属性

包含工程中的所有命令条，包括支持快捷方式菜单的命令条。


AddIns 属性

返回一个集合，给外接程序用来向扩展的对象模型注册它们的自动单元。

语法

object.AddIns

 object所在处是一个对象表达式，其值是“应用于”列表中的一个对象。


Events 属性

提供允许外接程序连接到所有 Visual Basic for Applications 事件的属性。

语法

object.Events

object所在处是一个对象表达式，其值是“应用于”列表中的一个对象。


VBProjects 属性

返回 VBProjects 集合, 它表示当前在 Visual Basic IDE 中打开的所有工程。

语法

object.VBProjects

object所在处是一个对象表达式，其值是“应用于”列表中的一个对象。


Windows 属性

返回 Window 对象，它表示 Visual Basic IDE 中的一个窗口。

语法

object.Window

object所在处是一个对象表达式，其值是“应用于”列表中的一个对象。


ProgID 属性

返回对象 VBControl 所代表的控件的ProgID （编程 ID）。