的软件了解并处理文档,而无需使用 Office 2003 Edition 中的程序第二个 XML 功能领域是对自定义 XML 架构的支持。此功能允许您定义任何架构来表示业务信息并在 Office Professional Edition 2003 中使用该架构和关联的数据。所有这些功能都会在接下来的几节中进行详细的介绍
您可以使用新机制部署智能文档解决方案,用户只要打开通过电子邮件获得的文档或从 Web 服务器或文件服务器下载的文档就可以进行安装这些解决方案实现了高喥的安全性,符合 Office
的安全设置在部署站点时需要使用受信任的服务器,并要求对所有解决方案代码进行签名智能文档还可以从受信任嘚服务器上自动进行更新,从而使解决方案的升级更加容易您无需直接安装或管理客户端代码。
您可以使用现有的文档也可以从头开始构建智能文档解决方案。为此必须将文档附着到一个基础 XML 架构上。有关详细信息请参阅 。然后解决方案将以此架构为基础,用相應的 XML 元素标记出解决方案您可以编写代码,以响应当用户的插入点进入映射到 XML 元素的文档区域时触发的事件自定义代码应在任务窗格Φ为用户提供专用的 UI。
Microsoft Office System 2003 创建智能文档解决方案因为该软件不支持通过编程方式访问任务窗格。下表提供了每种技术的主要决定因素后媔的段落介绍了基础技术。
表 1:智能文档开发技术选项
解决方案的预计实现时间
基于 .NET 且带有声明编程模型需要进行基础结构投资
有助于減少文档交互,重点在于提供业务系统数据/功能适于多种解决方案
ISmartDocument 接口。如前文所述智能文档解决方案需要文档具有基础 XML 结构。然后您可以使用基于 COM 的 ISmartDocument 接口生成驱动解决方案的自动机制。您编写的代码可以直接处理文档、在任务窗格中显示信息并与服务器端进程进行茭互例如检索数据、将文档或文档内容路由到业务系统中以完成解决方案。
要将用户访问的 Word 或 Excel 文档模板连接到智能文档解决方案所关联嘚所有支持文件(例如 DLL、XSD 或 XSL)必须创建一个称为“清单”的 XML
文件。清单文件用于标识使解决方案能够正常工作(例如在服务器、客户机戓特定的目录中)所需的所有解决方案组件、它们的版本以及安装方式您需要将解决方案文件和清单文件放在一台受信任的服务器上。當用户打开此类智能文档时Office 2003 Edition
中的清单技术将检查文档的内部元数据(创建解决方案时,内部元数据被指定为自定义文档属性)以找到指定的清单。然后检查清单确保整个解决方案可用、可运行、处在安全的位置并且可以根据需要下载任何新文件。这大大简化了您的部署和维护工作因为文档或模板与驱动解决方案的代码之间是彼此独立的,您可以分别对它们进行版本控制和更新
用 .NET Framework 的代码实现 ISmartDocument 接口可能面临很多困难,因为要正确设置所有引用、代码要求和安全问题并非易事尽管 MSDN 上提供了许多示例,但最好还是使用“包装程序”接口例如 Vertigo Software 创建的 接口。它是 ISmartDocument 接口的精简版本使您现在可以使用基于 .NET
的技术更容易地生成和部署智能文档解决方案,当最终版本问世时再將代码移植到 Visual Studio Tools for
Visual Studio Tools for Office 2005 (Beta 1)。除了其他用途外这些工具还为 XML 元素提供了基于 .NET 的事件、到 XML 结构的数据绑定以及通过允许在任务窗格中使用自定义的 Windows 窗体鼡户控件而提供的更大灵活性,从而改进了实现智能文档解决方案的方式最终的解决方案将从 .NET Framework
开发人员和组织吔受益匪浅因为通过实现一个直观的、符合行业标准的 Web 服务,通过该服务提供企业信息可以在任务窗格中轻松地将企业信息提供给所囿(或选定的)用户。可以从服务器上或通过策略来配置和更新提供给用户的服务
“搜索”任务窗格技术
Office 程序)中都可以使用“搜索”任务窗格。Office 2003 Edition 提供的搜索选项包括基本资源例如多种语言的辞典和字典、语言翻译、联机百科全书和 Web 搜索。还有一个简单的 Web 服务 URL可以通過激活该 URL 来启动 SharePoint 站点搜索。
要在“搜索”任务窗格中提供信息需要使用“搜索”任务窗格所需的方法名称和架构来实现符合行业标准的 Web 垺务。架构用于描述所需的查询和结果 XML 流您可以设置搜索以访问本地和远程数据源,这些数据源既可以位于公司防火墙后也可以位于 Internet 仩。可以使用 Windows 身份验证或 Internet 密码来确保安全性“搜索”任务窗格与 Internet
Explorer 共享 Cookie 和缓存。管理员可以从企业级别控制“搜索”任务窗格使用搜索垺务的 Discovery Web 服务自动提供服务或通知服务的可用性。
Web 服务是实现数据交换和远程应用程序逻辑调用的行业标准,通过使用 XML 消息传送囷 Internet 技术在防火墙和不同的系统之间传输数据尽管远程访问数据和应用程序逻辑并不是一个新概念,但以松散耦合的 Internet 协议方式完成这些操莋却是史无前例的客户端和 Web
服务之间需要满足的唯一条件是接收者能理解所收到的消息。这样不管程序是使用何种语言编写的、不管使用哪种组件模型,也不管运行在哪种操作系统上都可以访问 Web 服务。
Web服务支持的优点
Web 服务使您可以更容易地将传统系统中的数据提供给公司内的授权用户这些目标用户通常是以前需要这些数据,但在使用 Web 服务的解决方案出现之前很难实现这一愿望的用户
程序的自定义架构功能中,反之亦然
如果需要从 VBA(或 Visual Basic 6)中访问 Web 服务,您可以下载免费的 Microsoft Office 2003 Edition Web 服务工具包它可以帮助您创建与基本 Web 服务进行交互所需的代碼。请注意此工具包按原样提供,并且只能通过对等新闻组获得支持其他开发人员可以通过手动解释 SOAP 消息,在任何环境中与
Web
开发人员樾来越愿意使用 .NET Framework 中运行的代码(称为托管代码)来生成解决方案因为托管代码更安全、更可靠且更高效。要使托管代码与 COM 接口(例如 Office 对潒模型)进行互操作开发人员需要使用描述 COM 接口类型的托管程序集。这种托管程序集(称为主互操作程序集或 PIA)允许托管应用程序在编譯时绑定到 COM 类型并为
.NET
可编程性支持,以添加适用于智能标记和智能文档的 PIA;或者安装 Microsoft Forms 可编程性支持以安装适用于窗体和图形的 PIA。我们建议您安装所有支持这样不管您选择创建哪种自定义托管 Office 解决方案,都有对应的接口
了解有关 PIA 的详细信息:
使用 Office 2003 Edition,您可以从服务器上蔀署、管理和更新多种解决方案这与开发人员以前可以使用的选项大不相同,以前开发人员总是需要手动在桌面计算机上注册 COM DLL
能够从網络服务器上部署解决方案代码,您便可以更轻松地实现部署和管理这就是基于 Web 的解决方案如此受欢迎的主要原因。直到出现 .NET Framework 和适用于 Office 2003 Edition 解决方案的新选项才解决了部署客户端代码的问题。从服务器上管理解决方案也更加容易因为您可以在服务器上发布更新的版本,解決方案会自动进行更新
如果通过了安全性检查您可以选择将解决方案代码安装在本地计算机上或保留在服务器上,具体选择哪个选项取决于解决方案嘚配置方式如果您将解决方案配置为将所有解决方案文件安装在本地计算机上,而且解决方案不需要其他网络资源那么解决方案可以脫机工作。基于清单中的每个文件的版本号对解决方案进行更新解决方案中包含一个 XML 元素,用于表示检查更新的频率
的代码访问安全性,解决方案具有完全信任权限否则它不会运行。如果通过安全性检查解决案代码将下载到 Internet Explore 缓存中,以便于解决方案运行只要解决方案代码驻留在缓存中,解决方案就可以脱机工作连接到网络时,如果管理员在服务器上放置了新版本将下载新版本以更新本地缓存嘚副本。
Access 2003 运行时实质上是 Microsoft Office Access 2003只不过禁用叻几个关键的功能。安装 Access 2003 运行时解决方案而不是完全 Access 的用户可以打开并运行解决方案(.mdb 文件或 SQL Server 后端数据库后者需要多执行几步操作),泹是看不到数据库窗口也不能将任何 Access
对象视图切换到设计视图。
了解创建基于 Access 2003 运行时的解决方案的基础知识:
本节提供了關于哪种技术可能更适合特定开发方案的指导某些信息仅供参考,并不表示 Microsoft 会提供此类功能或按此处说明的方式提供此类功能
允许用戶在使用 Office 时根据需要查询企业信息源
允许用户在 Office 文档中使用被标明为智能标记的词语显示企业信息的相关视图并执行相关操作
创建适用于 Word 戓 Excel 的智能文档解决方案
在文档中放置自定义 UI 元素
创建自定义任务窗格以显示内容
创建可以脱机工作的解决方案
创建自定义 Excel 工作表功能
为以後的 VBA 移植提供指导
表 2:基于方案的解决方案
允许用户在使用 Office 时搜索企业信息源
建议使用搜索服务。主要为了获取信息或执行复制/粘贴操作这虽然简单,但却是不错的 Web 服务实现用户可以通过任务窗格随时进行访问。
兴趣在于允许用户针对后端数据执行操作
兴趣在于为来自哆个后端系统的信息提供一个统一的视图
允许用户在 Office 文档中使用被标明为智能标记的词语显示企业信息的相关视图并执行相关操作
建议使鼡 Information Bridge Framework它使用户可以在默认的任务窗格或弹出式窗口中使用 Windows 窗体或 HTML UI 浏览所需的信息。如果需要Information Bridge Framework 还可以帮助您在来自多个后端系统的信息之間创建各种关系,以显示统一的数据视图
Excel 文档解决方案创建基于 .NET 的代码。这种代码可以将 Web 服务的内容作为 XML 进行检索然后使用 Office 对象模型功能将检索到的内容显示在文档中。
智能文档是映射到基础 XML 结构的 Microsoft Office Word 2003 或 Microsoft Office Excel 2003 文档当用户在文档的 XML 结构中移动时,可以通过编程方式使智能文档自动提供上下文相关的帮助信息、辅助数据、操作和自定义工具这可以帮助信息工作人员更有效地处理文档。
结构)提供叻一种有效的方法不管您创建的任务窗格多么复杂、格式多么特殊、与文档处理的连接多么紧密,使用这些工具都能获得最大的灵活性如果您打算将来自后端系统的信息集成到任务窗格或文档中,Visual Studio Tools for Office 2005 (Beta 1) UI 可以使用下一版 Information Bridge Framework 通过 Web
服务并入信息从而为您提供了在多个数据源之间有選择地引用逻辑业务对象的优势。
兴趣在于使用声明性编程模型
您可以使用 Information Bridge Framework 技术来创建智能文档但是,这并不能视为此技术的关键方案
相关的业务操作。报表中的内容可以引导用户打开其他报表或希望访问相关的数据实现此功能的最好方法是将报表中嘚重要词语用智能标记或 XML 元素标记出来。报表中可以具有内置的智能标记和 XML 元素也可以使用智能标记进行动态标记。如果企业信息来自 Web 垺务(而非本地桌面存储)最好使用 Information Bridge Framework
建议为快速精简报表使用 Excel 中的 Web 查询和数据库查询。您可以使用 Excel 中的 Web 查询和数据库查询功能生成快速精简的报表将数据并入报表中。Web 查询具有允许您使用 URL 地址通过松散耦合的连接并入数据的优点
执行此任务的方法有两种。
建议使用 XML使用 Word 和 Excel 的 XML 文件格式,您可以从业务系统中并入信息然后使用 XSLT 将信息传送到内容丰富的文档中。使用这种方法您可以并入一个个数据集,对每个数据集应用相应的格式然后将它们放入一个完整的文档中。建议对复杂的 XML 处理和收集方案使用 BizTalk 服务器
注意:使用 Excel 执行此操作時有一个局限性,因为 Excel XML 文件格式并不支持所有的 Excel 功能例如图表和图像。
请根据方案中使用的应用程序、UI 编程模型、其他所需的功能、用户的位置和组织的现有基础结构选择以下解决方案方法。在每个解决方案中都要创建 Web 服务,作为将信息源连接到 Office 的机制
建议使用搜索服务和“搜索”任务窗格。
定义 XML 架构指定数据和 UI 布局在任务窗格中的显示方式
通过客户端智能标记操作支持其他功能
最好用于 Intranet 方案,因为它要求您部署客户端运行时
创建包含特定内容的任务窗格以有助于 Office 文档的创建或使用
建议使用智能文档解決方案。该技术仅适于与 Word 和 Excel 文档一起使用创建特定于文档的任务窗格以作为智能文档(当用户在文档中移动时,任务窗格中的内容将发苼变化)或作为工具和信息的(相对)静态选项板。第二种情况是使用 Visual Studio Tools for Office 2005 (Beta 1) 实现的
通过使用 Office 程序从 XML 格式中捕获信息的方法有多种。请根据偠捕获的信息类型以及以后要如何使用信息来选择解决方案尽管可以使用各种 Access 接口来捕获信息,然后以 XML 格式导出信息但本节主要介绍 Word、Excel 和 InfoPath。
建议使用 Word如果捕获 XML 只是创建文档的附带操作,创建文档才是要完成的主要操作请使用 Word 来捕获 XML。XML 为 Word 文档提供了结构可以帮助您創建可靠的、基于文档的解决方案,还使您以后可以通过 XML 文件格式更轻松地重复使用文档信息如果捕获的信息仅用于数据库,或以自定義架构的方式提交给业务进程或 Web 服务那么 InfoPath
在数据验证方面提供的控制将超过 Word,InfoPath 还提供了可以更快地捕获信息的窗体结构此外,如果不通过编写代码来构造所需的 XMLWord 中的许多结构(例如控件)很难映射到 XML 元素。
建议使用 Excel当要捕获的信息是数字数据收集或分析项目的一部汾时,请使用 Excel 来捕获 XML一般的用法是对等组使用常见的 Excel 模板输入周期性信息(例如,月财务状况)将这些信息收集起来进行全面的分析。Excel 模板允许多个用户使用 Excel 功能收集并计算相应的数字作为一个 XML 文件进行提交;而通用架构允许您访问 Excel 中的每个
XML 结果文件。如果不需要在捕获过程中进行计算或建立数字关系请考虑使用 InfoPath。InfoPath 窗体生成的是 XML 文件您可以使用 Excel 对其进行合并和分析。
建议使用 InfoPathInfoPath 为捕获 XML 格式中的信息提供了大量类似于窗体的功能。不管处于联机状态还是脱机状态只要可以将窗体视为轻松捕获数据的机制,就应该考虑使用 InfoPath由于所囿用户都需要使用 InfoPath 来填充窗体,因此请勿考虑在 Extranet 方案中使用 InfoPath在 Extranet
方案中,您只需要在每个用户的每个会话中捕获有限的数据集对于这种方案,更适合使用 Web 技术但是,InfoPath 不提供脱机填充窗体的功能在填充需要大量数据的窗体或需要较长时间才能完成窗体时,脱机填充窗体嘚功能可以为某些 Extranet 用户提供更好的体验此外,适于包括协作以及提交前需要检查的方案