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 事件

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

语法

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

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

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

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


ItemAdded 事件

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

语法

Sub object_ItemAdded(ByVal item As Reference)

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

说明

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


ItemRemoved 事件

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

语法

Sub object_ItemRemoved(ByVal item As Reference)

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


CodeModule 对象

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

说明

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

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

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

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


CommandBarEvents 对象

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

说明

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


CommandBars 集合

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

说明

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


VBComponent 对象

表示一部件，如工程中的类模块或标准模块。

说明

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

可用 Type 属性查知 VBComponent 对象引用什么类型的部件，也可用 Collection 属性查知此部件在哪个集合中。


VBComponents 集合

表示一工程中所包含的部件。

说明

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

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

在 Visual Basic for Applications 中，可用 Import 方法将部件从文件添加到工程中。


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 集合修改开发环境中的窗口为可连接窗口和链接窗口。

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

链接窗口框架包含所有可以链接或停放的窗口。除了代码窗口、设计器、对象浏览器和“搜索和替换”窗口之外，它包含所有窗口。

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

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

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

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


Property 对象

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

说明

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

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

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


Properties 集合

表示对象的属性。

说明

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


Reference 对象

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

说明

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

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


References 集合

表示工程中的引用集合。

说明

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


ReferencesEvents 对象

由 ReferencesEvents 属性返回。

说明

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


VBE 对象

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

说明

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

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

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

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

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

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

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

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


VBProject 对象

表示一工程。

说明

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


VBProjects 集合

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

说明

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


Window 对象

表示开发环境中的窗口。

说明

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

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

窗口	使用 Close 方法的结果
代码窗口	将窗口从 Windows 集合中删除。
设计器	将窗口从 Windows 集合中删除。
链接窗口框架类型窗口对象	窗口变为分离的无链接窗口。
注意   对代码窗口和设计器使用 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


DesignerWindow 属性示例

下列示例使用 DesignerWindow 及 Visibile 属性返回某个设计器是否可见。请注意，VBComponent 对象必需是一个窗体。

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


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


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 属性示例

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

Set Application.VBE.ActiveVBProject.VBComponents(1).Properties(揑con").Object = LoadPicture(揃aseball.ico")


Parent 属性示例

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

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


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


SelectedVBComponent 属性

返回选定的部件，此属性为只读。

说明

SelectedVBComponent 属性可返回在工程窗口中被选定的部件。如果在“工程”窗口中选定的项目并不是一个部件的话，SelectedVBComponent 可返回 Nothing


ActiveVBProject 属性

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

说明

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


ActiveWindow 属性

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

说明

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


Caption 属性

返回一个 String，其内容为活动窗口的标题，此属性为只读。

说明

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


CodeModule 属性

返回一个对象，它代表部件内代码，此属性为只读。

说明

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

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


CodePane 属性

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

说明

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


CodePaneView 属性

返回一个值，指定代码窗格是处于过程查看或是全模块查看，此属性为只读。

返回值

CodePaneView 属性的返回值如下：

常数	描述
vbext_cv_Procedure	指定的代码窗格是处于过程查看。
vbext_cv_FullModule	指定的工程是处于全模块查看。


Collection 属性

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

说明

这个对象模块中的大部分对象，都可有一个指向父对象的 Parent 属性或 Collection 属性。

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


CommandBarEvents 属性

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

设置值

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

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

使用 CommandBarEvents 属性可返回一个事件源对象。这个事件源对象可在一个命令栏按钮被单击时触发一个事件。传入CommandBarEvents 属性的参数是一个命令栏控件，click 事件可被它所触发。


Count 属性

返回一个 Long型数，其内容为一个集合内成员的个数，此属性为只读。


CountOfLines 属性

返回一个 Long型数，其内容为一个代码模块内代码的行数，此属性为只读。


CountOfDeclarationLines 属性

返回一个 Long型数，其内容为一个代码模块的声明区内代码行数，此属性为只读。


CountOfVisibleLines 属性

返回一个 Long型数，其内容为代码窗格内可见的代码行数，此属性为只读。


ActiveCodePane 属性

返回活动或是最近一次活动的 CodePane 对象，或设置活动 CodePane 对象，此属性可读/写。

说明

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

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

上面示例将由代码窗格所组成的集合中的第一个代码窗格设置成活动代码窗格。亦可用 Set 方法来激活一个代码窗格。


Description 属性

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

说明

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

对 Reference 对象，Description 属性可以返回该引用的详尽名称。


Designer 属性

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

说明

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

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


DesignerWindow 属性

返回一个 Window 对象，代表此部件的设计器。

说明

若该部件支持设计器， 但却没有打开设计器，则访问 DesignerWindow 属性时便可创建一个设计器，不过这是不可见的。欲使窗口可见，请将 Window 对象的 Visible 属性设为 True。


CodePanes 属性

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


GUID 属性

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


HasOpenDesigner 属性

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

返回值

HasOpenDesigner 属性返回下列这些值：

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


Height 属性

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

说明

改变链接窗口或可连接窗口的 Height 属性是不可有任何效果的。


HelpContextID 属性 (Visual Basic)

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


HelpFile 属性

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


IndexedValue 属性

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

说明

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

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

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


IsBroken 属性

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

返回值

IsBroken 属性返回下列这些值：

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


BuiltIn 属性

返回一个 Boolean 值，它指定此引用是否是一个不可删除的缺省引用，此属性为只读。

返回值

BuiltIn 属性返回下列这些值：

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


Saved 属性

返回一个 Boolean 值，它指定此对象自最后一次存储后是否曾被编辑过。可读写。

返回值

Saved 属性返回下列这些值：

值	描述
True	此对象自最后一次存储后不曾被编辑过。
False	此对象自最后一次存储后曾被编辑过。
说明

SaveAs 方法可将 Saved 属性设置为 True。

说明   若在代码中将 Saved 属性设置为 False，则它可返回 False，且此对象可被标记成如同自最后一次存储后曾被编辑过。


Left 属性

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

说明

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

说明   改变一个链接或可连接的窗口的 Left 属性是不可有任何效果的。


LinkedWindowFrame 属性

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

说明

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


FullPath 属性

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


MainWindow 属性

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

说明

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


Major 属性

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

说明

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


Minor 属性

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

说明

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


Mode 属性

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

返回值

Mode 属性返回下列这些值：

常数	描述
vbext_vm_RunMode	指定的工程处于运行方式。
vbext_vm_BreakMode	指定的工程处于中断方式。
vbext_vm_DesignMode	指定的工程处于设计方式。


Name 属性

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

说明

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

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

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


NumIndices 属性

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

说明

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


Object 属性

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

说明

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


Parent 属性

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

说明

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

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


Protection 属性

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

返回值

Protection 属性返回下列这些值：

常数	描述
vbext_Protection	指定的工程是被保护的。
vbext_NoProtection	指定的工程并没有被保护。
vbext_Locked	指定的工程是被锁住的。


ReferencesEvents 属性

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

设置值

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

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

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


Top 属性

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

说明

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

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


TopLine 属性

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

说明

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

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


Type 属性

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

返回值

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

常数	值	描述
vbext_wt_CodeWindow	0	代码窗口
vbext_wt_Designer	1	设计器
vbext_wt_Browser	2	对象浏览器
vbext_wt_Watch	3	监视窗格
vbext_wt_Locals	4	本地
vbext_wt_Immediate	5	立即窗口
vbext_wt_ProjectWindow	6	工程窗口
vbext_wt_PropertyWindow	7	属性窗口
vbext_wt_Find	8	查找对话框
vbext_wt_FindReplace	9	搜索与替换对话框
vbext_wt_Toolbox	10	工具箱
vbext_wt_LinkedWindowFrame	11	链接窗口框架
vbext_wt_MainWindow	12	主窗口
vbext_wt_Preview	13	预视窗口
vbext_wt_ColorPalette	14	画笔窗口
VBComponent 对象的 Type 属性设置如下表描述：

常数	描述
vbext_ct_ClassModule	类模块
vbext_ct_MSForm	Microsoft 窗体
vbext_ct_StdModule	标准模块
vbext_ct_Document	文档模块
Reference 对象的 Type 属性设置如下表描述：

常数	描述
vbext_rt_TypeLib	类型库
vbext_rt_Project	工程


Value 属性

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

说明

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

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

Value 属性是 Property 对象的缺省属性。


VBE 属性

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

说明

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


Version 属性

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

