eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 2006年中文博客封神榜:中文108 Blogger | 文摘首页 | APACHE错误代码解释 »

介绍Microsoft Office(2007) Open XML文件格式

2007 Microsoft Office 套件技术文章

发布日期: 2006-7-5 | 更新日期: 2006-7-5

适用于:

2007 Microsoft Office 套件
Microsoft Office Excel 2007
Microsoft Office PowerPoint 2007
Microsoft Office Word 2007

摘要:了解 Microsoft Office (2007) Open XML 格式的优点。用户可以使用 XML 和 ZIP 技术在 Office 应用程序和企业系统之间交换数据。文档可以通过多种方式来访问。而且降低了损坏文件的风险。

*
本页内容
简介 简介
新文件格式方案 新文件格式方案
新文件格式的优点 新文件格式的优点
Open XML 格式的术语表 Open XML 格式的术语表
Office XML 格式的结构 Office XML 格式的结构
使用 Office XML 格式开发解决方案 使用 Office XML 格式开发解决方案
在 Office 产品中使用新文件格式 在 Office 产品中使用新文件格式
修改 Office XML 格式的文件以自定义功能区用户界面 修改 Office XML 格式的文件以自定义功能区用户界面
结论 结论
其他资源 其他资源

简介

随着 20 世纪 90 年代 XML 的出现,企业计算客户开始意识到在他们所依赖的计算机产品和应用程序中采用开放式格式和标准所带来的商业价值。XML 的通用数据格式使 IT 专业人员大大受益,因为 XML 能够通过应用程序、平台和 Internet 浏览器来读取。

同样,由于在 Microsoft Office 2000 中采用了对 XML 的支持,开发人员也开始意识到需要将 Microsoft Office 的以前版本中出现的二进制文件格式转换为 XML 格式。过去几年里,二进制文件(.doc、.dot、.xls 和 .ppt 文件)在存储和传输数据方面发挥了重要作用,但已经无法满足新的工作环境的挑战,这些挑战包括轻松地将数据在完全不同的应用程序之间移动以及使用户能够从该数据中发现商机。

2007 Microsoft Office 系统通过在 Microsoft Office Excel 2007、Microsoft Office Word 2007 和 Microsoft Office PowerPoint 2007 中采用基于 XML 的文件格式继续进行这种转换。新的文件格式称为 Microsoft Office Open XML 格式(Office XML 格式),它通过一些改变来解决这些工作环境问题,这些改变会影响您处理基于 Microsoft Office 文档的解决方案的方式。

新的格式改善了文件和数据管理、数据恢复以及与行业系统的互操作性。它们扩展了以前版本的二进制文件的功能。任何支持 XML 的应用程序都可以访问和处理采用新文件格式的数据。应用程序不必是 Microsoft Office 系统乃至 Microsoft 产品的一部分。用户还可以使用标准转换来提取或重用数据。此外,安全性问题大大减少,因为存储为 XML 的信息实质上是纯文本。因此,数据可以无障碍地通过企业防火墙。

注意 不要将 Office XML 格式和 Microsoft Windows XML Paper Specification 格式相混淆。Office XML 格式使用开放打包约定,同时也被 XML Paper Specification (XPS) 所使用。但是,这些格式在几个重要方面有所不同。XPS 是为 Microsoft Windows Vista 操作系统推出的标页码的固定文档格式。Office XML 格式是针对 Office Word 2007、Office Excel 2007 和 Office PowerPoint 2007 的完全可编辑文件格式。尽管它们在使用 XML 和 ZIP 压缩时有相同之处,但在文件格式设计和用途上并不相同。

返回页首返回页首

新文件格式方案

Office XML 格式改变了客户处理数据的方式。考虑在以下一些方案中可能使用新文件格式:

服务器端进程可以从 ZIP 存档中读取其中一个项目,而不必将其中的项目全部提取出来。例如,您可以只提取包含文档数据的 XML 文件,而不必打开包含文档的格式、属性和其他外围信息的文件。

大多数情况下,新的文件容器对用户是透明的。它看起来像一个典型的二进制文档文件。但是,新的 XML 格式的文档是更小的压缩文档,从而可以更加方便地通过电子邮件或其他媒体发送给其他用户。

病毒扫描程序和服务器应用程序可以方便地提取容器以仅查看直接受影响的项目,而不用担心损坏容器或其中的内容。

使用新的文件格式保存的文件不能包含可执行宏代码。(这不适用于本文其他部分讨论的启用宏的文件。)因此,它们被视为“安全的”,可以通过防火墙并且可以通过电子邮件应用程序发送而不会出现安全问题。此行为由 Microsoft Office 应用程序强制执行。如果宏部件被添加到 Office XML 格式的文档,则 Office 会阻止打开此文档。

注意 某些 ZIP 应用程序允许您创建加密文件。新的文件格式不能创建加密文件。如果您试图读取加密文件,它将停止读取该文件并返回一个错误。

如果容器中的一个项目被损坏,其他项目仍将可用。例如,如果用户尝试打开一个从损坏的磁盘创建的文件并且该文件已损坏,则 Office 文件恢复机制会重新生成中央目录并完整地恢复该文件的内容。

Office 开发人员可以使用 Microsoft WinFX 应用程序编程接口 (API) 来创建有效的 XPS 文件。这些 API 是解决方案与新文件格式的内容交互的方式。Office 开发人员还可以使用 API 打开由另一 ZIP 应用程序创建的 ZIP 存档,假定该存档不使用 Office 不支持的其中一项 ZIP 功能。

注意 Microsoft Office 创建的文件符合开放打包约定,可以由 WinFX API 读取;相反,WinFX 能够创建可以使用 Microsoft Office 应用程序打开的程序包。WinFX API 能够与 Microsoft Windows 的以前版本一起工作,这些版本包括:Microsoft Windows Vista、Microsoft Windows Server 2003 和 Microsoft Windows XP。此外,转换器可用于 Microsoft Office 2000、Microsoft Office XP 和 Microsoft Office 2003 Editions。

新的文件格式还会更改 Office 用户处理他们在日常工作中使用的应用程序的方式。下面的情况说明了新的格式如何更改使用 2007 Office 版本完成工作的方式:

Howard 是一位好奇的用户,他发现 2007 Office 版本中的新文件格式容器是一个 ZIP 文件。Howard 想亲自弄个明白,因此他使用 ZIP 应用程序打开在 Word 2007 中创建的一个文档。他发现有些文件看起来像 XML 文档内容,有些图像与他在原始文档中看见的内容相一致。好奇的 Howard 非常感兴趣,他在记事本中打开了其中一个 XML 文件,想看看 Word 究竟生成了什么样的 XML 文件。如此轻松地就看到了文档的内部结构,他感到非常满意,因此他将记事本和 ZIP 应用程序关闭,重新在 Word 中打开该文件以继续操作该文档。

Jan 需要在她的 Word 2007 文档中更改文档属性。她在 ZIP 产品中打开新格式的文件,提取包含文档属性的 XML 项目,进行更改,将项目添加回容器中,然后保存并关闭该容器。随后她在 Word 中打开该文档,发现所有的内容仍在原来的位置,唯一的变化就是她对属性所做的修改。

