Excel 中工作簿链接管理和存储的说明

应用对象
Office Products Excel for Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

在 Microsoft Excel 中,可以使用引用外部工作簿的公式将工作簿中的单元格链接到另一个工作簿。 这称为工作簿链接。 创建此工作簿链接时,它可以使用相对路径,这样可以在不中断链接的情况下移动工作簿。 本文讨论了 Excel 在不同情况下如何存储工作簿链接,并在尝试修复断开的链接时提供帮助。 

当 Excel 打开包含工作簿链接的目标工作簿时,它会将存储在工作簿中的工作簿链接部分与源工作簿当前路径的必要部分动态组合在一起,以创建绝对路径。

同样需要注意的是,编辑栏中显示的内容不一定是存储的内容。 例如,如果源工作簿已关闭,则你将看到该文件的完整路径,尽管可能仅存储文件名。

尽可能以相对方式创建指向源工作簿的工作簿链接。 这意味着不会记录源工作簿的完整路径,而是记录路径中与目标工作簿相关的部分。 使用此方法,可以在不中断工作簿之间链接的情况下移动工作簿。 但是,仅当工作簿彼此保持在同一位置时,工作簿链接才保持不变。 例如,如果目标工作簿已 C:\Mydir\Destination.xlsx 且源工作簿已 C:\Mydir\Files\Source.xlsx,那么只要源工作簿仍位于名为“Files”的子文件夹中,就可以将文件移动到 D 驱动器。

如果将目标工作簿移动到其他计算机,并且源工作簿位于中心位置,则相对链接可能会导致问题。

工作簿链接的记录方式按以下方式有所不同:

存储类型 1:具有相同文件夹或子文件夹的同一驱动器

源工作簿与目标工作簿位于同一文件夹或子文件夹中。 在这种情况下,我们存储相对文件路径,例如 subfolder/source.xlsx 和 destination.xlsx。

此类型最适合基于云的工作簿以及移动两个工作簿时。

存储类型 2:相同的驱动器,但具有不同的同级文件夹

源工作簿和目标工作簿位于同一驱动器上,但位于不同的同级文件夹中。 在这种情况下,我们存储一个服务器相对路径,例如 /root/parent/sibling1/source.xlsx 和 /root/parent/sibling2/destination.xlsx。

如果目标工作簿在同一驱动器中移动,但源工作簿保持在同一位置,则此类型最有效。

存储类型 3:不同的驱动器

源工作簿位于与目标工作簿不同的驱动器上。 例如,目标工作簿文件夹位于 C 驱动器上,源工作簿文件夹位于 H 驱动器上。 在这种情况下,我们存储绝对路径,例如 H:\folder\source.xlsx 或 https://tenant.sharepoint.com/teams/site/folder/source.xlsx。

如果目标工作簿已移动,但源工作簿保持在同一位置,则此类型最有效。 这假定目标工作簿仍然可以访问源工作簿。

了解 XLStart 和 Office 文件夹

如果源工作簿位于 XLStart备用启动文件位置 文件夹中,则会写入一个属性以指示其中一个文件夹,并且仅存储文件名。

Excel 可识别两个默认的 XLStart 文件夹,以便在启动时自动从中打开文件。 这两个文件夹如下所示:

用户配置文件中的 XLStart 文件夹是存储为工作簿链接属性的 XLStart 文件夹。 如果使用 Office 安装文件夹中的 XLStart 文件夹,则该 XLStart 文件夹将被视为与硬盘上的任何其他文件夹相同。

Office 文件夹名称在不同版本的 Office 之间更改。 例如, Office 文件夹 名称可以是 Office14、Office15 或 Office16,具体取决于你运行的 Office 版本。 如果移动到运行的 Excel 版本与建立链接的计算机版本不同,则此文件夹名称更改会导致工作簿链接断开。

  • Office 安装文件夹中的 XLStart 文件夹,例如 C:\Program Files\Microsoft Office\<Office 文件夹>\XLStart
  • 用户配置文件中的 XLStart 文件夹,例如 C:\Documents and Settings\username\<>Application Data\Microsoft\Excel\XLStart

了解映射驱动器与 UNC

链接源工作簿时,将基于打开源工作簿的方式建立工作簿链接。 如果通过映射驱动器打开工作簿,则使用映射驱动器创建工作簿链接。 无论将来如何打开源工作簿,工作簿链接都保持不变。 如果源工作簿由 UNC 路径打开,则即使有匹配的驱动器可用,工作簿链接也还原到映射驱动器。 如果在同一文件中同时具有 UNC 和映射驱动器工作簿链接,并且源工作簿与目标工作簿同时打开,则只有与源工作簿打开方式匹配的链接才会作为超链接进行响应。 具体而言,如果通过映射驱动器打开源工作簿并更改源工作簿中的值,则只有创建到该映射驱动器的链接才会立即更新。

此外,Excel 中显示的工作簿链接的显示方式可能会因工作簿的打开方式而异。 工作簿链接可能看起来与根 UNC 共享或用于打开文件的根驱动器号匹配。

在有几种情况下,工作簿之间的工作簿链接可能会无意中指向错误位置。 下面是两种最常见的方案。

方案 1

  1. 在共享的根目录下映射驱动器。 例如,将驱动器 Z 映射到 \\MyServer\MyShare\MyFolder1。
  2. 通过该映射驱动器打开目标工作簿后,创建指向存储在该映射位置的源工作簿的工作簿链接。
  3. 按 UNC 路径打开目标工作簿。
  4. 因此,工作簿链接将断开。

如果关闭目标工作簿而不保存它,则工作簿链接不会更改。 但是,如果在关闭目标工作簿之前保存它,将使用当前断开路径保存工作簿链接。 共享根和映射文件夹之间的文件夹将被排除在路径之外。 在上面的示例中,链接将更改为 \\MyServer\MyFolder1。 换句话说,将从文件路径中删除共享名。

方案 2

  1. 在共享的根目录下映射驱动器。 例如,将驱动器 Z 映射到 \\MyServer\MyShare\MyFolder1。
  2. 通过 UNC 路径或映射到共享上的其他文件夹(例如 \\MyServer\MyShare\MyFolder2)的映射驱动器打开文件。
  3. 因此,工作簿链接将断开。

如果关闭目标工作簿而不保存它,则工作簿链接不会更改。 但是,如果在关闭目标工作簿之前保存它,将使用当前断开路径保存工作簿链接。 共享根和映射文件夹之间的文件夹将被排除在路径之外。 在上面的示例中,链接将更改为 \\MyServer\MyFolder1。 换句话说,将从文件路径中删除共享名。

另请参阅

创建工作簿链接

管理工作簿链接

更新工作簿链接