说明

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


Visible 属性

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

返回值

Visible 属性返回下列值：

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


Width 属性

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

说明

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


Window 属性

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


WindowState 属性

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

设置值

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

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


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


Export 方法示例

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

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


Find 方法示例

下列示例使用 Find 方法，在某个代码窗格里查找“Tabs.Clear”字符串，其范围从第 1261 行到 1279 行。

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)


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)


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-ext 循环使用 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


Add 方法

将一个对象添加到集合。

语法

object.Add(component)

 Add 语法有以下几个部分：

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

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

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

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

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

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


AddFromFile 方法

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

语法

object.AddFromFile(filename)

AddFromFile 语法有以下几个部分：

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

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


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 方法

关闭并清除一个窗口。

语法

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 将失败。


DeleteLines 方法

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

语法

object.DeleteLines (startline) [count]

DeleteLines 语法有以下几个部分：

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

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


Export 方法

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

语法

object.Export(filename)

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

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

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


Find 方法

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

语法

object.Find(target, startline, startcol, endline, endcol [,�wholeword] [,�matchcase] [, patternsearch]) As Boolean

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

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

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

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

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


GetSelection 方法

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

语法

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

GetSelection 语法有以下几个部分：

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

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


Import 方法

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

语法

object.Import(filename) As VBComponent

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

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

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


InsertLines 方法

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

语法

object.InsertLines(line, code)

InsertLines 语法有以下几个部分：

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

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


Item 方法

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

语法

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 参数可以是数值或包含对象标题的字符串。


Lines 方法

返回指定的代码行。

语法

object.Lines(startline, count) As String

Lines 语法有以下几个部分：

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

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


ProcBodyLine 方法

返回过程的起始行。

语法

object.ProcBodyLine(procname, prockind) As Long

ProcBodyLine 语法有以下几个部分：

部分	描述
object	必需的。一个对象表达式，其值是 “应用于” 列表中的一个对象。
procname	必需的。一个 String 型数，所含为过程名称。
Prockind	必需的。指定过程的种类，因为属性过程在模块中可以有多种表示，所以必须指定过程的种类。所有非属性过程的过程 (即，Sub 和 Function 过程 ) 使用 vbext_pk_Proc。
可以使用以下的常数作为 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	必需的。一个Long型数，用来指定所要检查的行。
Prockind	必需的。指定过程的种类。因为属性过程在模块可以有多种表示，所以必须指定过程的种类。所有非属性过程的过程 (即， Sub 和 Function 过程 ) 使用 vbext_pk_Proc。
可以使用以下的常数当作 prockind 参数：

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

过程声明前的空白和注释行，属过程之内，且如过程是代码模块中的最后一个过程，则过程后的任何空白行也属过程之内。


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 语句之后的起始行，属于下一个过程的起始行。如果此过程是第一个过程，那它的起始行是在常规声明区域之后。


Remove 方法

从集合中删除一项。

语法

object.Remove(component)

Remove 语法有以下几个部分：

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

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


ReplaceLine 方法

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

语法

object.ReplaceLine(line, code)

ReplaceLine 语法有以下几个部分：

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


SetFocus 方法

将焦点移动到指定窗口。

语法

object.SetFocus

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

说明

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


SetSelection 方法

设置代码窗格中的选择。

语法

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

SetSelection 语法有以下几个部分：

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


Show 方法

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

语法

object.Show

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

说明

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


Change 事件（占位符）


Click 事件（占位符）


DblClick 事件（占位符）


DragDrop 事件（占位符）


DragOver 事件（占位符）


KeyDown 事件（占位符）


KeyPress 事件（占位符）


KeyUp 事件（占位符）


MouseDown 事件（占位符）


MouseMove 事件（占位符）


MouseUp 事件（占位符）


OLECompleteDrag 事件（占位符）


OLEDragDrop 事件（占位符）


OLEDragOver 事件（占位符）


OLEGiveFeedback 事件（占位符）


OLESetData 事件（占位符）


OLEStartDrag 事件（占位符）


Refresh 方法（占位符）


OLEDrag 方法（占位符）


Appearance 属性（占位符）


BackColor 属性（占位符）


Caption 属性（占位符）


Enabled 属性（占位符）


Font 属性（占位符）


ForeColor 属性（占位符）


IntegralHeight 属性（占位符）


Locked 属性（占位符）


MouseIcon 属性（占位符）


MousePointer 属性（占位符）


OLEDragMode 属性（占位符）


OLEDropMode 属性（占位符）


SelLength 属性（占位符）


SelStart 属性（占位符）


SelText 属性（占位符）


Style 属性（占位符）


Text 属性（占位符）


未找到关键字

不能在 Visual Basic 帮助中找到已选择的关键字。可能是该关键字拼写有误、过多或过少选择文本、或所要寻求帮助的词不是有效的 Visual Basic 关键字。

要获得关于特定关键字的帮助，最简单的方法就是把插入点放到想要获得帮助的关键字内的任何地方，然后按 F1 键。不必选中该关键字。事实上，如果只选中了关键字的一部分，或超过了一个单词，“帮助”将不能找到要查找的内容。

要使用内置的“帮助”查找对话框，请按下工具栏上的“帮助主题”按钮。


Left、Top 属性（占位符）


Height、Width 属性（占位符）


Tag 属性（占位符）


ToolTipText 属性（占位符）


Count 属性（占位符）


Item 方法（占位符）


Hwnd 属性（占位符）


TabStop 属性（占位符）


Visible 属性（占位符）


Picture 属性（占位符）


Max, Min 属性（占位符）


Add 方法（占位符）


Clear 方法（占位符）


Container 属性（占位符）


控件集合（占位符）


Copies 属性（占位符）


DataBinding 对象（占位符）


DataBindings 集合（占位符）


Filename 属性（占位符）


FontBold、FontItalic、FontStrikeThru 属性（占位符）


FontName 属性（占位符）


FontSize 属性（占位符）


GetData 方法（占位符）


GetFormat 方法（占位符）


HelpFile 属性（占位符）


Item 属性（占位符）


Remove 方法（占位符）


SetData 方法（占位符）


Align 属性（占位符）


DragIcon 属性（占位符）


DragMode 属性（占位符）


HelpContextID 属性（占位符）


TabIndex 属性（占位符）


Alignment 常数（占位符）


Border 属性常数（占位符）


BorderStyle 常数（占位符）


BorderStyle 属性（ActiveX 控件）（占位符）


Clear 方法（ActiveX 控件）（占位符）


Clipboard 对象常数（占位符）


Color 常数（占位符）


CommonDialog 控件常数（占位符）


CommonDialog 错误常数（占位符）


Control 常数（占位符）


DataBindings 属性（占位符）


DDE 常数（占位符）


Drag-and-Drop 常数（占位符）


Drawing 常数（占位符）


FetchVerbs 方法（占位符）


Form 常数（占位符）


Graphics 常数（占位符）


Grid 控件常数（占位符）


Help 常数（占位符）


HideSelection 属性（ActiveX 控件）（占位符）


HideSelection 属性（占位符）


Image 属性（ActiveX 控件）（占位符）


ImageList 属性（ActiveX 控件）（占位符）


Index 属性（ActiveX 控件）（占位符）


Index 属性（占位符）


Key Code 常数（占位符）


Key 属性（ActiveX 控件）（占位符）


Menu Accelerator 常数（占位符）


Menu Control 常数（占位符）


Miscellaneous 常数（占位符）


MousePointer 常数（占位符）


OLE Container Control 常数（占位符）


Picture Object 常数（占位符）


Printer Object 常数（占位符）


RasterOp 常数（占位符）


Remove 方法（ActiveX 控件）（占位符）


ShowInTaskbar 属性（占位符）


ShowTips 属性（ActiveX 控件）（占位符）


ShowWhatsThis 方法（占位符）


Text 属性（ActiveX 控件）（占位符）


Value 属性（ActiveX 控件）（占位符）


Variant Type 常数（占位符）


Visual Basic 常数（占位符）


WhatsThisButton 属性（占位符）


WhatsThisHelp 属性（占位符）


WhatsThisHelpID 属性（占位符）


WhatsThisMode 方法（占位符）


Windows 95 控件常数（占位符）


ColIsVisible 属性（占位符）


ColPos 属性（占位符）


DataObject 对象（占位符）


DataObjectFiles 集合（占位符）


DataSource 属性（占位符）


Drag 方法（占位符）


