更新: 2008 年 7 月
| 适用对象 | 
|---|
| 本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。 文档级项目 
 应用程序级项目 
 有关更多信息,请参见按应用程序和项目类型提供的功能。 | 
智能标记是一些附带有类型信息的文本字符串;当文档中出现符合条件的文本字符串时,该字符串就会被识别出来,然后用户可以执行适用于该字符串类型的操作。例如,您可以创建用于识别股票代码的智能标记。当用户键入包含四个字母的大写字符串时,就会显示一个与股票有关的操作(如在 Internet 上查找股票价格)的列表。
Visual Studio Tools for Office 提供了一些可用来将智能标记快速添加到 Microsoft Office Word 文档和 Microsoft Office Excel 工作簿中的类。有关演示如何使用这些类的示例,请参见如何:向 Word 文档添加智能标记和如何:向 Excel 工作簿添加智能标记。
若要运行智能标记,最终用户必须在 Word 或 Excel 中启用智能标记。有关更多信息,请参见如何:在 Word 和 Excel 中启用智能标记。
若要为 Word 或 Excel 以外的其他应用程序创建智能标记,必须使用智能标记 SDK。有关更多信息,请参见在 Word 和 Excel 以外的其他应用程序中创建智能标记。
Visual Studio Tools for Office 智能标记的功能
在 Word 或 Excel 的 Visual Studio Tools for Office 项目中编写智能标记的相关代码时,可以使用 IntelliSense、集成帮助以及 Visual Studio 的其他功能。智能标记的所有代码都属于一个类;您不必创建单独的操作类和识别器类。有关智能标记类的更多信息,请参见智能标记的结构。
文档作用域
使用 Visual Studio Tools for Office 创建的智能标记在文档级项目和应用程序级项目中的行为是不同的。
如果在文档级自定义项中创建智能标记,则该智能标记只在属于此自定义项的文档中运行,而不是在所有打开的 Word 或 Excel 文档中都运行。这意味着,如果将智能标记应用于多种文档,您将能识别可能太过普通而无法识别的文本。例如,五位数的数字在发票中可能只表示产品编号,但在人力资源文档中它可能表示雇员编号。如果智能标记仅在发票中起作用,则无需担心智能标记会错误地识别这五位数而将操作分配给一个雇员编号。
从 Visual Studio 2008 Service Pack 1 (SP1) 开始,可以在应用程序级外接程序中创建智能标记。可以使智能标记仅可供某个特定文档使用,或者使它可供在 Word 或 Excel 中打开的每个文档使用(这类智能标记也称为“应用程序级智能标记”)。
| .gif) 说明: | 
|---|
| 若要向在安装 SP1 前创建的项目中添加应用程序级智能标记,必须先修改此项目以生成一些必需的代码。有关更多信息,请参见如何:向在 SP1 之前创建的项目中添加应用程序级智能标记。 | 
部署
Visual Studio Tools for Office 智能标记是 Visual Studio Tools for Office 项目的一部分,因此不必单独部署它们。此外,也无需专门为智能标记设置安全策略;这些标记将在为解决方案设置安全性时运行。
注册
您无需注册智能标记。Visual Studio Tools for Office 会为您注册智能标记,并创建一个包含所有 Visual Studio Tools for Office 智能标记的注册表项。
在 Word 和 Excel 以外的其他应用程序中创建智能标记
只能在 Word 和 Excel 的项目中使用 Visual Studio Tools for Office 提供的智能标记类。不过,其他 Microsoft Office 应用程序也支持智能标记,例如 PowerPoint 和 Outlook(当 Word 作为电子邮件编辑器时)。若要为这些应用程序创建智能标记,必须使用智能标记 SDK 而不是 Visual Studio Tools for Office。此过程包括以下两个主要步骤:
- 创建实现必需的 ISmartTagRecognizer 和 ISmartTagAction COM 接口的智能标记 DLL(托管程序集或非托管 DLL)。 
- 将智能标记 DLL 部署到最终用户的计算机上,并创建使 Microsoft Office 应用程序能够发现该智能标记 DLL 的必需的注册表项。 
有关更多信息,请参见 MSDN Library 中的智能标记 SDK 文档。
一般情况下,不应在 Visual Studio Tools for Office 外接程序中实现智能标记 COM 接口,而应在其他程序集或非托管 DLL 中实现它们。否则,会将冗余代码加载到内存中,因为 Office 应用程序会加载两次外接程序程序集:在应用程序加载外接程序时加载一次,在应用程序发现并加载系统上安装的智能标记 DLL 时再加载一次。外接程序程序集的每个实例将加载到单独的应用程序域中。
请参见
任务
概念
修订记录
| 日期 | 历史记录 | 原因 | 
|---|---|---|
| 2008 年 7 月 | 增加了有关应用程序级外接程序的信息。 | SP1 功能更改。 |