Office UI 自定义

更新: 2008 年 7 月

可以通过使用 Visual Studio Tools for Office 以编程方式自定义 Microsoft Office 应用程序的用户界面 (UI)。可以自定义的 UI 功能包括:

  • 操作窗格和自定义任务窗格。

  • 文档中的控件。

  • 自定义功能区 UI。

  • Outlook 窗体区域。

  • 智能标记。

  • 菜单和工具栏。

  • 快捷菜单。

UI 功能比较

下表比较了可以在 Microsoft Office 项目中自定义的主要 UI 功能。

功能

支持的项目类型

支持的 Microsoft Office 应用程序

组件中是否可以包含控件?

操作窗格

文档级自定义项

Excel 2003

Excel 2007

Word 2003

Word 2007

是,可以包含 Windows 窗体控件

自定义任务窗格

应用程序级外接程序

Excel 2007

InfoPath 2007

Outlook 2007

PowerPoint 2007

Word 2007

是,可以包含 Windows 窗体控件

Outlook 窗体区域

应用程序级外接程序

Outlook 2007

是,可以包含 Windows 窗体控件或专用的 Outlook 控件

自定义功能区 UI

文档级自定义项

应用程序级外接程序

Excel 2007

Outlook 2007

PowerPoint 2007

Word 2007

是,可以包含专用的功能区控件

文档中的控件

文档级自定义项

应用程序级外接程序(从 Visual Studio 2008 Service Pack 1 开始)

Excel 2007

Word 2007

是,可以包含 Windows 窗体控件和宿主控件

智能标记

文档级自定义项

应用程序级外接程序(从 Visual Studio 2008 SP1 开始)

Excel 2003

Excel 2007

Word 2003

Word 2007

菜单和工具栏

文档级自定义项

应用程序级外接程序

Excel 2003

Outlook 2003

PowerPoint 2003

Project 2003

Visio 2003

Word 2003

菜单不能包含控件

工具栏可以包含按钮

操作窗格和自定义任务窗格

任务窗格是通常停靠在 Microsoft Office 应用程序中某一窗口一侧的用户界面面板。几乎所有 Microsoft Office 应用程序都包含内置任务窗格。Word 中的“帮助”任务窗格便是任务窗格的一个示例。

Visual Studio Tools for Office 提供了两种自定义任务窗格的不同方式:

  • 向文档级自定义项中添加操作窗格。默认情况下,操作窗格显示在应用程序的右侧(文档的右侧)。不过,操作窗格也可以显示在文档的左侧、顶部或底部。

  • 向 2007 Microsoft Office system 的应用程序级外接程序中添加自定义任务窗格。用户可以将自定义任务窗格停靠在应用程序窗口的不同侧,或者可以将自定义任务窗格拖动到窗口中的任何位置。

操作窗格和自定义任务窗格通过承载各种控件来帮助用户完成诸如数据输入之类的任务,从而提供相应的功能。与工具栏相比,操作窗格和自定义任务窗格提供更大的区域,可包括更多的文本和控件。

有关操作窗格的更多信息,请参见 操作窗格概述。有关自定义任务窗格的更多信息,请参见 自定义任务窗格概述

智能标记

智能标记是一些附带有类型信息的文本字符串;当文档中出现符合条件的文本字符串时,该字符串就会被识别出来,然后用户可以执行适用于该字符串类型的操作。例如,您可以创建用于识别股票代码的智能标记。当用户键入包含四个字母的大写字符串时,就会显示一个与股票有关的操作(如在 Internet 上查找股票价格)的列表。

您可以使用 Visual Studio Tools for Office 向文档级自定义项的 Word 文档和 Excel 工作簿中添加智能标记。从 SP1 开始,可以使用应用程序级项目,向任何打开的文档或工作簿中添加智能标记。

有关更多信息,请参见智能标记概述

Outlook 窗体区域