DrawMode 属性（占位符）


FixedAlignment 属性（占位符）


GotFocus 事件（占位符）


GridLineWidth 属性（占位符）


Index 属性（控件数组）（占位符）


LostFocus 事件（占位符）


Move 方法（占位符）


Name 属性（占位符）


Object 属性（占位符）


Parent 属性（占位符）


RowColChange 事件（占位符）


RowIsVisible 属性（占位符）


RowPos 属性（占位符）


SetFocus 方法（占位符）


ZOrder 方法（占位符）


Files 方法（占位符）


Connect 事件（占位符）


HScrollSmallChange、VScrollSmallChange 属性（占位符）


MinHeight、MinWidth 属性（占位符）


“属性页”对话框（占位符）


RemoteHost 属性（占位符）


RemotePort 属性（占位符）


ViewportHeight、ViewportLeft、ViewportTop、ViewportWidth 属性（占位符）


Resync 方法（远程数据）（占位符）


ContainedVBControls 集合（占位符）


Member 对象（占位符）


Members 集合（占位符）


VBComponentsEvents 对象（占位符）


VBProjectsEvents 对象（占位符）


Files 属性（占位符）


Alignment 属性（占位符）


AboutBox 方法（占位符）


Col, Row 属性（占位符）


RowHeight 属性（占位符）


Scroll 事件（占位符）


ScrollBars 属性（占位符）


SelEndCol, SelStartCol, SelEndRow, SelStartRow 属性（占位符）


AddIn 对象

AddIn 对象为一个外接程序对其它外接程序提供信息。

语法

AddIn

说明

为 Vbaddin.Ini 文件中的每个外接程序创建 AddIn 对象。


AddIns 集合

返回 Vbaddin.Ini 文件中列举的外接程序集合。

语法

AddIns

说明

AddIns 集合是通过 VBE 对象来访问的。Visual Basic 的加载管理器中列举的每个外接程序都在 AddIns 集合中有一个对象。

该集合取代了 Visual Basic 4.0 版中的 ExternalObjects 集合。


CommandBar 对象

CommandBar 对象包含其它的 CommandBar 对象，这些对象是作为按钮或菜单命令来用的。

语法

CommandBar


FileControlEvents 对象

表示所有由 Visual Basic 提供的、支持文件控制的事件。

语法

FileControlEvents

说明

FileControlEvents 对象取代了 Visual Basic 4.0 版中的 FileControl 对象。除了对其事件做些改动以允许多个工程支持以外，FileControlEvents 对象一如既往，按相同方式工作。


Member 对象

Member 对象表示基于代码的成员属性和基于类型库的成员属性的混合。

语法

Member

说明

基于代码的属性（如 Name）是只读的，因此，为了更改这些属性，必须对外接程序修改代码。


Members 集合

返回代码模块等级成员组成的集合。

语法

Members

说明

代码模块的成员是具有模块等级范围的标识符，可将此成员看作代码模块的属性、方法或事件。


Properties 集合

返回控件或部件的可用属性。

语法

Properties

说明

该对象或集合包含在设计时可正常访问的所有属性。

Properties 集合的缺省值由 Item 方法来决定。

可用 Properties 集合访问“属性”窗口中显示的属性。对“属性”窗口列出的每个属性，Properties 集合都有一个对象与之对应。


SelectedVBControls 集合

返回当前在部件上选定的控件集合。

语法

SelectedVBControls

说明

可用该集合访问窗体上所有当前选定的控件。代码可逐步遍历控件集合，或请求一个特定控件。

除了未实现 Add 方法这一点之外，对该集所作的说明与 VBControls 集合相同。对于 SelectedVBControls 集合，缺省方法是 Item 方法，并用整数索引。

该集合取代了 Visual Basic 4.0 版中的 SelectedControlTemplates 集合。


SelectedVBControlsEvents 对象

表示由所有当前选定的控件所支持的事件的源。

语法

SelectedVBControlsEvents


VBComponentsEvents 对象

在 Visual Basic 工程中添加、删除、重新命名或激活对象时将产生事件，该对象就表示这些事件的源。

语法

VBComponentsEvents


VBControl 对象

表示工程中的一个部件上的控件。

语法

VBControl

说明

程序可通过 VBForm 对象访问控件。用 VBForm 对象可以：

•	访问控件的所有设计时属性。

•	标识控件的容器。

•	改变控件的 Z-顺序。

VBControl 对象取代了 Visual Basic 4.0 版中的 ControlTemplate 对象。


VBControls 集合

返回窗体上所有部件的集合。

语法

VBControls

说明

程序可通过 VBControls 集合访问多个控件。用 VBControls 集合可以：

•	访问部件中的所有控件。

•	逐步遍历控件集合。

•	返回特定控件。

•	向部件添加控件。

Item 方法决定 VBControls 集合的缺省值。

VBControls 集合取代了 Visual Basic 4.0 版中的 ControlTemplates 集合。


VBControlsEvents 对象

在 Visual Basic 工程中添加、删除、重新命名或激活控件时将产生事件，该对象就表示这些事件的源。

语法

VBControlsEvents


VBForm 对象

返回工程中的部件。

语法

VBForm

说明

ClassName 属性决定 VBForm 对象的缺省值。

VBForm 对象取代了 Visual Basic 4.0 版中的 ControlTemplate 对象。


VBProjectsEvents 对象

在 Visual Basic 工程中添加、删除、重新命名或激活控件时将产生事件，该对象就表示这些事件的源。

语法

VBProjectsEvents


AfterAddFile 事件

该事件发生在用“工程”菜单中的“添加文件”命令，将控件添加到当前 Visual Basic 工程之后。

语法

Sub object_AfterAddFile(vbproject As VBProject, filetype As vbext_FileType, filename As String)

AfterAddFile 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的一个对象。
vbproject	VBProject 对象，指出其中已被添加文件的工程名。
filetype	数字值 (vbext_FileType)，指出被添加的文件的类型，如“设置值”中列表所示。
filename	字符串表达式，指出被添加的文件名。
设置值

vbext_FileType 的数字值是：

常数	值	描述
vbext_ft_Form	0	文件类型是窗体。
vbext_ft_Module	1	文件类型是基本模块。
vbext_ft_Class	2	文件类型是类模块。
vbext_ft_Project	3	文件类型是工程。
vbext_ft_Exe	4	文件类型是可执行文件。
vbext_ft_Res	6	文件类型是资源文件。
vbext_ft_UserControl	7	文件类型是用户控件。
vbext_ft_PropertyPage	8	文件类型是属性页。
vbext_ft_DocObject	9	文件类型是用户文档。
vbext_ft_Binary	10	文件类型是二进制文件。
vbext_ft_GroupProject	11	文件类型是工程组。
vbext_ft_Designer	12	文件类型是设计器对象。
说明

Visual Basic 仅对能从“工程”菜单添加的文件触发该事件。（即窗体、类、用户控件、属性页和模块）。如果从“工程”菜单中选择“添加” object，则不发生 AfterAddFile 事件。当 .Frx 文件第一次创建时也不发生，并且在窗体第二次被添加时也不再发生。

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。


AfterChangeFileName 事件

该事件发生在当前工程中的文件第一次被保存，或用新名字保存之后，也发生在工程首次被编译为 .Exe 文件或编译为新的 .Exe 名字时。

语法

Sub object_AfterChangeFileName (vbproject As VBProject, filetype As vbext_FileType, newname As String, oldname As String)

AfterChangeFileName 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出其中文件被更改的工程名。
filetype	数字值 (vbext_FileType)，指出被更改的文件类型，如“设置值”中列表所示。
newname	字符串表达式，指出文件的新名字。
oldname	字符串表达式，指出文件的旧名字。
设置值

vbext_FileType 的数字值是：

常数	值	描述
vbext_ft_Form	0	文件类型是窗体。
vbext_ft_Module	1	文件类型是基本模块。
vbext_ft_Class	2	文件类型是类模块。
vbext_ft_Project	3	文件类型是工程。
vbext_ft_Exe	4	文件类型是可执行文件。
vbext_ft_Res	6	文件类型是资源文件。
vbext_ft_UserControl	7	文件类型是用户控件。
vbext_ft_PropertyPage	8	文件类型是属性页。
vbext_ft_DocObject	9	文件类型是用户文档。
vbext_ft_Binary	10	文件类型是二进制文件。
vbext_ft_GroupProject	11	文件类型是工程组。
vbext_ft_Designer	12	文件类型是设计器对象。