一家顾问公司改变了徽标以反映其新使命。其 IT 部门接到了这项改变徽标的任务,而这个徽标位于服务器中存储的上千个文档中。在以前版本的 Microsoft Office 中,需要逐一打开每个文档来删除旧的徽标并粘贴新的徽标,或者创建并测试一个复杂的自定义应用程序来自动完成这项任务。使用新的文件格式,IT 部门可以创建一个批处理,用于浏览文件结构以在媒体文件夹中找到图形(此图形在每个文档中都相同),并将其换成新的图形。现在,当文档打开时,新的徽标将自动出现。

法律公司必须保护他们的客户数据以及他们自己的数据的机密性。按照常规,公司知道文档(包括在 Word 中创建的文档)存储了多个属性,其中有些属性在文档中是可见的,而有些属性是隐藏的。这些属性中有些可能包含客户敏感信息和公司专有信息。经过试验和错误排查,公司创建了一个删除此信息的过程。但是,该过程很浪费时间,而且因为它要求用户完全按照该过程操作,容易出错。使用新的文件格式,IT 部门开发了一个简单的批处理,用于遍历文件夹结构以删除包中的目标部件。现在,公司可以确信所有的敏感信息和专有信息都已安全地从文档中删除了。

Denise 正在她的硕士论文中进行最后的更改。添加目录索引之后,她准备进行最后的保存。然而,令她非常震惊的是,保存过程很快停止,并显示了一条消息,告诉她文件看起来已被损坏。当 Denise 从震惊中平静下来后,她意识到自己使用了新的文件格式。她将文本导入到一个新文档中,重新附加图片并重新设置格式和样式部分,成功地重建了文档。然后,她保存了新的文档。

Elizabeth 是一位 Windows 2000 用户,她运行的是 Office 2000,而且安装了 2007 Office 版本中包含的转换器。她能够打开 Word XML 格式的文档。另外,由于转换器提供打开和保存支持,她还能够编辑文档并将其重新保存为新格式的文档。

新文件格式的优点

新的 Office XML 格式引入了很多优点,不仅有助于开发人员和他们构建的解决方案,而且还有助于单个用户和各种规模的组织。

以下突出显示部分是 Office XML 格式的一些其他总体优点:

易于将业务信息与文档集成。Office XML 格式能够快速地从分散的数据源创建文档,从而促进文档组合、数据挖掘和内容重用。简化了 Office 应用程序和企业业务系统之间的数据交换。此外,您还可以改写 Office 文档内的信息或从文档的组件创建一个文档,而不必使用 Office 应用程序。员工可以通过在他们选择的应用程序(只要该应用程序支持读取和写入 XML)中更快、更精确地发布、搜索和重用信息,提高工作效率。

公开和免版税。Office XML 格式基于 XML 和 ZIP 技术,所以它们能够广泛使用。这些格式和架构的说明书即将在 Microsoft Office 2003 参考架构目前的免版税许可证下发布和提供,它是公开提供的,可供企业广泛使用。

可互操作性。使用 Office XML 格式核心的行业标准 XML,简化了 Microsoft Office 应用程序和企业业务系统之间的数据交换。解决方案可以通过使用能够处理 XML 的标准工具和技术来改写 Office 文档中的信息或创建文档,而无需访问 Office 应用程序。这种新的格式使您能够构建文档的存档而无需使用 Office 代码。

可靠性。Office XML 格式设计为比二进制格式更为可靠,因此有助于降低由于损坏或破坏文件而丢失信息的风险。即使对于 Office 之外创建或修改的文档,损坏的可能性也很小,因为 Office 应用程序的设计是通过使用新的格式,增强了恢复文档的可靠性。随着越来越多的文档通过电子邮件附件或可移动存储设备进行传送,网络和存储设备故障的出现机率增加了文档破坏的可能性。

新的文件格式通过分段并分别将每个部件存储在文件包中增强了数据恢复能力。这可以节省公司在恢复丢失的数据时花费的大量金钱和时间。如果文件的一个组件被破坏,则文件的其余组件仍可以在应用程序中打开。例如,如果图表被损坏,不会阻止客户打开文档中除图表外的其他部件。另外,Office 应用程序可以在打开文档时检测到这些故障,并通过复原文档的正确数据结构尝试修复文档。

高效性。Office XML 格式使用 ZIP 和压缩技术存储文档。新格式的显著优点就是大大减小了文件大小,比类似的二进制文档减少了多达 75%。这是结合使用 XML 和 ZIP 技术存储文件的优点之一。由于 XML 是一种基于文本的格式,压缩性非常好,而且 ZIP 容器支持压缩内容,因此用户可以显著地减小文件大小。这种类型的文件压缩可以为用户节省成本,因为它减小了存储文件所需的磁盘空间,并降低了通过电子邮件、网络和 Web 传输文件所需的带宽。

安全性。Office XML 格式的开放性将文件转换为更安全、透明的文件。您可以放心地共享文档,因为您可以轻松地识别和删除个人身份信息和商业敏感信息,如用户名、备注和文件路径。同样,您还可以识别包含 OLE 对象或 Microsoft Visual Basic for Applications (VBA) 代码等内容的文件以进行特殊处理。这种文件格式还有助于增强具有嵌入代码或宏的文档的安全性。默认情况下,新的 Word 2007、Excel 2007 和 PowerPoint 2007 文件格式不执行嵌入代码。因此,如果某人收到附加了 Word 文档的电子邮件,他/她可以打开该附件,因为他/她知道该文档不会执行有害代码。Office XML 格式包含一种特定用途的格式,这种格式为具有嵌入代码的文件赋予单独的扩展名,从而使 IT 人员能够快速识别包含代码的文件。

向后兼容性。2007 Microsoft Office 系统向后兼容下列早期版本:Microsoft Office 2000、Microsoft Office XP 和 Microsoft Office 2003。这些版本的用户可以轻松地采用新的格式,并继续从现有文件中获得最大的益处。特别是他们还可以继续使用旧的 .doc、.xls 和 .ppt 二进制格式,这些格式与 2007 文件格式完全兼容。早期 Office 版本的用户可以下载一个免费更新,这样他们就可以在早期版本中使用新格式打开和编辑文件。安装 2007 Office 版本的用户可以将默认的文件格式设置为他们选择的任何格式。这有助于确保用户能够继续使用基于早期版本的第三方解决方案,并与已升级的同事、供应商、客户和其他人协同工作。

Open XML 格式的术语表

下表定义了本文以及相关内容中使用的术语:

API 一组用于访问软件功能的函数或方法。API 是应用程序编程接口的缩写。

转换器 用于在以前的 Office 版本中打开使用 Office XML 格式创建的文件的免费工具。

注意 转换器读取、处理信息权限管理 (IRM) 保护并将其应用于文档。包含 IRM 保护的文档将继续受到保护,而不管接受人使用的是 2007 Office 版本还是以前的版本。

向前兼容性 应用程序的早期版本能够打开较新版本中的文件并忽略早期版本中未实现的功能。例如,Word 2003 向前兼容 Word 2007,因为它能够成功地使用转换器打开 Word 2007 文件。

Office Open XML 格式 构建用于组成、打包、分发和呈现以文档为中心的内容的块和关系的结构。这些构建块为允许软件应用程序可靠且始终如一地生成、交换和显示文档的文档格式定义一个独立于平台的框架。

包含组成文档的组件(部件)的 ZIP 容器,如开放打包约定说明书中所定义。

