我们目前正在从一台服务器迁移到另一台服务器,并希望以编程方式逐步浏览用户文件夹中的所有 Word 文档。我们需要确保指向旧服务器的任何引用/超链接都将更新到新地址。
我理解超链接和引用可以指向其他文档。这是仅有的两种方式吗?如果不是,那么一个文档还可以通过哪些其他方式指向另一个文档或文件?
答案1
这是我现在想到的外部链接类型列表,其中包括一些已经提到的......
- 模板链接
- 超链接,由超链接字段或与对象(例如图像)相关联的超链接表示
- 指向 OLE 对象(例如 Excel 工作表)的链接,可以通过 LINK 字段表示,也可以(在 OOXML 中)通过 .docx 中的关系记录内部表示
- 包括“文本”文件或子集(例如带书签的文本区域),通过 INCLUDETEXT 字段链接或可能通过关系记录内部链接
- 链接到图像,可以通过 INCLUDEPICTURE 字段或通过关系记录内部链接
- 从邮件合并主文档链接到其数据源
- 从主文档到子文档的链接(不记得它们实际上是如何完成的)
- (我认为不常见)从 { DATABASE } 字段链接到数据源
- (如今不常见){ RD } 字段“包含”用于创建目录和索引的其他文档
- (除非有人使用 VSTO 插入 Windows 窗体控件,否则这种情况如今并不常见)如果文档包含任何 ActiveX 控件(通常是窗体控件),则它们必须存在于目标计算机上
- VBA 中使用的任何其他硬编码路径
- (我想说这并不常见)文档可能具有“超链接基础”,这可能会影响文档中超链接的解释。
(INCLUDETEXT 和 INCLUDEPICTURE 字段类型有前身,但它们太旧了,所以你极不可能遇到它们)
对于其中至少一个,即 (6),如果您要使用 Word 对象模型(例如在 VBA 中)修改文档,则在删除原始链接目标(即数据源)之前进行修改非常重要。否则,Word 会在您有机会将文档指向新数据源之前“忘记”数据源。如果您仅通过 Open XML SDK 等处理 OOXML 文档,那么这应该不是什么大问题。