AfterCloseFile 事件

该事件发生在工程被关闭之后，不论是由用户直接关闭，还是当退出程序时由 Visual Basic 关闭。

语法

Sub object_AfterCloseFile(vbproject As VBProject, filetype As vbext_FileType, filename As String, wasdirty As Boolean)

AfterCloseFile 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出其中文件被关闭的工程名。
filetype	数字值 (vbext_FileType)，指出被关闭的文件类型，如“设置值”列表所示。
filename	字符串表达式，指出被关闭的文件名。
wasdirty	布尔表达式，指出在文件关闭前是否保存对文件的更改，如“设置值”中列表所示。
设置值

vbext_FileType 的数字值是：

常数	值	描述
vbext_ft_Form	0	文件类型是窗体。
vbext_ft_Module	1	文件类型是基本模块。
vbext_ft_Class	2	文件类型是类模块。
vbext_ft_Project	3	文件类型是工程。
vbext_ft_Exe	4	文件类型是可执行文件。
vbext_ft_Res	6	文件类型是资源文件。
vbext_ft_UserControl	7	文件类型是用户控件。
vbext_ft_PropertyPage	8	文件类型是属性页。
vbext_ft_DocObject	9	文件类型是用户文档。
vbext_ft_Binary	10	文件类型是二进制文件。
vbext_ft_GroupProject	11	文件类型是工程组。
vbext_ft_Designer	12	文件类型是设计器对象。
wasdirty 设置值是：

设置值	描述
True	当文件被关闭时是不干净的。（即在关闭它之前选择了不保存对文件所做的更改。）
False	当文件被关闭时是干净的。（即关闭它之前选择了保存对文件所做的更改。）
说明

该事件对每个工程中每个连接到 FileControl 对象的外接程序都发生一次；对每个窗体、模块、类、和控制文件都发生一次，对工程文件也发生一次。

如果窗体不干净，且在“保存下列文件的更改吗?”对话框上选择了“否”，则 AfterCloseFile 事件不发生。同样当工程关闭时，对 .Frx 文件该事件也不发生。而当 .Frm 文件被储存时该事件发生。

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。

•	比较可执行文件 (.EXE) 的版本。


AfterRemoveFile 事件

该事件发生在从当前 Visual Basic 工程中删文件之后。

语法

Sub object_AfterRemoveFile(vbproject As VBProject, filetype As vbext_FileType, filename As String)

AfterRemoveFile 事件语法包含下面部分：

Part	Description
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出其中文件被删除的工程名。
filetype	数字值 (vbext_FileType)，指出被删除文件的类型，如“设置值”中列表所示。
filename	字符串表达式，指出被删除的文件名。
说明

对于在保存之前已被删除的部件，AfterRemoveFile 事件不发生。

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。


AfterWriteFile 事件

该事件发生在文件被写盘之后。

语法

Sub object_AfterWriteFile(vbproject As VBProject, filetype As vbext_FileType, filename As String, result As Integer)

AfterWriteFile 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出其中已被写入文件的工程名。
filetype	数字值 (vbext_FileType)，指出写盘文件的类型，如“设置值”中列表所示。
filename	字符串表达式，指出写盘文件名。
result	数值表达式，指出写操作的结果，如“设置值”列表所示。
设置值

vbext_FileType 的数字值是：

常数	值	描述
vbext_ft_Form	0	文件类型是窗体。
vbext_ft_Module	1	文件类型是基本模块。
vbext_ft_Class	2	文件类型是类模块。
vbext_ft_Project	3	文件类型是工程。
vbext_ft_Exe	4	文件类型是可执行文件。
vbext_ft_Res	6	文件类型是资源文件。
vbext_ft_UserControl	7	文件类型是用户控件。
vbext_ft_PropertyPage	8	文件类型是属性页。
vbext_ft_DocObject	9	文件类型是用户文档。
vbext_ft_Binary	10	文件类型是二进制文件。
vbext_ft_GroupProject	11	文件类型是工程组。
vbext_ft_Designer	12	文件类型是设计器对象。
result 的设置值是：

值	描述
0	写盘成功。
1	写盘取消。
2	写盘失败。
说明

当与部件（如 .Frx 文件）相关联的二进制数据文件第一次被保存时，AfterWriteFile 事件发生，并且发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更改有关该文件的信息。

•	备份该文件。

•	比较可执行文件 (.EXE) 的版本。


BeforeLoadFile 事件

该事件发生在当部件被添加（不打开）到工程中，或与部件的相关联的二进制文件（如 .Frx 文件）被访问时。

语法

Sub object_BeforeLoadFile(vbproject As VBProject, filenames() As String)

BeforeLoadFile 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出其中已被加载文件的工程名。
filenames	字符串表达式，指出要加载的文件名。
说明

该事件发生在所有连接到 FileControl 对象的外接程序中，该事件对工程发生多次：对工程文件发生一次；对所有的窗体、模块、类、用户控件、属性页和控件文件发生一次；对每一个 .Frx 文件发生一次。如果窗体文件连同相关的 .Frx 文件被保存时该事件也发生，因为当 .Frm 文件被保存时 .Frx 文件被加载

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。


DoGetNewFileName 事件

每当在任何部件或工程上执行“另存为”操作时，无论是从“文件”菜单上手工执行的还是由程序执行的，该事件都发生。

语法

Sub DoGetNewFileName(vbproject As VBProject, filetype As vbext_FileType, newname As String, oldname As String, canceldefault As Boolean)

DoGetNewFileName 事件语法包含下面部分：

部分	描述
vbproject	VBProject 对象，指出被写的工程名。
filetype	数字值 (vbext_FileType)，指出被写文件的类型，如“设置值”中列表所示。
newname	字符串表达式，指出新的文件名，该文件规格必须与当前的 LastUsedPath 属性相关，或者是完全限定的文件名。
oldname	字符串表达式，指出文件的旧名字。
canceldefault	布尔表达式，确定缺省的 Visual Basic 动作，如“设置值”中所描述。
设置值

vbext_FileType 的数字值是：

常数	值	描述
vbext_ft_Form	0	文件类型是窗体。
vbext_ft_Module	1	文件类型是基本模块。
vbext_ft_Class	2	文件类型是类模块。
vbext_ft_Project	3	文件类型是工程。
vbext_ft_Exe	4	文件类型是可执行文件。
vbext_ft_Res	6	文件类型是资源文件。
vbext_ft_UserControl	7	文件类型是用户控件。
vbext_ft_PropertyPage	8	文件类型是属性页。
vbext_ft_DocObject	9	文件类型是用户文档。
vbext_ft_Binary	10	文件类型是二进制文件。
vbext_ft_GroupProject	11	文件类型是工程组。
vbext_ft_Designer	12	文件类型是设计器对象。
canceldefault 的设计值是：

设置值	描述
True	对任何后续的连接到 FileControl 对象的外接程序停止触发该事件。如果当 canceldefault 设置为 True 时 newname 是零字符串 ("")，则事件被取消；反之，输入到 newname 的名字做为新的文件名。
False	对后续的连接到 FileControl 对象的外接程序继续触发该事件。如果没有外接程序将 canceldefault 设置为 True，则“文件另存为”或“生成 .Exe”对话框就用输入到选定的 newname 中的字符串来显示。
说明

如果 canceldefault 参数设置为 True，则不显示“文件另存为”对话框。如果 canceldefault 设置为 False，则显示“文件另存为”对话框。如果不止一个外接程序被连接，且 canceldefault 在“另存为”操作期间都置为 True，则“文件另存为”对话框对任何外接程序都不 显示，直至下一个“另存为”操作被执行。

newname 参数最初设置为与 oldname 相同的值，但接受该事件的任何外接程序都能改变它。为此一种可用的方法是，通过定制的用户界面获得新的文件名并设置 newname 为用户的选择。然而，如果 canceldefault 是 True（意味着先前的外接程序设置为 True），就不应当再次设置 newname。

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。


IDTExtensibility 接口

IDTExtensibility 接口包含了当外接程序与 Visual Basic 连接时 Visual Basic 调用的一些方法，无论是通过外接程序管理器，还是其它一些手段。

IDTExtensibility 接口包括一些管理 Visual Basic 中各个外接程序所需的预配置过程模板（其中包括它们的参数列表）。

语法

Implements IDTExtensiblity

说明