部件 对应于包中的一个文件。例如,如果某用户右键单击一个 Excel 2007 文件并选择提取它,该用户将看到一些文件,例如一个 workbook.xml 文件和几个 sheetn.xml 文件。其中的每个文件都是包中的一个部件。

关系 用于指定部件的集合如何组合在一起以形成文档的方法。此方法指定源部件和目标资源之间的连接。关系存储在文档包的 XML 部件中(例如,/_rels/.rels)。

XML 可扩展标记语言 (XML) 是一种简单、灵活的文本格式,适用于电子出版以及在 Internet 上和其他地方大量交换数据。

ZIP 一种行业标准的压缩存档格式,用于在计算机之间、通过电子邮件或通过 Internet 存储和传输文件。

Office XML 格式的结构

这种新的文件格式容器基于简单的、以部件为基础的压缩 ZIP 文件格式规范。新的 Office XML 格式的核心是使用 XML 参考架构和 ZIP 容器。每个文件由任意数目的部件的集合组成;此集合定义文档。

文档部件使用行业标准 ZIP 格式存储在容器文件或包中。大多数部件都是描述应用程序数据、元数据甚至客户数据的 XML 文件,存储在容器文件中。其他非 XML 部件也可能包含在容器包中,其中包括诸如代表文档中嵌入的图像或 OLE 对象的二进制文件这样的部件。另外,还有指定部件之间关系的关系部件;这种设计提供了 Office 文件的结构。当部件组成文件的内容时,关系将描述这些内容块如何一起工作。

结果是 Office 文档生成了紧密集成但模块化且高度灵活的 XML 文件格式。下面几节详细描述 Office XML 格式的每个组件。还将描述使用新文件格式的 Office 应用程序。

注意 要了解 Office XML 格式文件的组件,您可能需要提取文件。为了打开该文件,假定您的计算机上已安装了 ZIP 应用程序,如 WinZip Computing Corporation 的 WinZip。

打开 Word 2007 XML 文件

创建一个在其中存储文件及其部件的临时文件夹。

将包含文本、图片和其他元素的 Word 2007 文档保存为 .docx 文件。

在文件名的未尾添加一个 .zip 扩展名。

双击该文件。它将在 ZIP 应用程序中打开。您会看到组成该文件的部件。

将这些部件提取到之前创建的文件夹中。

ZIP 包

很多元素都参与创建 Microsoft Office 文档。其中的某些元素通常在所有 Office 应用程序之间共享,例如文档属性、样式表、图示、超链接、图表和绘图。其他元素特定于各个应用程序,如 Excel 中的工作表、PowerPoint 中的幻灯片或 Word 中的页眉和页脚。

当用户使用 Office 2003 或 Microsoft Office 的以前版本保存文档时,会将单个文件写入磁盘中,您可以轻松将其打开。这种手法对于在实际中如何存储、管理和共享文档非常重要。通过将 2007 Microsoft Office 系统文件的各个部件封装在 ZIP 容器中,文档仍保持为单个文件实例。使用单个包文件表示单个文档的实体意味着在保存和打开 Office (2007) 文档时,用户具有与使用早期 Office 版本时相同的体验。他们可以继续只处理单个文件。


图 1. 2007 版本中的文件格式容器

使用以前的 Office 版本,要处理 Office 文档内容的开发人员需要知道如何根据二进制文件中定义的结构化存储来读取和写入数据。此过程复杂且具有挑战性,主要是因为 Office 二进制文件格式设计为主要通过 Office 应用程序进行访问。这种格式反映了应用程序在内存中的结构,并且能够在具有慢速硬盘、低内存的计算机上运行。另外,在没有 Office 应用程序的情况下以编程方式改写 Office 二进制文件被看作是文件损坏的主要原因。这使得某些开发人员甚至不敢尝试改写文件。

选择 ZIP 作为 Office XML 格式的包格式是因为它是易于理解的行业标准。目前有很多工具可以处理 ZIP 格式,而且使用 ZIP 可提供允许向前扩展功能的灵活的模块化结构。因此,通过使用任何能够处理行业标准 ZIP 文件的工具和技术即可访问 2007 Microsoft Office 系统文档的完整内容。打开容器文件后,您可以对包中定义文档的任意文档部件进行处理。例如,您可以打开一个使用 Office XML 格式的 Word 2007 文档,找到代表 Word 文档正文的 XML 部件,使用任意能够编辑 XML 的技术更改该部件并将 XML 部件返回容器包,以创建一个更新的 Office 文档。

部件

在 Office XML 格式的包中,文件的很多逻辑部件都被存储为单独的文件或部件。这种模块性是此文件格式的重要特征之一。模块性使您能够快速找到特定部件并直接处理该部件。您可以根据特定业务需求的首选结果来编辑、交换甚至删除文档部件。

所有 Office 应用程序共享某些类型的部件,例如缩略图、元数据、媒体和关系部件。其他部件作为特定部件始终存在于所有文件中,例如文档属性。但是,很多部件对于它们所代表的应用程序文档类型来说是唯一的。例如,工作表部件只出现在 Excel 文档中,而幻灯版母版部件只出现在 PowerPoint 文档中。

需要注意的很重要的一点是,除开放打包约定中定义的几种例外情况外,实际的文件目录结构是随机的。包中文件的关系(不是文件结构)用于确定文件的有效性。您可以对 ZIP 容器中 Office (2007) XML 格式的文件的部件进行重新排列和重命名,如果您正确地更新了关系,文档部件之间的相互关系将继续保留原样。如果关系是正确的,则文件打开时不会出现错误。Office XML 格式文件中的初始文件结构是创建的默认结构。此默认结构使您能够轻松地确定 Office XML 格式文件的组成部分。如果您将关系保持最新,则可以更改此默认文件结构。有关它的详细信息,请参见演练:Word 2007 Open XML 文件格式

部件可以具有不同的内容类型。用于描述 Microsoft Office 应用程序数据的部件存储为 XML。这些部件符合定义关联的 Office 功能或对象的 XML 参考架构。例如,在 Excel 2007 文件中,代表工作表的数据位于符合 Excel 工作表的 Office 架构的 XML 部件中。另外,如果一个工作簿中有多个工作表,则对于每个工作表,包文件中都存储一个对应的 XML 部件。所有代表默认 Office 文档部件的架构将被完全记录并由 Microsoft 按照免版税使用许可提供。然后,通过使用任何基于标准 XML 的技术,您可以运用您对 Office 架构的了解轻松地分析和创建 2007 Microsoft Office 系统文档。

在很多方案中,将部件存储为其本机内容类型非常有利。这些部件不存储为 XML。例如,在 2007 版本的 Office 文档中,图像在文档包中被存储为二进制文件(.png、.jpg 和其他文件类型)。因此,您可以通过使用 ZIP 应用程序打开包容器并立即查看、编辑图像或者将图像替换为其本机格式。这种存储方法不仅更易于使用,而且与将图像存储为编码的 XML 相比,它需要的内部处理和磁盘空间更少。其他存储为二进制部件的重要部件有 VBA 项目和嵌入 OLE 对象。(仅当关联的 OLE 服务器只提供二进制表示法时,嵌入 OLE 对象才是二进制。例如,2007 Microsoft Office 系统嵌入文档将它们的内容作为另一个包嵌入。)对于开发人员而言,可访问性使得很多方案更具吸引力。例如,您可以构建一个解决方案来循环访问 2007 Microsoft Office 系统文档的集合以使用较新版本更新现有的 OLE 对象。您可以实现此方案和任意数目的其他方案,而不必使用 Office 应用程序或更改文档特定的 XML。下一节将简要描述支持 Office XML 格式的所有 Office 产品共有的一些部件。这些部件的类型和数量取决于创建 ZIP 容器文件的应用程序。例如,Word 2007 创建与文档相关的部件,而 PowerPoint 2007 则创建与幻灯片演示文稿相关的部件。

