在演示文稿之间复制幻灯片时,think-cell 标签的字体发生变化
描述
在演示文稿之间复制幻灯片时,字体样式和/或字体大小可能发生变化。在多数情况下,这是预期的 PowerPoint 行为。但是,若在 PowerPoint 的过时 ppt 文件格式(默认为截至 Office 2003)和 PowerPoint 2007 与更新版本的现代 pptx 文件格式之间进行复制,可能会发生非预期的变化。
在现代 pptx 文件之间进行复制
若文本使用主题字体,而源文件和目标文件的主题字体不同,则字体类型会发生变化。这是预期行为。
现代 PowerPoint 模板基于 Office 文档主题,这也会定义主题字体。
请检查 PowerPoint 字体菜单,查看指定的文本框是否使用主题字体。主题字体列在菜单中单独的主题字体部分内,(标题) 或 (正文) 已附加到字体名称上。
think-cell 标签中使用的字体类型取自 PowerPoint 演示文稿或模板的母版幻灯片上的正文文本占位符。
使用 PowerPoint 的粘贴选项可以控制是否替换主题字体。
- 使用目标主题会应用您要粘贴到的文件中的主题字体(以及其他主题设置)。这是默认选择。
- 保留源格式会保留原始字体和其他主题设置。为了实现这一点,PowerPoint 会以隐含方式将源文件的幻灯片母版复制到目标文件。
-
Office 2010 和更新版本:从主页 → 剪贴板 → 粘贴选项(粘贴按钮下的小箭头)中选择粘贴选项。
或者,使用所粘贴幻灯片旁边显示的智能标记。
-
Office 2007:使用所粘贴幻灯片旁边显示的智能标记。
在过时的 ppt 文件和现代的 pptx 文件之间进行复制
字体类型和字体大小可能会发生非预期的变化。此问题不会出现在所有 ppt 文件中,但是若的确出现,则是由 PowerPoint 所致,在不使用 think-cell 的情况下也可以重现。
将包含示例文本的文本框插入到原始演示文稿中。将其复制并粘贴到目标演示文稿中。从粘贴后显示的智能标记中,您可以选择以下选项:
粘贴选项:“保留源格式”
Office 2007:即使您已选择保留源格式,字体类型也可能会变为目标的主题字体,大小也可能会变化。这是 Office 2007 中的 Bug,Microsoft 不会进行修复。
Office 2010 和更新版本:将如预期执行。使用 Office 2010 时,若字体发生变化,最有可能是由后来 Microsoft 修复的 Bug 所致。请安装 Microsoft 适用于 Office 2010 的自动更新,或至少安装 KB2598346。
粘贴选项:“使用目标主题”
Office 2007 和更新版本:粘贴的文本框中的字体大小取自目标演示文稿的默认 PowerPoint 文本样式。此默认文本样式的格式设置选项不同于
- 默认文本框和默认形状所用的选项
- 幻灯片母版上文本占位符中的母版文本样式。
在过时的 ppt 文件和现代的 pptx 文件之间进行复制产生非预期结果时的解决方案
粘贴选项:“保留源格式”
Office 2007:更新到 Office 2010 或更新版本。Microsoft 不再发布适用于 Office 2007 的修复(安全更新除外)。许多问题仍存在,只有在更新的版本中才得到修复。
粘贴选项:“使用目标主题”
Office 2007 和更新版本:字体大小由默认 PowerPoint 文本样式决定,据我们所知且根据 Microsoft 向我们提供的信息得知,无法在 PowerPoint 用户界面上访问默认文本样式。但是,您可以使用 VBA 宏来显示和更改目标文件中默认文本样式的所有缩进级别的字体大小。
使用 Alt+F11 打开 VBA 编辑器。选择您的工作簿,然后单击插入 → 新模块。然后粘贴以下宏的其中之一,并单击运行宏或按 F5 以运行该宏。
若要显示 PowerPoint 默认文本样式的字体大小(对于所有缩进级别),请:
Sub DisplayDefaultTextSize()
Dim lvl As TextStyleLevel
For Each lvl In ActivePresentation.SlideMaster.TextStyles(ppDefaultStyle).Levels
Debug.Print lvl.Font.Size
Next
End Sub
若要设置 PowerPoint 默认文本样式的字体大小(对于所有缩进级别),请:
Sub AdjustDefaultTextSize()
Dim lvl As TextStyleLevel
For Each lvl In ActivePresentation.SlideMaster.TextStyles(ppDefaultStyle).Levels
lvl.Font.Size = 14
Next
End Sub