接口的用法对 Visual Basic 5.0 是新的概念。接口能够从模块的“过程”下拉列表框中选择预配置的过程模板，消除参数表输入错误并能加快编程速度。

接口的方法是通过 Implements 语句展现的。当上面的语法输入处理外接程序事件的类模块的声明部分时，通过模块的“过程”和“对象”下拉框便可使用该接口的方法。要在模块中添加代码，只要在下拉框中简单地选定它就行。

IDTExtensiblity 接口通常包含四种方法：

•	OnAddinsUpdate 方法

•	OnConnection 方法

•	OnDisconnection 方法

•	OnStartupComplete 方法

虽然，它们的作用和表现很象事件，但对 Visual Basic的程序员来讲，这些仍然是 IDTExtensibility 接口的方法。换言之，当外接程序连接到 Visual Basic 时，OnConnection 方法被自动调用，类似于事件启动。当连接撤消时，OnDisconnection 方法被自动调用，如此等等。

重点   由于接口是对象和 Visual Basic 之间的约定，必须确保实现接口中的所有方法。这就意味着全部四种 IDTExtensibility 接口方法必须在类模块中提供，每一种至少包含一个可执行语句。它能小到只有一个说明语句，但是，它们必须至少包含一个可执行语句，以免编译程序把它们作为空过程删除。


ItemActivated 事件

该事件发生在当部件在“工程”窗口被双击时，在有多个工程被加载到 IDE 的情况下，“工程”窗口中某个工程被单击时也发生该事件。

语法

Sub object_ItemActivated(vbcomponent As VBComponent)

Sub object_ItemActivated(vbproject As VBProject)

ItemActivated 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbcomponent	VBComponent 对象，指出被双击的部件名。
vbproject	VBProject 对象，指出被双击的工程名。
说明

当部件在“工程”窗口被双击时，不发生 ItemActivated 事件。


ItemAdded 事件

该事件发生在工程、控件或部件添加到当前工程之后。

语法

Sub object_ItemAdded (vbproject As VBProject)

Sub object_ItemAdded (vbcomponent As VBComponent)

Sub object_ItemAdded (vbcontrol As VBControl)

ItemAdded 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出被加载的工程名。
vbcomponent	VBComponent 对象，指出被加载的部件名。
vbcontrol	VBControl 对象，指出被加载的控件名。


ItemRemoved 事件

该事件发生在工程、控件、或部件从当前工程删除之后。

语法

Sub object_ItemRemoved (vbcontrol As VBControl)

Sub object_ItemRemoved (vbproject As VBProject)

Sub object_ItemRemoved (vbcomponent As VBComponent)

ItemRemoved 事件语法包含下面部分：

Part	Description
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出被删除的工程名。
vbcomponent	VBComponent 对象，指出被删除的部件名。
vbcontrol	VBControl 或 SelectedVBControl 对象，指出被删除的控件名。


ItemRenamed 事件

该事件发生在工程、控件或部件在当前工程中被重新命名之后。

语法

Sub object_ItemRenamed (vbproject As VBProject)

Sub object_ItemRenamed (vbcomponent As VBComponent)

Sub object_ItemRenamed (vbcontrol As VBControl)

ItemRenamed 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	VBProject 对象，指出被重新命名的工程名。
vbcomponent	VBComponent 对象，指出被重新命名的部件名。
vbcontrol	VBControl 对象，指出被重新命名的控件名。


ItemSelected 事件

该事件发生在“工程”窗口中的部件或打开的设计器窗口中的部件被单击时。

语法

Sub object_ItemSelected (vbcomponent As VBComponent)

ItemSelected 事件语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbcomponent	VBComponent 对象，指出被选定的部件名。


RequestChangeFileName 事件

该事件发生在为部件或工程指定了新的文件名，且名字更改已完成之后。

语法

Sub RequestChangeFileName(vbproject As VBProject, filetype As vbext_FileType, newname As String, oldname As String, cancel As Boolean)

RequestChangeFileName 事件语法包含下面部分：

部分	描述
vbproject	VBProject 对象，指出在其中添加新文件的工程名。
filetype	数字值 (vbext_FileType)，指出已写入的文件的类型，如“设置值”中列表所示。
newname	字符串表达式，指出重新命名文件的名字。
oldname	字符串表达式，指出文件在重新命名之前的名字。
cancel	布尔表达式，确定缺省的 Visual Basic 动作，如“设置值”中的描述。
设置值

filetype 的设置值是：

常数	值	描述
vbext_ft_Form	0	文件类型是窗体。
vbext_ft_Module	1	文件类型是基本模块。
vbext_ft_Class	2	文件类型是类模块。
vbext_ft_Project	3	文件类型是工程。
vbext_ft_Exe	4	文件类型是可执行文件。
vbext_ft_Res	6	文件类型是资源文件。
vbext_ft_UserControl	7	文件类型是用户控件。
vbext_ft_PropertyPage	8	文件类型是属性页。
vbext_ft_DocObject	9	文件类型是用户文档。
vbext_ft_Binary	10	文件类型是二进制文件。
vbext_ft_GroupProject	11	文件类型是工程组。
vbext_ft_Designer	12	文件类型是设计器对象。
cancel 的设置值是：

设置值	描述
True	取消文件的重新命名。对任何后续的连接到 FileControl 对象的外接程序，都不触发该事件。
False	对后续的连接到 FileControl 对象的外接程序继续触发该事件。
说明

该事件允许所有的外接程序检验准备添加到工程中的新文件名，并决定是否接受或取消名字更改。

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。


RequestWriteFile 事件

该事件发生在保存任何未保存更改的工程部件之前。

语法

Sub RequestWriteFile(vbproject As VBProject, filename As String, cancel As Boolean)

RequestWriteFile 事件语法包含下面部分：

部分	描述
vbproject	VBProject 对象，指出包含该部件的工程名。
filename	字符串表达式，包含要保存的文件名。
cancel	布尔表达式，用做取消该动作的标志，如“设置值”中的描述。
设置值

cancel 的设置值是：

设置值	描述
True	文件不写盘。对随后发生的任何连接到 FileControl 对象的外接程序，都不触发该事件。
False	对随后发生的连接到 FileControl 对象的外接程序继续触发该事件。
说明

对每个保存的部件，该事件发生一次，对每个相关的二进制数据文件（如 .Frx 或 .Pgx 文件）也发生一次。

该事件允许外接程序来准备指定的写入文件。例如，用它可以使外接程序能在写入之前从源代码控件工程中签出文件。

该事件发生在所有连接到 FileControl 对象的外接程序中。外接程序不能阻止文件写盘，因为写盘操作已经完成。然而，可以用该事件执行其它任务，如：

•	记录关于该事件的信息。

•	更新有关该文件的信息。

•	备份该文件。


Activate 方法

该方法可激活工程窗口中当前选中的部件，如同双击它一样。

语法

object.Activate

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


Add 方法

•	ContainedVBControls 集合：给 ContainedVBControls 集合添加一个新的 VBControl 对象。

•	VBControls 集合：给 VBControls 集合添加一个新的 VBControl 对象。

•	VBProjects 集合：给 VBProjects 集合中的工程集添加一个新的空值工程。

语法

object.Add (progid As String, [relativevbcontrol As VBControl] [before As Boolean]) As VBControl

object.Add (projecttype As vbext_ProjectType, [exclusive As Boolean]) As VBProject

Add 方法的语法包含下面部分：

部分	描述
object	.对象表达式，其值是“应用于”列表中的对象。
progid	必需的。字符串表达式，指定被添加部件的 ProgID。
relativevbcontrol	可选的。指定新部件插入点位置的已有 VBControl 对象。
before	可选的。缺省值＝False。布尔表达式，指定是在 relativevbcontrol 之前还是在其后放置新 VBControl。
projecttype	必需的。指定新工程类型的 VBProject 对象。对于工程种类的列表，请参阅 Kind 属性。
exclusive	可选的。缺省值＝False。布尔表达式，指定是在已存在的工程集中添加一个新工程，还是作为唯一的工程被添加。
说明

如果指定 exclusive 参数为 True，则关闭已存在的组工程，而且新工程变成集合中唯一的工程。


AddCustom 方法

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

语法

object.AddCustom (ByVal progid As String) As VBComponent

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

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


AddFile 方法

该方法返回新添加的部件。

语法

object.AddFile (ByVal pathname As String, [relateddocument As Boolean]) As VBComponent