_rels 文件夹

此文件夹包含一个定义包中的根关系的 .rels 文件。这是在包中开始分析应进入的第一个位置。

.rels 文件

包含基于起始部件(虚拟起始部件)的关系。关系是使用以下格式定义的:

<Relationship Id="someID" Type="relationshipType" Target="targetPart"/> 

其中 Id 是任意字符串,只要它在 .rels 文件中是唯一的。

Type关系的类型,区分相互之间的关系并根据关系目的提供提示。 它指向定义 Office XML 格式类型的架构。

Target指向包含关系目标(另一个部件)的文件夹和文件。

表 1. 关系类型
内置关系类型

http://schemas.microsoft.com/office/2006/relationships/officeDocument

http://schemas.microsoft.com/office/2006/relationships/vbaProject

http://schemas.microsoft.com/office/2006/relationships/userXmlData

http://schemas.microsoft.com/office/2006/relationships/hyperlink

http://schemas.microsoft.com/office/2006/relationships/styleSheet

http://schemas.microsoft.com/office/2006/relationships/comments

http://schemas.microsoft.com/office/2006/relationships/oleObject

http://schemas.microsoft.com/office/2006/relationships/e2Object

http://schemas.microsoft.com/office/2006/relationships/e1Object

http://schemas.microsoft.com/office/2006/relationships/image

http://schemas.microsoft.com/office/2006/relationships/sound

http://schemas.microsoft.com/office/2006/relationships/movie

http://schemas.microsoft.com/office/2006/relationships/slide

http://schemas.microsoft.com/office/2006/relationships/layout

http://schemas.microsoft.com/office/2006/relationships/notesslide

http://schemas.microsoft.com/office/2006/relationships/slidemaster

http://schemas.microsoft.com/office/2006/relationships/glossaryDoc

http://schemas.microsoft.com/office/2006/relationships/cfChunk

http://schemas.microsoft.com/office/2006/relationships/dataStoreItem

http://schemas.microsoft.com/office/2006/relationships/embeddedFont

http://schemas.microsoft.com/office/2006/relationships/embeddedMetroObject

http://schemas.microsoft.com/office/2006/relationships/chart

http://schemas.microsoft.com/office/2006/relationships/activeXControl

http://schemas.microsoft.com/office/2005/relationships/diagram

http://schemas.microsoft.com/office/2005/relationships/diagramData

http://schemas.microsoft.com/office/2005/relationships/diagramStyle

http://schemas.microsoft.com/office/2005/relationships/diagramColorTrans

http://schemas.microsoft.com/office/2005/relationships/diagramDefinition

http://schemas.microsoft.com/package/2005/02/md/core-properties

http://schemas.microsoft.com/office/2006/relationships/docPropsApp

http://schemas.microsoft.com/office/2006/relationships/docPropsCustom

http://schemas.microsoft.com/ office/2006/relationships/documentThumbnail

http://schemas.microsoft.com/office/2006/relationships/glossaryDoc

主文档部件

http://schemas.microsoft.com/office/2006/relationships/officeDocument 关系的目标是用于定义文档的主部件(对于 PowerPoint 为演示文稿部件;对于 Excel 为工作簿部件;而对于 Word 则为文档部件)。所有其他关系都基于主文档部件。

Application 文件夹(如 Word)

包含应用程序特定的文档组件文件,例如(对于 Word):

wordDocument.xml   包含文档中的数据(文本)以及样式和字体设置。

footer.xml   包含关于文档中的页脚的信息,如页脚所在的页面和一些样式信息。

header.xml   包含的信息类似于 footer.xml 文件中的信息,但是该文件是关于页眉的。

wordDocument.doc   是原始文档的一个副本。

styles.xml   包含关于文档中的样式的信息,如字体大小、表格样式和项目符号列表。

音频文件

包含所有音频类型的文件,如 .mid、.mp3 或 .wav 文件。

Content_Types.xml 文件

提供包含在包中的其他部件的内容类型的列表。内容类型定义为可以存储在包中的部件的类型:

表 2. ZIP 容器中的内容类型
内置内容类型

application/vnd.ms.powerpoint.template.macroEnabled.12

application/x-font

application/vnd.ms-excel.12

application/x-font

application/vnd.ms-excel.addin.12

application/xml

application/vnd.ms-excel.binary.12

audio/aiff

application/vnd.ms-excel.macroEnabled.12

audio/basic

application/vnd.ms-excel.macroEnabledTemplate.12

audio/midi

application/vnd.ms-excel.template.12

audio/mp3

application/vnd.ms-metro.core-properties+xml

audio/mpegurl

application/vnd.ms-metro.relationships+xml

audio/wav

application/vnd.ms-office.activeX+xml

audio/x-ms-wax

application/vnd.ms-office.chart

audio/x-ms-wma

application/vnd.ms-office.vbaProject

image/bmp

application/vnd.ms-powerpoint.

image/gif

application/vnd.ms-powerpoint.macroEnabled.12

image/jpeg

application/vnd.ms-powerpoint.main.12+xml

image/png

application/vnd.ms-powerpoint.presentation.12

image/tiff

application/vnd.ms-powerpoint.show.12

image/xbm

application/vnd.ms-powerpoint.show.macroEnabled.12

image/x-icon

application/vnd.ms-powerpoint.template.12

video/avi

application/vnd.ms-word.document.12

video/mpeg

application/vnd.ms-word.document.macroEnabled.12

video/mpg

application/vnd.ms-word.document.macroEnabled.main+xml

video/x-ivf

application/vnd.ms-word.document.main+xml

video/x-ms-asf

application/vnd.ms-word.fontTable+xml

video/x-ms-asf-plugin

application/vnd.ms-word.listDefs+xml

video/x-ms-wm

application/vnd.ms-word.settings+xml

video/x-ms-wmv

application/vnd.ms-word.styles+xml

video/x-ms-wmx

application/vnd.ms-word.subDoc+xml

video/x-ms-wvx

application/vnd.ms-word.template.12

application/vnd.ms-word.template.macroEnabled.12

application/vnd.ms-word.template.macroEnabled.main+xml

application/vnd.ms-word.template.main+xml

文档属性部件

包含为符合 XPS 格式的所有文件定义的核心文档属性,例如:

作者

标题

主题

评论

上次保存日期

创建日期

关系

部件是组成 2007 版本中的 Office 文档的各个元素。关系是指定部件的集合如何在一起相互作用以形成实际文档所使用的方法。使用 XML 可定义关系。关系指定源部件和目标资源之间的连接。例如,您可以通过关系来标识某个幻灯片和出现在该幻灯片上的图像之间的连接。关系存储在文档容器中的 XML 部件或“关系部件”内。如果源部件中有多种关系,则后续的所有关系都列在同一 XML 关系部件中。

