网站大量收购闲置独家精品文档,联系QQ:2885784924

项目管理软件:MS Project二次开发_(11).事件处理与触发器.docx

项目管理软件:MS Project二次开发_(11).事件处理与触发器.docx

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

事件处理与触发器

在项目管理软件中,事件处理和触发器是实现自动化和高效管理的关键技术。通过事件处理和触发器,可以实现在特定情况下自动执行某些操作,从而减少手动干预,提高项目的管理效率。本节将详细介绍MSProject中的事件处理机制以及如何通过VBA(VisualBasicforApplications)进行事件触发器的编写和使用。

事件处理的基本概念

事件处理是指在软件中对特定事件的响应机制。事件可以是用户操作(如点击按钮、选择菜单项)、系统操作(如打开文件、关闭窗口)或自定义操作(如任务状态变更、项目进度更新)。在MSProject中,事件处理可以通过VBA来实现,VBA是一种嵌入在MicrosoftOffice应用程序中的编程语言,可以用来编写宏和自定义功能。

事件类型

MSProject中的事件类型可以分为以下几类:

用户界面事件:与用户操作相关的事件,如打开项目、关闭项目、点击按钮等。

任务事件:与任务相关的事件,如任务添加、任务删除、任务属性更改等。

资源事件:与资源相关的事件,如资源添加、资源删除、资源属性更改等。

项目事件:与项目整体相关的事件,如项目保存、项目打印、项目属性更改等。

事件触发机制

MSProject中的事件触发机制是通过VBA的WithEvents关键字和事件处理过程来实现的。WithEvents关键字用于声明一个对象变量,该变量可以捕获对象上的事件。事件处理过程是一个特殊的子过程,当特定事件发生时,该过程会被自动调用。

事件处理的步骤

声明对象变量:使用WithEvents关键字声明一个对象变量。

定义事件处理过程:编写事件处理过程,该过程会在事件发生时被调用。

激活事件处理:确保事件处理过程被激活,通常是通过在某个模块或类模块中初始化对象变量。

测试和调试:运行项目,测试事件处理是否按预期工作,并进行必要的调试。

用户界面事件处理

用户界面事件处理是指对用户在MSProject界面中的操作进行响应。以下是一些常见的用户界面事件及其处理方法。

项目打开和关闭事件

项目打开事件

当用户打开一个项目文件时,可以触发一个事件来执行某些初始化操作。例如,可以自动加载某些数据或设置项目属性。

PrivateWithEventsAppAsApplication

PrivateSubApp_ProjectOpen(ByValpjAsProject)

当项目打开时触发的事件处理过程

MsgBox项目pj.Name已打开

示例:自动加载项目数据

CallLoadProjectData(pj)

EndSub

PrivateSubLoadProjectData(ByValpjAsProject)

具体的加载数据逻辑

例如,从数据库中读取数据并更新项目属性

DimconnAsADODB.Connection

Setconn=NewADODB.Connection

conn.OpenProvider=SQLOLEDB;DataSource=YourServer;InitialCatalog=YourDatabase;UserID=YourUser;Password=YourPassword;

DimrsAsADODB.Recordset

Setrs=NewADODB.Recordset

rs.OpenSELECT*FROMProjectDataWHEREProjectID=pj.UniqueID,conn,adOpenStatic,adLockOptimistic

更新项目属性

pj.BaselineSaveDate=rs(BaselineSaveDate)

pj.DefaultTaskType=rs(DefaultTaskType)

rs.Close

conn.Close

Setrs=Nothing

Setconn=Nothing

EndSub

项目关闭事件

当用户关闭一个项目文件时,可以触发一个事件来执行某些清理操作。例如,可以自动保存某些数据或释放资源。

PrivateSubApp_ProjectBeforeClose(ByValpjAsProject,CancelAsBoolean)

当项目关闭前触发的事件处理过程

您可能关注的文档

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档