AddFile 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
Pathname	必需的。字符串表达式，指定作为模板打开的文件的路径和文件名。
relateddocument	可选的（仅限于文本文件）。缺省值＝False。布尔表达式，指定该文件是作为标准模块处理，还是作为一个文档处理。如果设置为 True，则添加的文件作为文档文件处理。
说明

如果 relateddocument 参数设置为 True，则通常是 Visual Basic 工程部件的那些文件（如窗体文件）会引起错误。只有把添加的文本文件作为标准模块或文档处理时，才需要 relateddocument 参数。


AddFromFile 方法

该方法添加或打开一个工程或者组工程。

语法

object.AddFromFile (ByVal pathname As String, [exclusive As Boolean]) As VBNewProjects

AddFromFile 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
pathname	必需的。字符串表达式，指定用作模板文件的路径。
exclusive	可选的。缺省值＝False。布尔表达式。如果设置为 True，则关闭已存在的组工程，并创建新的工程作为唯一的打开工程。
说明

如果文件是组工程文件并且 exclusive 设置为 False，则那个组工程中的全部工程均被添加到当前的组工程中。如果文件是组工程文件并且 exclusive 设置为 True，则当前的组工程被指定的工程所替换。


AddFromTemplate 方法

•	VBComponents 集合：返回新创建的部件，并按照模板创建一个新部件。

•	VBProjects 集合：返回作为调用这个方法的结果而添加的全部工程的集合，或用已存在的工程作为模板创建一个新的工程。

语法

object.AddFromTemplate (filename As String) As VBComponent

object.AddFromTemplate (ByVal pathname As String, [exclusive As Boolean]) As VBNewProjects

AddFromTemplate 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
filename	必需的。字符串表达式，指定作为模板而打开的文件的路径和文件名的。
exclusive	可选的。缺省值＝False。布尔表达式。如果设置为 True，则关闭已存在的组工程并且创建新的工程作为唯一的打开的工程。
pathname	必需的。字符串表达式，指定用作模板文件的路径。
说明

如果引用的文件类型是组工程文件，并且 exclusive 设置为 False，则在该文件中的全部工程被作为模板而创建，并添加到当前打开的工程集。然而，如果 exclusive 设置为 True，则关闭当前组工程，并创建一个新的组工程，而且在组工程模板中的全部工程被创建为工程模板。被该方法返回的对象是 Nothing。

赋予新工程以常用的缺省名。


AddToolboxProgID 方法

该方法把控件或嵌入的部件放入工具箱并将控件引用添加到该工程中。

语法

object.AddToolboxProgID (ByVal progid As String, [filename As String])

AddToolboxProgID 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
progid	必需的。字符串表达式，指定复合文档对象的程序标识符 (ProgID)，以添加到 Visual Basic 工具箱。与版本有关或无关的 ProgID 均可使用。如果指定了与版本无关的 progid，则大部分新的版本均可使用。如果复合文档对象有关联的类型库，则该类型库也被引用。
filename	可选的。字符串表达式，指定要添加到 Visual Basic 中的类型库的文件名。可以使用完整的路径名，但如果文件没有找到，即使指定了完整的路径名，也要搜索被 Windows 的 OpenFile 函数搜索过的目录。


Item 方法

该方法从指定的集合中返回一个项的名字或索引。

•	AddIns 集合：

•	ContainedVBControls 集合：

•	Members 集合：

•	SelectedVBControls 集合：

•	VBControls 集合：

•	VBNewProjects 集合：

语法

object.Item (index)

object.Item (collectionindex, [controlindex]) As VBControl

object.Item (var) As Member

Item 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
index	必需的。指定要访问的对象的集合中的名字或索引的 variant 表达式。
collectionindex	必需的。指定索引的数值表达式。
controlindex	可选的。
var	必需的。
说明

不能保证给定的集合索引号总是指向相同的项，因为集合中的项可能被添加或删除。只有穿过全部集合进行迭代，且在迭代过程中不添加或删除任何项时，使用集合的索引号才是有用的。


MakeCompiledFile 方法

该方法依据工程的类型使当前的工程被写成可执行文件、动态链接库或控件。

语法

object.MakeCompiledFile

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


OnAddinsUpdate 方法

在保存 Vbaddin.Ini 文件的更改时，该方法便自动地发生。

语法

object.IDTExtensibility_OnAddinsUpdate (custom() As Variant)

OnAddinsUpdate 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
custom()	保持自定义数据的 variant 表达式数组。
说明

该方法是 IDTExtensibility 接口的部分，该接口应当在提供连接对象的类中实现。

重点   不能直接输入上面给出的语法。而应当使用 Implements 语句来为接口生成适当的方法模板。为此，在提供外接程序连接对象的类模块的声明部分输入：

Implements IDTExtensibility

添加这行之后，就能从模块“对象”的下拉框中选择“IDTExtensibility”。从“过程”下拉框中选择每个方法来获取上面语法中显示的过程模板。注意，所需的代码被自动地添加到类模块中。

通过 Implements 语句显露各种接口的方法。当上面的语法输入处理外接程序事件的类模块的声明部分之后，通过模块的“过程”和“对象”下拉框，就可使用接口方法。要在模块中添加代码，从“过程”下拉框中选取方法。

注意   虽然 OnAddinsUpdate 方法是 IDTExtensibility 接口的方法，但对于 Visual Basic 程序员而言，它的作用和性能象个事件。换句话说，当保存 Vbaddin.Ini 文件的变更时，在 OnAddinsUpdate 方法中的所有代码便自动地产生，正好象它是一个事件过程。

重要   因为接口就是对象与 Visual Basic 之间的协议，所以必须确保实现接口中的所有方法。这意味着全部四个 IDTExtensibility 接口方法均应在类模块中存在，而且，每个方法最少包含一个可执行语句。这可以只有一个说明语句，但它们每个必须最少包含一个可执行语句，以免编译程序把它们当作空过程删除。


OnConnection 方法

当一个外接程序通过“外接程序管理器”对话框或另一个外接程序与 Visual Basic IDE 连接时，该方法便发生。

语法

object. IDTExtensibility_OnConnection (vbinst As Object, connectmode As vbext_ConnectMode, addininst As AddIn, custom() As Variant)

OnConnection 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的一个对象。
Vbinst	对象，代表当前 Visual Basic 会话期实例。
Connectmode	类型 vbext_ConnectMode 的计算值，如“设置值”所指定。
Addininst	代表外接程序实例的 AddIn 对象。
custom()	保存自定义数据的 variant 表达式数组。
设置值

connectmode (vbext_ConnectMode) 的设置值是：

常数	值	说明
vbext_cm_AfterStartup	0	初始“打开工程”对话框显示后外接程序启动。
vbext_cm_Startup	1	初始“打开工程”对话框显示前外接程序启动。
vbext_cm_External	2	外接程序被其它程序或部件从外部启动。
说明

该方法是 IDTExtensibility 接口部分，该接口应当在提供连接对象的类中实现。

重点   不能直接输入上面给出的语法。而应当使用 Implements 语句来为接口生成适当的方法模板。为此，在提供外接程序连接对象的类模块的声明部分输入：

Implements IDTExtensibility

添加这行之后，就能从模块“对象”的下拉框中选择“IDTExtensibility”。从“过程”下拉框中选择每个方法来获取上面语法中显示的过程模板。注意，所需的代码被自动地添加到类模块中。

通过 Implements 语句显露各种接口的方法。当上面的语法输入处理外接程序事件的类模块的声明部分之后，通过模块的“过程”和“对象”下拉框，就可使用接口方法。要在模块中添加代码，从“过程”下拉框中选取方法。

注意   虽然 OnAddinsUpdate 方法是 IDTExtensibility 接口的方法，但对于 Visual Basic 程序员而言，它的作用和性能象个事件。换句话说，当一个外接程序通过“外接程序管理器”对话框或另一个外接程序与 Visual Basic IDE 连接时，OnConnection 方法中的所有代码便自动地产生，正如它是个事件过程一样。

重点   因为接口就是对象与 Visual Basic 之间的协议，所以必须确保实现接口的所有方法。这意味着全部四个 IDTExtensibility 接口方法均应在类模块中存在，而且，每个方法最少包含一个可执行语句。这可以只有一个说明语句，但它们每个必须最少包含一个可执行语句，以免编译程序把它们当作空过程删除。


OnDisconnection 方法

当外接程序通过编程或“外接程序管理器”对话框与 Visual Basic IDE 分离时，该方法便发生。