关系在 Office XML 格式中起着重要的作用。每个文档部件至少由一种关系引用。使用关系可以了解一个部件与另一个部件之间的关系,而无需浏览部件的内容。在部件内,所有对关系的引用都使用关系 ID 来表示,关系 ID 允许部件之间的所有连接与内容特定的架构保持独立。


图 2. Excel 2007 工作簿的高级关系图

下面是 Excel 2007 工作簿中包含两个工作表的关系部件的示例:

<Relationships xmlns="http://schemas.microsoft.com/package/2005/06/relationships"> 
    <Relationship ID="rId3" 
     Type="http://schemas.microsoft.com/office/2005/8/relationships/xlStyles"
      Target="styles.xml"/> 
    <Relationship ID="rId2" 
     Type="http://schemas.microsoft.com/office/2005/8/relationships/xlWorksheet" 
      Target="worksheets/Sheet2.xml"/> 
    <Relationship ID="rId1" 
     Type="http://schemas.microsoft.com/office/2005/8/relationships/xlWorksheet" 
      Target="worksheets/Sheet1.xml"/> 
    <Relationship ID="rId5" 
     Type="http://schemas.microsoft.com/office/2005/8/relationships/xlMetadata" 
      Target="metadata.xml"/> 
    <Relationship ID="rId4" 
     Type="http://schemas.microsoft.com/office/2005/8/relationships/xlSharedStrings" 
      Target="strings.xml"/> 
</Relationships>

另需注意的很重要的一点是,关系不仅表示内部文档引用,而且还表示外部资源。例如,如果文档包含链接的图片或对象,它们也会使用关系来表示。这使得文档中指向外部源的链接易于查找、检查和更改。它使您有机会修复损坏的外部链接、验证不熟悉的来源或删除潜在的有害链接。

在 Office XML 格式中使用关系使开发人员多方面受益。关系简化了在文档中查找内容的过程,因为您不需要分析文档特定的 XML 来查找部件 — 您也不需要分析文档特定的 XML 来查找内部和外部文档资源。关系使您能够快速清点文档内的所有内容。例如,如果您要统计 Excel 工作簿中工作表的数量,可以检查关系中存在多少工作表部件。您还可以使用关系检查文档中内容的类型。这在您需要确定文档中是否包含可能有害的特殊类型的内容(例如可疑的 OLE 对象)或者有益的特殊类型的内容(例如当您想要从文档中提取所有 JPEG 图像以便在别处重新使用时)时非常有用。

您还可以使用关系来处理文档而不必了解应用程序特定的语法或内容标记。例如,无需了解如何对 PowerPoint 编程,开发人员解决方案也可以轻松地通过编辑文档的关系来删除与演示文稿无关的幻灯片。

启用宏的文件与无宏的文件

保存为 Office XML 格式的默认 2007 Microsoft Office 系统文档是无宏的文件,因此不能包含代码。此行为确保了默认文档中的恶意代码永远不能意外地执行。虽然 2007 Microsoft Office 系统文档仍然可以包含和使用宏,但是用户或开发人员必须将这些文档保存为启用宏的文档类型。此安全措施不会影响生成解决方案的功能,但会使组织能够更放心地使用文档。

启用宏的文件与未启用宏的文件具有完全相同的文件格式,但是前者包含无宏的文件中没有的附加部件。附加部件依赖于文档中的自动化类型。使用 VBA 的启用宏的文件包含存储 VBA 项目的二进制部件。任何使用 Excel 4.0 样式的宏(XLM 宏)的 Excel 工作簿或任何包含命令按钮的 PowerPoint 演示文稿也都保存为启用宏的文件。如果无宏的文件中出现了代码特定的部件,不管是无意还是有意将其置于该文件中,Office 应用程序均不会允许代码执行,无一例外。

现在,您可以在打开 2007 Microsoft Office 系统文档之前确定其中是否存在任何代码。以前,在 Office 之外无法轻松实现这种“提前通知”。您可以检查包文件中是否存在任何基于代码的部件和关系,而不必运行 Office 和可能危险的代码。如果文件看似可疑,您可以从文件中删除能够执行代码的任何部件,以便代码不会造成任何危害。

文件扩展名

使用 Office XML 格式保存的 2007 Microsoft Office 系统文档具有新的文件扩展名,该扩展名使 Office 能够将这些文件格式与以前的 Office 版本使用的二进制文档区分开来。新的扩展名采用现有的二进制文件扩展名,并在后缀的末尾附加一个字母。在 Word 2007、Excel 2007 和 PowerPoint 2007 中使用新文件格式创建的文档的默认扩展名附加字母“x”,分别为 .docx、.xlsx 和 .pptx。其他使用新文件格式的 Office 文档类型(包括模板、加载项和 PowerPoint 放映)也有新的扩展名。

2007 Office 版本中引入的另一个新的变化就是对启用宏的文件与无宏的文件使用不同的扩展名。启用宏的文档包含以字母“m”结束的文件扩展名,而不是“x”。例如,启用宏的 Word 2007 文档的扩展名为 .docm,这样任何用户或软件应用程序都能够在打开文档之前识别文档中是否包含代码。

表 3. 2007 Office 版本中文档类型的文件扩展名的列表
Word 2007 文件类型 扩展名
 

Word 2007 XML 文档

.docx

Word 2007 XML 启用宏的文档

.docm

Word 2007 XML 模板

.dotx

Word 2007 XML 启用宏的模板

.dotm

Excel 2007 文件类型 扩展名  

Excel 2007 XML 工作簿

.xlsx

Excel 2007 XML 启用宏的工作簿

.xlsm

Excel 2007 XML 模板

.xltx

Excel 2007 XML 启用宏的模板

.xltm

Excel 2007 二进制工作簿

.xlsb

Excel 2007 XML 启用宏的加载项

.xlam

PowerPoint 2007 文件类型 扩展名  

PowerPoint 2007 XML 演示文稿

.pptx

PowerPoint 2007 启用宏的 XML 演示文稿

.pptm

PowerPoint 2007 XML 模板

.potx

PowerPoint 2007 启用宏的 XML 模板

.potm

PowerPoint 2007 启用宏的 XML 加载项

.ppam

PowerPoint 2007 XML 放映

.ppsx

PowerPoint 2007 启用宏的 XML 放映

.ppsm

使用 Office XML 格式开发解决方案

Office XML 格式引入或改进了许多类型的解决方案,其中包含您可以生成的文档。您可以通过使用任意能够处理 ZIP 存档的工具和技术来访问新文件格式的 Office 文档的内容。然后您可以使用任意标准 XML 处理技术来处理文档内容,或者对于以内嵌的本机格式存在的部件(例如图像),使用该对象类型的任何适当工具进行处理。

此外,可以将 2007 Microsoft Office 系统文档的容器文件作为 ZIP 存档手动打开,这给予开发人员一些有意义的帮助。例如,当生成基于 Office 的解决方案时,您可以检查文档的内容和结构而不必写入任何代码。此工具在解决方案设计和生成原型时非常有用。

在您进入 2007 Microsoft Office 系统文档内部后,结构使您能够轻松浏览文档的部件和关系,而不管是查找信息、更改内容还是从文档中删除元素。使用 XML 和已发布的 Office 参考架构意味着您可以轻松创建其他文档、向现有文档添加数据或在文档正文中搜索特定内容。