使用窗体区域可以向标准的 Microsoft Office Outlook 2007 窗体中添加自定义功能。您可以创建用其他字段或控件对现有窗体进行扩展的窗体区域。如果要使用 Visual Studio Tools for Office 创建新窗体区域,则只能使用窗体区域上的 Windows 窗体控件。如果要导入在 Outlook 中设计的窗体区域,则只能使用本机 Outlook 控件。

可以创建占据 Outlook UI 不同区域的窗体区域。例如,相邻的窗体区域显示在窗体第一页的底部,每个相邻的窗体区域都是可折叠的。您还可以添加一个单独的窗体区域,该窗体区域作为一个完整的窗体页显示,并且可以显示在任何现有的标准窗体或自定义窗体上。

有关更多信息,请参见创建 Outlook 窗体区域

文档中的控件

可以向 Word 文档和 Excel 工作表中添加各种控件。例如,您可能希望向文档中添加日期选择器控件,以便用户可以按标准格式输入日期,或者在工作表上放置一个用来向数据库发送数据的按钮。

当您为 Excel 或 Word 开发文档级项目时,可以使用 Visual Studio 设计器在设计时向项目中的文档或工作簿添加控件,或者以编程方式在运行时添加控件。从 SP1 开始,在为 Excel 或 Word 开发应用程序级项目时,可以通过编程方式在运行时向任何打开的文档或工作簿中添加控件。

有关更多信息,请参见宿主项和宿主控件概述Office 文档上的 Windows 窗体控件概述

自定义功能区 UI

您可以自定义功能区 UI,以公开添加到 2007 Microsoft Office system 中的应用程序中的功能。可以通过功能区以控件形式组织相关的命令,使它们易于查找。您可以创建自己的功能区选项卡和组,以允许用户访问您在解决方案中提供的功能。在早期版本的 Microsoft Office system 中使用菜单和工具栏访问的大部分功能现在都可以使用功能区访问。

有关更多信息,请参见功能区概述

菜单

您可以向 Visual Studio Tools for Office 解决方案的菜单栏中添加菜单,还可以为该菜单创建自定义的标题。您可以向新菜单或现有菜单中添加菜单命令,也可以移除命令。不过,自定义必须以编程方式进行。不能在设计时从 Visual Studio 中修改菜单或菜单栏。有关更多信息,请参见如何:以编程方式创建 Office 菜单

工具栏

您可以向 Visual Studio Tools for Office 解决方案中添加工具栏,以使用户可以轻松地访问工具和其他文档或工作簿功能。您可以像自定义内置工具栏一样,通过添加或移除按钮来自定义该工具栏。还可以通过代码来自定义工具栏的位置和停靠属性。不过,自定义必须以编程方式进行。不能在设计时从 Visual Studio 中修改工具栏。有关更多信息,请参见如何:以编程方式创建 Office 工具栏

快捷菜单

当您在 Word 文档或 Excel 工作表中右击时,即会出现快捷菜单。可以将快捷菜单设置为当文档中发生某个事件之后出现,例如当用户右击文档、工作簿或宿主控件时出现。您可以添加许多不同的菜单命令,就像对主菜单栏上的菜单所做的那样。可以通过代码更改快捷菜单的位置和大小。有关更多信息,请参见演练:创建书签的快捷菜单

请参见

任务

如何:在功能区上显示“开发人员”选项卡

如何:显示外接程序用户界面错误

如何:以编程方式创建 Office 菜单

如何:以编程方式创建 Office 工具栏

如何:与 Windows 窗体进行交互

演练:使用 Windows 窗体收集数据

概念

功能区概述

操作窗格概述

智能标记概述

创建 Outlook 窗体区域

自定义任务窗格概述

在 Office 解决方案中使用 WPF 控件

修订记录

日期

修订历史记录

原因

2008 年 7 月

增加了有关使用应用程序级外接程序向文档中添加托管控件和智能标记的信息。

SP1 功能更改。