语法

object. IDTExtensibility_OnDisconnection (removemode As vbext_DisconnectMode, custom()As Variant)

OnDisconnection 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
removemode	类型 vbext_DisconnectMode 的计算值，如设置值所指定。
custom()	保存自定义数据的 variant 表达式数组。
设置值

removemode (vbext_ConnectMode) 的设置值是：

常数	值	描述
vbext_dm_HostShutdown	0	外接程序因外接程序的主机关闭而删除。
vbext_dm_UserClosed	1	外接程序因用户关闭它而删除。
说明

这个方法是 IDTExtensibility 接口的部分，该接口应当在提供连接对象的类中实现。

重点   不能直接输入上面给出的语法。而应当使用 Implements 语句来为接口生成适当的方法模板。为此，在提供外接程序的连接对象的类模块的声明部分输入：

Implements IDTExtensibility

添加这行之后，就能从模块“对象”的下拉框中选择“IDTExtensibility”。从“过程”下拉框中选择每个方法来获取上面语法中显示的过程模板。注意，所需的代码被自动地添加进类模块中。

通过 Implements 语句显露各种接口的方法。当上面的语法输入处理外接程序事件的类模块的声明部分之后，通过模块的“过程”和“对象”下拉框，就可使用接口方法。要在模块中添加代码，从“过程”下拉框中选取方法。

注意   虽然 OnAddinsUpdate 方法是 IDTExtensibility 接口的方法，但对于 Visual Basic 程序员而言，它的作用和性能象个事件。换句话说，当一个外接程序通过编程或“外接程序管理器”对话框与 Visual Basic IDE 分离时，OnConnection 方法中的所有代码便自动地产生，正如它是一个事件过程一样。

重点   因为接口就是对象与 Visual Basic 之间的协议，所以必须确保实现接口中的所有方法。这意味着全部四个 IDTExtensibility 接口方法均应在类模块中存在，而且，每个方法最少包含一个可执行语句。这可以只有一个说明语句，但它们每个必须最少包含一个可执行语句，以免编译程序把它们当作空过程删除。


OnStartupComplete 方法

在 Visual Basic IDE 启动完成时该方法发生。

语法

object. IDTExtensibility_OnStartupComplete (custom() As Variant)

OnStartupComplete 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
custom()	保存自定义数据的 variant 表达式数组。
说明

该方法是 IDTExtensibility 接口的部分，该接口应当在提供连接对象的类中实现。

重点   不能直接输入上面给出的语法。而应当使用 Implements 语句来为接口生成适当的方法模板。为此，在提供外接程序连接对象的类模块的声明部分输入：

Implements IDTExtensibility

添加这行之后，就能从模块“对象”的下拉框中选择“IDTExtensibility”。从“过程”下拉框中选择每个方法来获取上面语法中显示的过程模板。注意，所需的代码被自动地添加进类模块中。

通过 Implements 语句显露各种接口的方法。当上面的语法输入处理外接程序事件的类模块的声明部分之后，通过模块的“过程”和“对象”下拉框，就可使用接口方法。要在模块中添加代码，从“过程”下拉框中选取方法。

注意   虽然 OnAddinsUpdate 方法是 IDTExtensibility 接口的方法，但对于 Visual Basic 程序员而言，它的作用和性能象个事件。换句话说，当启动 Visual Basic IDE 完成时，OnStartupComplete 方法中的所有代码便自动地产生，正如它是一个事件过程一样。

重点   因为接口就是对象与 Visual Basic 之间的协议，所以必须确保实现接口中的所有方法。这意味着全部四个 IDTExtensibility 接口方法均应在类模块中存在，而且，每个方法最少包含一个可执行语句。这可以只有一个说明语句，但它们每个必须最少包含一个可执行语句，以免编译程序把它们当作空过程删除。


ReadProperty 方法

该方法返回一个字符串，该字符串或者来自工程的 .Vbp 文件中的指定的用户自定义节和键，或者来自部件文件中的指定的用户自定义节和键。

•	VBComponent 对象：

•	VBProject 对象：

语法

object.ReadProperty (key As String) As String

object.ReadProperty (section As String, key As String) As String

ReadProperty 函数的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
section	字符串表达式，包含从中找到键的节的名称。
Key	字符串表达式，包含返回的键名。
说明

如果文件的 section 或 key 的区域是空值或不存在，将产生运行时错误 5：“非法函数调用”。


Reload 方法

该方法从磁盘重载指定的部件，放弃任何未保存的变更。

语法

object.Reload

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

说明

游标位置、代码窗口和窗体的可视性不受 Reload 方法的影响。Reload 不改变指示工程自上次保存以来是否被编辑过的设置值。


Remove 方法 (Visual Basic 扩展)

该方法从集合中删除一项。

语法

object.Remove (index)

Item 方法的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
index	必需的。 variant 表达式，指定被访问对象在集合中的名称或索引。
说明

对于 LinkedWindows 集合，从当前链接的几个窗口的集合中删除一个窗口。被删除的窗口变成一个有自己的 LinkedWindowFrame 的浮动窗口。此时创建 LinkedWindowFrame 窗口。

对于 VBProjects 集合，从该集合中删除指定的工程。

对于 References 集合，从该集合中删除指定的引用。


SaveAs 方法

该方法用新文件名将部件或工程保存在给定的位置。

语法

object.SaveAs (newfilename As String)

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

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

如果给了新路径名，就用新路径名。否则，就使用老路径名。如果新文件名无效或引用了只读文件，便产生一个错误。

当保存一个窗体时，newfilename 指定窗体文件的新名。如果 .Frx 文件是可用的话，则窗体被保存，并自动使用 .Frx 扩展名。

注意   成功地调用该方法会调用来自 FileControl 对象的关联事件。


Update 方法

用和用户已经打开“外接程序管理器”对话框一样的方法，刷新来自列在 Vbaddin.ini 文件中的外接程序的 AddIns 集合的内容。

语法

object.Update

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

说明

所有列在 Vbaddin.ini 文件中的外接程序，在它们能在 Visual Basic 中使用之前，必须是在注册表中注册的 ActiveX 部件。


BuildFileName 属性

该属性返回编译工程时使用的可执行文件名或动态链接库名。

语法

object.BuildFileName

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


CanPaste 属性

该属性返回布尔值指示剪贴板是否包含粘贴到窗体的适当的信息（即控件）。

语法

object.CanPaste

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


CodeLocation 属性

该属性返回代码模块中定义成员的行位置。

语法

object.CodeLocation [= propkind ]

CodeLocation 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
propkind	vbext_PropertyKind 的数值，如“设置值”中所描述。
设置值

vbext_PropertyKind 的设置值是：

常数	值	描述
vbext_PropertyGet	1	（缺省值）返回属性的 Get 元素的代码位置。
vbext_PropertyLet	2	返回属性的 Let 元素的代码位置。
vbext_PropertySet	3	返回属性的 Set 元素的代码位置。


CompatibleOLEServer 属性

该属性返回或设置该工程兼容的 ActiveX 部件。

语法

object.CompatibleOLEServer

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


ControlObject 属性

该属性返回对设计时 IDispatch 指针实例的引用，该指针是由控件提供的。如果没有实例，则返回 Nothing。

语法

object.ControlObject

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

说明

例如，Toolbar 控件通过属性页的 ControlObject 属性提供一个对象来设置按钮号。


ControlType 属性

该属性返回由控件创建的运行时窗口的类型。

语法

object.ControlType As vbext_ControlType

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

设置值

vbext_ControlType 的设置值是：

Constant 常数	值	描述
vbext_ct_Light	1	（缺省值）没有 hWnd 在运行时。
vbext_ct_Standard	2	hWnd 在运行时。
vbext_ct_Container	3	hWnd 在运行时，且可包含其它控件。


DisplayModel 属性

该属性返回或设置系统使用的显示模式。

语法

object.DisplayModel As vbext_VBADisplayModel

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

设置值

vbext_VBADisplayModel 的设置值是：

常数	值	描述
vbext_dm_SDI	0	（缺省值）显示模式是 SDI（单一文档接口）。
vbext_dm_MDI	1	显示模式是 MDI（多文档接口）。


FileControlEvents 属性

该属性返回 FileControlEvents 类型的事件对象。

语法

object.FileControlEvents

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


FileCount 属性

该属性返回与给定部件相关联的文件号。

语法

object.FileCount

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

说明