本文的其余部分探索 Office XML 格式启用基于文档的解决方案的一些情况。以下几种只是大量可能情况列表的一部分:

数据互操作性

内容操作

内容共享和重用

文档组合

文档安全

管理敏感信息

文档样式

文档分析

数据互操作性

XML 作为数据交换的普遍标准出现意味着新的 Office XML 格式使得在完全不同的系统之间访问基于文档的数据更加容易。不管是用户跨部门共享文档数据,还是两个组织交换业务数据,XML 作为 Microsoft Office 文档的默认文件格式意味着 Office 应用程序可以参与业务流程而不受二进制格式之前所规定的限制。

新文件格式的开放性打开了数据的封锁性并引入了超出桌面范围的广泛的、新级别的集成。例如,您可以参考已发布的新文件格式说明书来创建数据丰富的文档而不使用 Office 应用程序。服务器端应用程序可以批量处理文档,以启用在熟悉的、灵活的 Office 应用程序中完美处理企业数据的大型解决方案。您可以使用标准 XML 协议,例如 XPath(常见的 XML 查询语言)和可扩展样式表语言转换 (XSLT) 来检索文档中的数据或从外部数据中更新文档内的内容。

一个这样的方案可能涉及个性化要分发给多位客户的数千个文档。可以通过使用某个服务器应用程序以编程方式将信息插入标准文档模板中,该服务器应用程序使用从企业数据库或客户关系管理 (CRM) 应用程序中提取的 XML。由于无需运行 Office 应用程序,因此创建这些文档效率很高;而生成高质量、内容丰富的 Office 文档所需的功能仍然存在。

在 Office 中使用自定义架构是利用文档来共享数据的另一种方法。现在,可轻松访问那些曾以二进制格式锁定的信息,因此,文档可充当可公开交换的数据的源。自定义架构不仅便于插入或提取数据,它们还可以向文档添加结构,而且能够强制执行数据验证。

内容操作

编辑现有 Office 文档的内容是 Office XML Format 改善过程的另一个有用示例。编辑可包括更新少量数据、交换整个部件、删除部件或一起添加新部件。通过使用关系和部件,这些新的文件格式使内容更易于查找和处理。使用 XML 和 XML 架构意味着可使用 XPath 和 XSLT 之类的常见 XML 技术以几乎无限多种方式在文档内编辑数据。

一个方案可能需要编辑 Word 文档的页眉中的文本。当然,对于一份文档来说,使该任务的执行过程自动化并不合情理。但是,在另一种方案中,如果某个公司被合并,需要在成百上千的不同文档的页眉中改用新公司名称,那会怎样呢?开发人员可编写代码,该代码遍历所有文档,定位到 Word 文件结构中的页眉部件,执行 XPath 查询找到旧的文本。然后该代码插入新的文本,替换页眉部件,并重复此过程直到更新完每一个文档。自动化可节省大量时间,实现以其他方式可能无法尝试完成的过程,防止手动过程中可能出现的错误。

在另一种可能的方案中,现有 Office 文档的更新必须通过只更改某个完整部件来实现。在 Excel 2007 工作簿中,您可以通过覆盖工作表的部件将包含旧数据或过期计算模型的整张工作表替换为一个新工作表。这种类型的更新也适用于二进制部件。您可以根据需要将现有图像(甚至是 OLE 对象)替换为新图像(或新 OLE 对象)。例如,可以通过覆盖对应的二进制部件,更新作为 OLE 对象嵌入到 Office 文档中的 Microsoft Office Visio 绘图。您可以更新超链接中的 URL 以指向新的位置。

下面是其他一些应用程序特定的方案。

Word 2007 中的内容操作

合并 Word 文档内的“样板”文本是一种常见的商业做法。例如,由组织生成的每份公共文档中都可能要求含有正式法律免责声明或者保密条款和条件。样板文本的另一个典型示例是“公司概况”部件,它用于创作公司的销售提案或公共发布文档。Word 提供的功能,如自动图文集,能够完成插入格式化文本的任务,但是,由于此功能要求 Word 自动化或直接用户交互,所以其使用范围受到限制。

Word 2007 为您向文档中插入内容提供了一种非常灵活的替代方法。Word XML Format 使您可以添加称为文档构造块的文档部件,当在 Word 中打开文档时,整篇文档中均可引用这些构造块。这表示您可以创建文档构造块库,这些构造块可派生自 Word 能够呈现的文档格式,而且您可以根据需要在 Word 文档解决方案中以编程方式重新使用这些构造块。

这种更广的 Word 内容操作能力支持一些引人关注的方案,如服务器端文档集合。回到前面列举的示例,您可以将法律免责声明自动插入在服务器上创建的文档中。设想有一家跨国公司,它要求其所有文档均包含当地语言的法律免责声明。公司可以 .html 文件的格式创建相应语言的免责声明并将它们保存在服务器上。构建文档的应用程序可针对所需语言将相应的文档段作为一个部件插入到文档容器内。之后此段呈现为 Word 文档的一个无缝部分。

Excel 2007 中的内容操作

为了优化加载和保存性能及文件大小,Excel 2007 对 Excel 文件中的重复文本仅存储一个副本。为此,Excel 在由 http://schemas.microsoft.com/office/2005/8/relationships/xlSharedStrings 关系的目标指定的文档部件中实现一个共享字符串表。在工作簿内找到的每个唯一文本值在此表中列出一次。然后,各个工作表单元参考该字符串表得到各自的值。

该过程在优化 Excel XML Format 的同时,还为其他内容操作解决方案带来了一些引人注意的机会。跨国组织中的开发人员可使用共享字符串表提供一定程度的多语言支持。一个工作簿可使用与各种语言相对应的字符串表,而不是为每种受支持的语言创建唯一的工作簿。另一种可能是使用字符串表搜索工作簿集合内的关键字条目。与处理跨多个工作表和工作簿的 Excel 对象模型相比,处理单个仅文本的字符串 XML 文档速度更快,也更简单。

PowerPoint 2007 中的内容操作

使用 PowerPoint XML Format 存储 PowerPoint 2007 演示文稿时,内容仍保持良好的可访问性。因为这是第一个提供 XML 格式的 PowerPoint 版本,所以它可实现的很多方案在早期版本中无法使用。现在,您可以完全访问幻灯片和文本形式的幻灯片注释。要求能够搜索、索引化、创建演示文稿内容的解决方案现在可以实现了。您可以使用 XML 轻松生成数据驱动的演示文稿。您还可以通过 XML 部件访问幻灯片母版和幻灯片版式,以便通过编程方式格式化现有的或新的 PowerPoint 演示文稿。

通过创建使用与现有演示文稿独立存储的幻灯片目录的应用程序,您可以采用不同的方法组合或重新使用 PowerPoint 演示文稿中的内容。幻灯片表示为单个的 XML 部件,因此,解决方案可优化组织将 PowerPoint 2007 幻灯片作为数据进行存储和管理的方式。您甚至可以编写幻灯片“查看程序”,以允许用户从 PowerPoint 外部查找和选择幻灯片来创建演示文稿。该应用程序甚至可以是基于 Web 的,以允许集中管理。

内容共享和重用

