Microsoft Word 对象(22) Private Sub Document_Open()Application. WindowState = wdWindowStateMaximizeEnd SubActiveX控件事件Word为Word文档中的ActiveX控件执行LostFocus 和 GotFocus事件。事件描述在焦点移开嵌入式 ActiveX 控制时发生LostFocus事件。 当焦点移至内嵌式 ActiveX 控制时发生GotFocus事件。 以下的示例保持CommandButton1处于禁用状态,直到用户在TextBox1中键入一个值。Private Sub TextBox1_LostFocus()If TextBox1. Value = "" ThenCommandButton1. Enabled = FalseElseCommandButton1. Enabled = TrueEnd IfEnd Sub其他ActiveX控件事件的文档在“Microsoft 窗体帮助”中。有关在自定义对话框和文档中使用ActiveX控件的内容,请参阅第十二章“ActiveX控件和对话框”。Application事件当用户退出应用程序或焦点移至另一个文档时发生Application事件。但是,与Document和ActiveX控件事件不同,Application事件默认事件处于禁用状态。在用户随同Application对象使用事件之前,必须新建一个类模块并声明一个包含事件的 Application 类型对象。用户可以在Visual Basic编辑器中使用类模块命令(插入菜单)的形式来新建一个类模块。启用Application对象的事件,最好向类模块中添加以下声明。Public WithEvents App As Application定义了包含事件的新对象后,它将出现在类模块的“对象”下拉列表框中,然后可为新对象编写事件过程。(在“对象”框中选定新对象后,其有效事件将出现在“过程”下拉列表框中。)但是在过程运行之前,必须将类模块中的已声名对象和 Application 对象相连接。要完成上述任务,可以在任何模块中使用下列声明(在这里“EventClass”是用户创建的用来启用事件的类模块的名字)。Public X As New EventClass当用户已经创建了X对象变量后(EventClass类的一个实例),可以设置EnventClass类的App对象于Word Application对象等价。Sub InitializeApp()Set X. App = ApplicationEnd Sub在用户运行InitializeApp过程之后,EventClass类模块中的App对象指向了Word Application对象,而且只要事件发生,类模块中的事件过程也将会运行。在用户禁用Application对象的事件之后,可以为下表中的事件创建事件过程。事件描述当新建一个文档、打开一个已有文档或使另一个文档成为活动文档时DocumentChange事件发生。 当用户退出Word时Quit事件发生。