项目解决方案

更新:2010 年 5 月

Visual Studio 2010 提供了一些项目模板,使用这些模板可以创建用于 Microsoft Office Project 的应用程序级外接程序。 使用外接程序可以实现 Project 自动化、扩展 Project 功能,也可以自定义 Project 用户界面 (UI)。

有关应用程序级外接程序的更多信息,请参见应用程序级外接程序编程入门应用程序级外接程序的体系结构。 如果您是 Microsoft Office 编程的初学者,请参见入门(Visual Studio 中的 Office 开发)

**适用于:**本主题中的信息适用于 Project 2007 和 Project 2010 的应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

使用 Project 对象模型实现 Project 自动化

Project 对象模型公开许多可用于实现 Project 自动化的类型。 这些类型使您能够编写代码以完成一些常规任务,例如以编程方式创建和修改项目中的任务。

若要从外接程序访问 Project 对象模型,请在项目中使用 ThisAddIn 类的 Application 字段。 Application 字段返回 Microsoft.Office.Interop.MsProject.Application 对象,该对象表示 Project 的当前实例。 有关更多信息,请参见应用程序级外接程序编程

调入 Project 对象模型时,将使用在 Project 的主互操作程序集中提供的类型。 该主互操作程序集将作为外接程序中的托管代码和 Project 中的 COM 对象模型之间的桥梁。 Project 主互操作程序集中的所有类型都在 Microsoft.Office.Interop.MSProject 命名空间中定义。 有关主互操作程序集的更多信息,请参见 Office 解决方案开发概述Office 主互操作程序集

使用 Project 对象模型文档

有关 Project 对象模型的完整信息,可以参阅 Project VBA 对象模型参考。 VBA 对象模型参考介绍了向 Visual Basic for Applications (VBA) 代码公开的 Project 对象模型。 Project 的 VBA 对象模型参考可从以下位置获取:

VBA 对象模型参考中的所有对象和成员都对应于 Project 主互操作程序集 (PIA) 中的类型和成员。 例如,VBA 对象模型参考中的 Calendar 对象对应于 Project PIA 中的 Microsoft.Office.Interop.MSProject.Calendar 类型。 虽然 VBA 对象模型参考为大多数属性、方法和事件提供了代码示例,但若要在使用 Visual Studio 创建的 Project 外接程序项目中使用这些代码示例,必须将此参考中的 VBA 代码转换为 Visual Basic 或 Visual C#。

提示

目前没有 Project 主互操作程序集的参考文档。

Project 主互操作程序集中的基础结构类型

在编写使用 Project PIA 的代码时,您可能会注意到 VBA 参考中未介绍的许多类型。 这些附加类型可帮助将 Project 基于 COM 的对象模型中的对象转换为托管代码,不应在代码中直接使用。

有关更多信息,请参见 Overview of Classes and Interfaces in the Office Primary Interop Assemblies(Office 主互操作程序集中的类和接口概述)。

自定义 Project 的用户界面

可以使用以下方法自定义 Project UI:

任务

更多信息

添加自定义工具栏和工具栏项。

如何:创建 Office 工具栏

向 Project 2010 的功能区中添加自定义选项卡

功能区概述

有关自定义 Project 和其他 Microsoft Office 应用程序的 UI 的更多信息,请参见 Office UI 自定义

请参见

任务

演练:创建您的第一个 Project 应用程序级外接程序

如何:在 Visual Studio 中创建 Office 项目

参考

Office 主互操作程序集

概念

应用程序级外接程序编程入门

Office 解决方案开发概述

应用程序级外接程序的体系结构

在 Office 解决方案中编写代码

其他资源

应用程序级外接程序编程

Office UI 自定义

Office 开发中的 Project 2010 和 Project Server 2010

修订记录

日期

修订记录

原因

2010 年 5 月

更新了有关对象模型参考文档的信息。

信息补充。