症状
将 Microsoft PowerPoint 演示文稿和链接到该演示文稿的图片移动到新的驱动器或文件夹位置后,图片不可见。 相反,图片显示为占位符,即使图片位于演示文稿所在的同一驱动器上的同一文件夹中。
例如,创建包含许多链接图像的演示文稿,然后将其写入 CD-R) (可录制的光盘。 从另一台计算机上的 CD-R 打开演示文稿时,即使图像位于 CD-R 上,也不会在演示文稿中显示。
原因
包含图片的文件夹已移动。 Microsoft Office PowerPoint 2007、PowerPoint 2003 和 PowerPoint 2002 使用绝对路径查找链接的图像。 如果驱动器号或路径发生更改,则不会显示图像。 当在驱动器 C 上创建的演示文稿写入 CD-R 的根目录,然后从 CD-ROM 驱动器(通常是驱动器 D)打开时,可能会发生这种情况。由于链接图像的路径以 C 开头,因此在打开演示文稿时找不到图像。
解决方法
若要解决此问题,请使用以下方法之一。
方法 1:使用“CD 包”或“打包并转到”
如果要在另一台计算机上运行演示文稿,PowerPoint 可以创建一个包,将所有必需的文件放入一个文件夹或 CD 中。 PowerPoint 2002 可以将所有必需的文件放入单个存档文件或跨多个磁盘。 然后,在目标计算机或网络共享上解压缩 PowerPoint 2002 Pack and Go 文件并运行演示文稿。
打包演示文稿时,可以决定在演示文稿中包含所有链接的文件。 执行此操作时,PowerPoint 会将图片链接的绝对路径转换为相对路径。 也就是说,路径变为“image001.jpg”,而不是路径为“C:\My Documents\My Pictures\image001.jpg”。
打包演示文稿和关联的文件
PowerPoint 2007
若要使用 PowerPoint 2007 的 “CD 包 ”功能,请执行以下步骤:
-
打开要打包为 CD 的演示文稿。
-
单击“ Microsoft Office 按钮 ”,指向 “发布”,然后单击“ CD 包”。
-
如果系统提示确认转换为早期 PowerPoint 格式,请单击“ 确定”。
-
默认情况下,所有链接的文件都包含在打包的演示文稿中。 单击“ 复制到文件夹”,或单击“ 复制到 CD”。
如果单击了“ 复制到文件夹”,请执行以下步骤:-
在“文件夹名称”框中键入 文件夹名称 ,然后单击“ 浏览 ”找到此文件夹的目标。
-
单击 “选择”,然后单击“ 确定”。
-
单击“ 是 ”将链接的文件与演示文稿一起包含在内。
如果单击了“ 复制到 CD”,则必须准备好将空白可写 CD 插入 CD 或 DVD 光盘驱动器。 单击“ 重试”。 PowerPoint 完成 CD 的刻录后,当系统提示你刻录另一张 CD 时,单击“ 否 ”。
-
-
单击“关闭”。
若要开始演示文稿,可以将 CD 插入计算机,然后在 Windows 资源管理器中双击 CD 图标,也可以找到在步骤 4 中创建的文件夹,然后在 PowerPoint 2007 中打开演示文稿。
PowerPoint 2003
若要使用 PowerPoint 2003 的 “CD 包 ”功能,请执行以下步骤:
-
打开要打包为 CD 的演示文稿。
-
单击“文件”菜单上的“CD 包”。
-
默认情况下,所有链接的文件都包含在打包的演示文稿中。 单击“ 复制到文件夹”,或单击“ 复制到 CD”。
如果单击了“ 复制到文件夹”,请执行以下步骤:-
在“文件夹名称”框中键入 文件夹名称 ,然后单击“ 浏览 ”找到此文件夹的目标。
-
单击 “选择”,然后单击“ 确定”。
-
单击“ 是 ”将链接的文件与演示文稿一起包含在内。
如果单击了“ 复制到 CD”,则必须准备好将空白可写 CD 插入 CD 或 DVD 光盘驱动器。 单击“ 重试”。 PowerPoint 完成 CD 的刻录后,当系统提示你刻录另一张 CD 时,单击“ 否 ”。
-
-
单击“关闭”。
若要开始演示文稿,可以将 CD 插入计算机,然后在 Windows 资源管理器中双击 CD 图标,也可以找到在步骤 4 中创建的文件夹,然后在 PowerPoint 2007 中打开演示文稿。
PowerPoint 2002
若要在演示文稿上使用 Pack and Go 在另一台计算机上运行,请执行以下步骤:
-
打开要打包的演示文稿。
-
在“ 文件 ”菜单上,单击“ 打包并转到”。
-
按照“打包和使用向导”中的说明进行操作。
当系统提示要复制到哪个驱动器时,单击“ 选择目标 ”并浏览到临时文件位置。 这是打包演示文稿及其关联文件的位置。 单击“下一步”。 -
选择包含 链接的文件。 此时,可以选择在演示文稿中嵌入 TrueType 字体。 单击“下一步”。
-
不要包含查看器。 单击“ 下一步”,然后单击“ 完成”。
然后,可以将打包的文件和Pngsetup.exe程序复制到所选的任何驱动器或网络共享。
解压缩 PowerPoint 2002 演示文稿
若要查看演示文稿,必须转到将包文件复制到的位置并将其解压缩。 为此,请按照下列步骤操作:
-
在 Microsoft Windows 资源管理器中,导航到打包演示文稿的位置,然后双击 Pngsetup。
-
输入要将文件解压缩到的位置。
-
单击“确定”。
演示文稿和链接图片将在所选位置解压缩。
使用宏代码设置相对路径
Microsoft 提供编程示例仅供说明,不提供明示或默示担保。 这包括但不限于适销性或针对特定用途的适用性的默示保证。 本文假定你熟悉所演示的编程语言以及用于创建和调试过程的工具。 Microsoft 支持工程师可以帮助解释特定过程的功能。 但是,它们不会修改这些示例以提供附加的功能或构造过程来满足你的特定要求。
注意 以下宏示例仅适用于 PowerPoint。 microsoft PowerPoint Viewer 不支持Visual Basic for Applications宏。
还可以使用宏将链接从绝对转换为相对链接。 这将允许 PowerPoint 根据演示文稿的当前位置查找图片,只要图片位于同一位置。
下面是一个代码示例,其中显示了一种可自动完成此操作的方法。 此代码示例假定演示文稿和链接图片位于同一文件夹位置。 如果它们不在同一文件夹位置,则运行此代码将断开指向图片的链接。
示例代码
-
打开 Visual Basic 编辑器:
PowerPoint 2007-
单击“ 视图 ”选项卡。
-
单击 “宏 ”组中 的“宏 ”。
-
在“宏名称”框中键入“RelPict”,然后单击“ 创建”。
PowerPoint 2003 和 PowerPoint 2002
-
在 “工具 ”菜单上,指向“ 宏”,然后单击“ 安全性”。
-
单击“ 中 ”获取安全级别。 单击“确定”。
-
在 “工具 ”菜单上,指向“ 宏”,然后单击“ Visual Basic 编辑器”。
-
在“插入”菜单上,单击“模块”。
-
-
在模块中键入以下代码:
Sub RelPict() Dim oSlide As Slide Dim oShape As Shape Dim lPos As Long Dim strLink As String ' ' Loop through the presentation checking each shape ' on each slide to see if it is a linked picture. ' For Each oSlide In ActivePresentation.Slides For Each oShape In oSlide.Shapes If oShape.Type = msoLinkedPicture Then With oShape.LinkFormat ' ' Search from the right hand portion of the source ' filename and find the first backslash "\" character. ' lPos = InStrRev(.SourceFullName, "\") ' ' Check to see if the link has already been modified. ' If lPos <> Null Then ' ' Determine how long the filename is, by subtracting ' the position the "\" character was found at from ' the total length of the source file name. ' lPos = Len(.SourceFullName) - lPos ' ' Extract the filename from the source file name, then ' assign the filename to the source file name, turning ' it into a relative path. ' strLink = Right(.SourceFullName, lPos) .SourceFullName = strLink End If End With End If Next oShape Next oSlide End Sub
状态
Microsoft 已确认这是“适用于”部分中列出的 Microsoft 产品中的 bug。