Office XML Format 的模块性使得在一次生成内容后在多个其他文档中加以重用成为可能。作为开发人员,您可以设想创建多个核心模板,将这些部件作为其他文档的构造块重新使用。例如,您可以将在一个 Word 文档中创建的表用于其他 Word 文档中。您可以创建一次图表(这些图表在 2007 Microsoft Office 系统应用程序内具有通用架构),然后在不同文档类型中多次重新使用它们。这一格式的可访问性有助于提供无限制的内容共享机会。

例如,在某个这样的示例方案中,需要创建文档中所用的图像的库。您可以创建一个解决方案,该解决方案从 Office 文档集合中提取图像并允许用户从单一访问点重新使用它们。因为 2007 版本的 Office 文档以二进制部件完整地存储图像,所以您可以轻松创建该解决方案并维护图像库。因此,希望合并以前用过的图像的用户,不必浏览整个文档集合并分别打开和关闭每个文档即可找到图像。他们可使用自定义应用程序找到库中的图像,并立即将图像插入正在处理的文档中。

您可以创建一个类似的应用程序,它重新使用从文档中提取的文档“缩略图”图像,然后向文档管理过程添加可视功能。

文档组合

开发人员经常提出的一个要求是能够在服务器上创建 Microsoft Office 文档而无需自动化 Microsoft Office 应用程序。那些需要生成复杂、包含丰富数据的文档或需要大量集合文档的组织,希望用于高端目的的处理更加有效。从技术上讲,Office 应用程序不是为从服务器上运行的目的而编写的,也不支持从服务器上运行。

在 Microsoft Office 2003 Editions 中,引入了可根据 Office 2003 XML 参考架构生成的 XML 文档格式,从而帮助克服了此限制。任何一种能够集合 XML 的技术,只要它符合 Office 架构,就能创建 Word 或 Excel 文档。这在当时是巨大的进步,但遗憾的是它仅适用于 Excel 和 Word,而且实际上只有 Word 真正在 XML 文件支持中提供了完全的保真度。2007 Office 版本在此基础上构建,它添加了 PowerPoint XML 文件,确保 PowerPoint XML 文件和 Excel XML 文件也都完全保真。

技术上的这种进步意味着,借助于 2007 Office 版本,您可以创建无需打开 Office 即可生成 Excel、Word 和 PowerPoint 文档的 Office 解决方案。该解决方案必须根据 2007 版本中的架构创建 XML,并创建 Office XML Format 中定义的包内容。虽然 Office 架构相当丰富,但为了充分表现 Microsoft Office 应用程序提供的丰富功能集,生成文档时并不要求由格式定义的所有结构。每个 Office 应用程序都能在定义极少项的情况下打开文件,因此易于创建多个文档。

注意,文档集合并不仅适用于新文档。当然,按照 Office XML Format 的规则,您可以通过编程方式创建文档而不使用 Office。不过,通常文档集合意味着通过使用部分现有文档、数据和其他内容创建文档。新的 Office XML Format 由于具有模块架构并且其内容基于 XML,因而非常适合这一情况。

文档集合示例也适用于 PowerPoint 演示文稿。许多组织拥有大量具有可重用价值的 PowerPoint 文件集合。用户经常从一些已存在的演示文稿中借用幻灯片来创建一个不同的或相关的演示文稿。查找、协调及集成(复制和粘贴)幻灯片通常是一个耗时繁冗的过程,许多组织希望可以自动生成面向用户的演示文稿。借助于 2007 Office 版本,可以轻松访问 PowerPoint 演示文稿文件内的各张幻灯片,因为每张幻灯片均包含在演示文稿容器包内各自的 XML 部件中。自定义解决方案可利用此体系结构使演示文稿的集合过程完全自动化。您可以使用自定义 XML 保持元数据与各幻灯片的相关性,从而使用户可以使用预定义关键字轻松地搜索它们。用户选择幻灯片后,解决方案将该幻灯片的 XML 部件插入集合后的演示文稿中并创建引用关系。

文档安全

安全在当今的信息技术中极为重要。Office XML Format 帮助您在处理 Office 文档和提供需要考虑文档安全的解决方案时更有信心。借助于新的文件格式,您可以创建解决方案,在任何已识别的潜在漏洞导致问题发生前搜索并消除它们。

例如,如果公司需要一个准备文档的解决方案,这些文档或者是用于存储在归档库中(在此它们不需要运行自定义代码),或者是用于向客户发送不含宏的文档。您可以编写一个应用程序,它通过遍历文档并删除由 http://schemas.microsoft.com/office/2006/relationships/vbaProject 关系的目标指定的部件,删除 Office 文档正文中的所有 VBA 代码。结果就是生成一个更高质量的文档集合。

此外,Office XML Format 专门为 2007 版本的每个产品提供一个文件类型(.docm 用于 Word、.xlsm 用于 Excel、.pptm 用于 PowerPoint),您可在其中执行宏代码。后缀非“m”的任何文件类型,即使其中包含宏代码,也不会执行该代码。这有助于保证用户在处理这些文件类型时免遭恶意软件的攻击。

遗憾的是,宏代码并不是 Office 用户的唯一潜在安全威胁。最近,在二进制 .jpg 文件中检测到了安全漏洞。通过检查 Office 文档并解决任何引起风险的已暴露问题,您可以消除源于二进制文件(如 OLE 对象和图像)的潜在风险。例如,如果特定 OLE 对象被识别为已知安全威胁,则您可以创建一个应用程序来查找并清除或隔离包含该对象的任何文档。同样地,您可以通过检查关系部件轻松识别 2007 Microsoft Office 系统文档中的任何外部引用。这种识别可使解决方案开发人员确定文档中引用的外部资源是可信任的还是需要采取纠正措施。

您可以按内容类型和关系阻止各个部件。例如,如果 IT 管理员认识到 .gif 图像可能包含安全威胁,则可使用组策略设置来禁止在 2007 Microsoft Office 系统文档中装载图像/GIF 内容。部署适当的安全修补程序后,可以关闭该设置,IT 管理员可以确信用户很快得到了保护。

您还可以通过格式策略阻止各个部件。例如,如果 IT 管理员发现一个漏洞,恶意备注能借助可利用的缓冲区溢出导致 PowerPoint 出现故障,则可通过部署 Office 文件格式策略保护用户和其计算机。这一次不是按内容类型进行阻止(因为在这种情况下,它是 XML 包含文本),而是通过阻止 schemas.microsoft.com/office/2006/relationships/comments 关系类型明确地阻止备注。为此,管理员可使用 Microsoft Office 策略模板(.adm 文件)设置这些选项。有关使用 Office 策略模板的详细信息,请参阅 Microsoft 知识库文章管理员可以结合使用 Office 策略模板和 Windows 的组策略设置

管理敏感信息

在力图保护用户免遭恶意内容的侵扰时,您还可以帮助用户避免不适当地意外共享数据带来的风险。这种不适当的数据可能包括文档中存储的个人识别信息 (PII) 或者批注、备注和注释等,它们不应该泄漏到部门或组织外部。您可以用编程方式直接删除两种类型的信息而无需扫描整个文档。例如,为了删除文档备注,您可以检查是否存在备注部件关系,如果能找到,则删除关联的备注部件。

除保护 PII 和备注的安全外,Office XML Format 还以其他方式提供对这些可能有用的信息的访问。您可以创建一个解决方案,它使用 PII 数据返回由某个人或特定组织创建的文档的列表。借助于新的文件格式,您可以在不必打开 Office 或使用其对象模型的情况下生成此列表。类似地,应用程序可以遍历 Office 文档的文件夹或卷,并聚合文档内的所有备注。您可以应用其他条件来限定备注,帮助用户在创建文档时更好地管理协作过程。

