应用程序对象 (Project)

代表整个 Project 应用程序。 Application 对象包含:

  • Application-wide settings and options (many of the options in the Options dialog box on the Tools menu, for example).

  • 可返回顶级对象(例如 ActiveCellActiveProject 等)的属性。

  • 作用于应用程序范围的各元素的方法,例如视图、选定范围和编辑操作等。

Application 对象用法

使用 应用程序 属性返回项目中的 应用程序 对象。 下面的示例将 Windows 属性应用于 Application 对象。

Application.Windows("Project1.mpp").Activate

从其他应用程序使用 Project:晚期绑定

下面的示例在运行时创建 Microsoft Project 应用程序 对象、 创建新项目、 添加一个任务,保存项目,然后关闭该项目。 例如,复制并粘贴到 状态报告模块 CreateProject_Late宏在 Visual Basic 编辑器 (VBE) 的Word。

注意

[!注释] 因为应用程序只在运行时查询 MSProject.Application 类型库,Microsoft IntelliSense 不可用和性能相对较差,使用后期绑定。 脚本语言,如JavaScript和 VBScript,需要后期绑定。 VBScript 仅支持泛型 对象变量 数据类型。 对于 VBA 和其他已编译的语言中有更好的性能,应使用早期绑定,通过设置对项目类型库的引用。

Sub CreateProject_Late() 
    Dim pjApp As Object 
    Set pjApp = CreateObject("MSProject.Application") 
    pjApp.Visible = True 
    pjApp.FileNew 
    pjApp.ActiveProject.Tasks.Add "Hang clocks" 
    pjApp.FileSaveAs "Clocks.mpp" 
    pjApp.FileClose 
    pjApp.Quit 
End Sub

如果未将 Visible 属性设置为 True,Project 应用程序将在后台运行而不可见。

从其他应用程序使用 Project:早期绑定

早期绑定具有更好的性能,因为它在设计时加载的类型库。 若要使用早期绑定,必须设置项目应用程序从应用程序中使用的引用。 例如,在 VBE Word文档,在 工具菜单上单击 引用可用引用列表中滚动,然后选择 Microsoft 项目于 15.0 对象库复选框。

下面的示例打开一个项目,从另一个应用程序,如Excel 、 添加一个任务,然后保存并关闭项目。

Sub ModifyProject_Early() 
    Dim pjApp As MSProject.Application 
    Set pjApp = New MSProject.Application 
    pjApp.Visible = True 
    pjApp.FileOpen "Clocks.mpp" 
    pjApp.ActiveProject.Tasks.Add "Wind clocks" 
    pjApp.FileSave 
    pjApp.FileClose 
    pjApp.Quit 
End Sub

备注

重要

对于应用程序级事件,请在设置 Application.Visible = True注册事件处理程序。

如果从其他应用程序实例化“项目”,并在将“应用程序”对象的“可见”属性设置为“True”之前注册了应用程序级别的事件,“应用程序”的子对象属性和方法将不起作用。 例如,Application.ActiveProject.Name 将无法访问。

许多属性和方法返回最常见的用户界面对象,例如活动项目 — — 由 下拉菜单 属性表示 — — 可以不使用 应用程序 对象识别符的情况下使用。 例如,而不是编写 Application.ActiveProject.Visible = True可以编写 ActiveProject.Visible = True

事件

方法

名称

属性

名称

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。