FileCount 的主要用途是提醒用户部件是否有关联的 .Frx 文件。

对于大部分部件，该属性设置值是 1，但可以更大。例如，如果 .FRX 文件与窗体文件相关联，则 FileCount 属性的设置值是 2。


FileName 属性

该属性返回组工程文件的完整路径名。

语法

object.Filename

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

说明

组工程与文件名不同，它们没有名字。

返回的路径名总是以绝对路径的形式提供（例如，"c:\projects\myproject.vbp"），即使它在 Visual Basic 中表示为相对路径（如 "..\projects"）。


FileNames 属性

该属性返回被存贮部件的当前路径名。

语法

object.FileNames(index)

FileNames 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
index	长整数，指定文件名在返回的索引字符串中的位置。
说明

返回的路径名总是以绝对路径的形式提供（例如 "c:\projects\myproject.vbp"），即使它在 Visual Basic 中表示为相对路径（如 "..\projects"）。

索引字符串的条目数由 FileCount 属性的设置值所决定。类和模块的索引字符串仅包含一个文件名，而对窗体的索引字符串则包含窗体的 .Frm 和 .Frx 的文件名。当在对象上调用 SaveAs 方法时，这些文件名的值即被更新。


FullName 属性

该属性返回 Visual Basic IDE 的完整路径名（即 vb5.exe 运行的路径）。

语法

object.FullName

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

说明

返回的路径名总是以绝对路径的形式提供（例如 "c:\projects\myproject.vbp"），即使它在 Visual Basic 中表示为相对路径（如 "..\projects"）。


IconState 属性

返回或设置工程窗口中该工程的源代码控件图标（或 "glyph"），指示其状态。

语法

object.IconState [= value ]

IconState 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
value	决定文件状态的长整数或常数，如“设置值”中所描述。
设置值

value 的设置值是：

常数	值	描述
vbextSCCStatusNotControlled	0	文件不在源代码控件之下。
vbextSCCStatusControlled	1	文件在源代码控件之下。
vbextSCCStatusCheckedOut	2	文件签出给当前用户。
vbextSCCStatusOutOther	4	文件签出给其它用户。
vbextSCCStatusOutOfDate	32	文件不是最新的。
vbextSCCStatusShared	512	.文件在工程之间共享。
说明

IconState 属性可通过逻辑 OR，来形成组合的状态。


IndexedValue 属性

返回或设置在索引列表或数组中的值。

语法

object.IndexedValue [index1, index2,][ index3,] [index4]][ = value]

IndexedValue 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
indexn	指定索引位置的数值表达式。IndexedValue 最多可接受四个指示器。被 IndexedValue 接受的指示器号是 NumIndices 属性返回的同一个属性的值。
value	表达式，其值是控件的可接受类型。
说明

如果该属性是由 NumIndices 指示的列表，则 IndexedValue 返回由索引参数指定的列表的元素。

只有 NumIndices 属性值大于零时，才使用 IndexedValue。象在 ListBox 控件的 List 属性中那样，索引列表中的各值被设置或返回为单一索引。


InSelection 属性

该属性返回或赋值控件的选择状态。

语法

object.InSelection

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

说明

如果包含在另一个控件之中的控件的 InSelection 属性被设置为 True，则不在那个控件中的所有控件（或在其它控件中的所有控件）将不被选择。


LastUsedPath 属性

该属性返回或设置用于 Visual Basic 中文件对话框的最终路径，如“打开工程”对话框。

语法

object.LastUsedPath ([pathname As String])

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

LastUsedPath 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
pathname	（可选的）包含用于文件对话框的最终路径名的字符串。


NumIndices 属性

该属性返回被 Property 对象返回的属性的指示器号，它是访问该值所需的指示器号。

语法

object.NumIndices

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

说明

NumIndices 的值可以从 0 到 4。对于象在 ForeColor 属性中的正规属性，NumIndices 返回 0。对于常规的索引属性，如 ListBox 控件的 List 属性，NumIndices 返回 1。属性数组返回 2。


ProgID 属性

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

语法

object.ProgID

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


ReadOnlyMode 属性

该属性返回或设置决定 Visual Basic 开发环境如何与只读文件交互作用的值。

语法

object.ReadOnlyMode [= value]

ReadOnlyMode 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
value	决定工程状态的长整数或常数，如“设置值”所描述。
设置值

value 的设置值是：

值	描述
1	严格的。如果工程文件是磁盘上的只读文件，则“删除文件”和“添加文件”命令是无效的。窗口和窗体可以移动，但不保存更改。对于在磁盘上也是只读的那些文件，代码窗口是只读的；不添加或删除控件，锁定控件的位置，并且自定义的“属性”对话框不能使用。
0	宽松的。如果文件是只读的，可以更改代码、窗体和工程，但所作的更改不能保存回原文件。


Scope 属性

该属性返回一个公共的、私人的或者是朋友的成员。

语法

object.Scope

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


SelectedVBControlsEvents 属性

该属性返回当前在窗体上被选择的控件所支持的全部事件。

语法

object.SelectedVBControlsEvents (vbproject As Variant)

SelectedVBControlsEvents 属性的语法包含下面部分：

P部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	指定包含窗体和控件的工程的 variant 表达式。
说明

该属性返回类型 SelectedVBControlsEvents 的事件对象。这一事件源于 VBForm。


StartMode 属性

该属性返回或设置工程的启动模式。

语法

object.StartMode

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

说明

如果代码当前正在执行则返回 RunMode；如果代码在堆栈中但没执行则返回 BreakMode，否则返回 DesignMode。


StartProject 属性

该属性返回或设置工程，该工程在从“运行”菜单中选择“启动”或按 F5 键时启动。

语法

object.StartProject

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


StartUpObject 属性

该属性返回或设置工程的启动部件。

语法

object.StartUpObject

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

返回值

该返回的值是一个变体，它或者包含类型 vbext_StartupObject 的计数值，或者包含代表启动对象的 VBComponent 对象。

vbext_StartUpObject 的 StartUpObject 属性的设置值是：

常数	值	描述
vbext_so_SubMain	0	启动对象是 Sub Main（子程序）。
vbext_so_None	1	没有启动对象。
说明

只有在运行时可见的工程项才能是启动对象。


Static 属性

该属性返回引用的变量或方法是否被声明为 Static。

语法

object.Static

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


TemplatePath 属性

该属性返回 Visual Basic 存储模板文件处的完整路径名。

语法

object.TemplatePath

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


Type 属性

该属性返回当前选择的成员或工程的类型。

语法

object.Type

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

返回值

Member 对象 (vbext_MemberType) 的 Type 属性的设置值是：

常数	值	描述
vbext_mt_Method	1	成员是方法。
vbext_mt_Property	2	成员是属性。
vbext_mt_Variable	3	成员是变量。
vbext_mt_Event	4	成员是事件。
vbext_mt_Enum	5	成员是计数值。
vbext_mt_Const	6	成员是常数。
vbext_mt_EventSink	7	成员是事件吸收。
Project 对象 (vbext_ProjectType) 的 Type 属性的设置值是：

常数	值	描述
vbext_pt_StandardExe	1	工程类型是标准可执行文件（Standard Exe）。
vbext_pt_ActiveXExe	2	工程类型是 ActiveX 可执行文件（ActiveX Exe）。
vbext_pt_ActiveXDll	3	工程类型是 ActiveX 动态链接库。
vbext_pt_ActiveXControl	4	工程类型是 ActiveX 控件。


VBComponentsEvents 属性

该属性返回类型 VBComponentsEvents 的事件对象。

语法

object.VBComponentsEvents (vbproject As vbProject)

VBComponentsEvents 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	指定包含该部件工程类型的 vbProject 对象。


VBControlsEvents 属性

该属性返回窗体上控件支持的全部事件。

语法

object.VBControlsEvents(vbproject As Variant, vbform As VBForm)

VBControlsEvents 属性的语法包含下面部分：

部分	描述
object	对象表达式，其值是“应用于”列表中的对象。
vbproject	指定包含这些控件的工程的 variant 表达式。
vbform	包含这些控件的窗体。
说明

返回类型 VBControlsEvents 的事件对象。该事件源于 VBForm 或可以包含控件的 VBForm 上的控件。


VBProjectsEvents 属性

该属性返回类型 VBProjectsEvents 的事件对象。

语法

object.VBProjectsEvents

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

说明

这和使用 VBProjects 集合事件是一样的。