文档样式

像使用 Office XML Format 的 Office 文档的许多其他方面一样,文档样式、格式和字体在容器包内单独的 XML 部件中维护。因此,您照样可以利用这种分离特性创建解决方案。某些组织有非常具体的文档标准,管理这些标准可能相当耗时。但是,举例来说,您可以在不打开 Office 的情况下修改或替换文档中的字体。

另外,让文档或文档集合包含相同内容但由另一个部门、分支、子机构或目标客户设定不同格式也很常见。您可以维护单个文档集内的内容,然后在必要时应用新的样式集。为此,您可以将由 http://schemas.microsoft.com/office/2006/relationships/styleSheet 关系的目标指定的部件替换成另一部件。这种替换能力无需管理众多文档内的内容,简化了控制文档显示的过程。

文档分析

有效管理文档一直是信息技术实践中的一个突出问题。在 Microsoft Office 2003 中,您可以使用 OLE 访问传统的 Office 文档属性,如作者、标题、主题和其他属性。在新的 Office XML 格式中,也可以轻松地访问文档属性,因为它们位于文档内各自的部件中。下面是 Word .docx 文件中的“文档属性”部件的一个示例。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<CoreProperties xmlns="http://schemas.microsoft.com/package/2005/06/md/core-properties"> 
   <Title>Word 文档示例</Title> 
   <Subject>Microsoft Office Word 2007</Subject> 
   <Creator>2007 Microsoft Office System 用户</Creator> 
   <Keywords/> 
   <Description>2007 Microsoft Office system .docx 文件</Description> 
   <LastModifiedBy>2007 Microsoft Office System 用户</LastModifiedBy> 
   <Revision>2</Revision> 
   <DateCreated>2005-05-05T20:01:00Z</DateCreated> 
   <DateModified>2005-05-05T20:02:00Z</DateModified> 
</CoreProperties> 

不过,使用新文件格式的 Office 文档允许您添加您自己的基于 Office 的属性不能提供的数据和目录,例如,对于高级文档分析。您可以创建自己的自定义 XML 并将其作为另一个部件置于文件中。然后,您可以将此 XML 与任何能够访问 Office XML 格式的工具或应用程序结合使用。

在 Office 产品中使用新文件格式

虽然许多部件是采用新文件格式的 Office 产品共有的,但也有一些部件是专门针对各个产品的。

Excel 2007 中的文件格式结构

除各个 Office 产品共有的部件(如 XML 数据部件、关系部件和媒体部件)外,Excel 还分别为工作簿、工作表以及诸如图表、数据透视表动态视图等实体提供了单独的部件。

PowerPoint 2007 中的文件格式结构

PowerPoint 文件格式中使用的大部分部件与其他产品相同,此外还添加了那些特定于幻灯片演示文稿的对象,如单个幻灯片部件、母版幻灯片部件、演示文稿数据等等。

Word 2007 中的文件格式结构

同样,Word 用户应该可以找到与文档属性、样式和格式、页脚、页眉、尾注等相关的附加部件。

修改 Office XML 格式的文件以自定义功能区用户界面

下列步骤说明如何通过修改启用宏的工作簿文件在 Excel 2007 中创建一个自定义功能区用户界面 (UI),其中包含调用自定义宏的组件。在此示例中,请按照下列步骤操作:

创建一个具有一个宏的 Excel 工作簿,将该工作簿保存为 Office XML 格式的启用宏的文件 (.xlsm)。

创建一个具有一个选项卡、一个组和一个按钮的功能区可扩展自定义文件。

在按钮中指定一个回调事件以调用您在文档中创建的宏。

修改启用宏的文档容器文件的内容以指向功能区可扩展自定义文件。

保存启用宏的文件并在 Excel 中打开它。

在 Excel 中创建启用宏的 Office XML 格式的文件

启动 Excel 2007。

单击开发人员选项卡,然后单击 Visual Basic

注意 如果您没有看到开发人员选项卡,则需要将自己标识为开发人员。为此,请在您的应用程序中单击 Microsoft Office 按钮,单击 Excel 选项,单击个性化,然后选择在功能区中显示“开发人员”选项卡。这是一个全局设置,它会在采用功能区用户界面的所有其他 Office 应用程序中将您标识为开发人员。

在 Visual Basic 编辑器中,双击 ThisWorkbook 打开代码窗口。

键入下面的 VBA 子例程,然后关闭 Visual Basic 编辑器:

Sub MyButtonMacro(ByVal ControlID As IRibbonControl)
Msgbox("您好")
End Sub

将该工作簿保存为 Office XML 格式的启用宏的文件 (.xlsm)。

创建包含修改用户界面的标记的 XML 文件

在您的桌面上创建一个名为 customUI 的文件夹。

在文本编辑器中打开一个新文件,将它命名为 customUI.xml 保存在 customUI 文件夹中。

向该文件添加以下代码:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> 
   <ribbon startFromScratch="true"> 
      <tabs> 
         <tab id=":CustomTab" label="我的选项卡"> 
            <group id="SimpleControls" label="示例组"> 
               <button id="Button1" size="large" label="大按钮" 
                  onAction="ThisWorkbook.MyButtonMacro" /> 
            </group> 
         </tab> 
      </tabs> 
   </ribbon> 
</customUI> 

接下来,修改包含在您以前创建的启用宏的文件容器中的一些文件:

为工作簿文件名添加一个 .zip 扩展名,然后双击打开该文件。

通过将 customUI 文件夹从桌面拖动到该 ZIP 文件中,将该自定义文件添加到容器。

将 .rels 文件提取到您的桌面。一个包含 .rels 文件的 _rels 文件夹即复制到您的桌面。

打开 .rels 文件并在最后一个 Relationship 标记和 Relationships 标记之间添加以下行。这样就创建了工作簿文件与自定义文件之间的关系:

<Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui
/extensibility" Target="customUI/customUI.xml" /> 

关闭并保存文件。

通过从桌面上拖出 _rels 文件夹并覆盖现有文件,将 _rels 文件夹添加回容器文件中。

通过删除 .zip 扩展名,将工作簿文件重命名为其原始文件名。

打开工作簿,您会注意到功能区用户界面现在出现了我的选项卡

单击此按钮,出现一个消息框。

结论

用户、组织和开发人员将从 Microsoft Office 系统的 2007 版本的 Office XML 格式的优点中受益。作为基于 XML 的开放式默认文件格式,新的文件格式揭示了您可以创建许多新的解决方案类型和方案的可能性。您可以将文档作为数据源访问、在不使用 Office 应用程序的情况下处理文档,以及在企业解决方案中处理文档。只有将现有商业系统投资与 Microsoft Office 系统平台、2007 Office 版本和新的基于 XML 的文件格式结合在一起的组织才能受益。

其他资源

有关详细信息,请参阅下列资源:

Microsoft Office Open XML 格式常见问题

Office 2003 XML 参考架构许可证概述

Microsoft Office 开发人员中心

转到原英文页面


历史上的今天...
    >> 2007-12-02文章:

By eygle on 2006-12-02 12:40 | Comments (0) | 学习资料 | 1238 |


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com