KB0173:Microsoft Word 或 Excel 中的 thinkcell 图表

  1. Home
  2. 资源
  3. 知识库
  4. KB0173

概述

目前,thinkcell 图表只能在 Microsoft PowerPoint 中创建。如果您需要在 Microsoft Word 或 Excel 中显示 thinkcell 图表,可以:

  1. 将图表的图片或图形复制/粘贴到 Microsoft Word [Excel] 中
  2. 将整个 Microsoft PowerPoint 幻灯片的图片或图形复制/粘贴到 Microsoft Word [Excel] 中
  3. 使用 Microsoft 的对象链接与嵌入技术(OLE),将 Microsoft PowerPoint 对象嵌入到 Microsoft Word [Excel] 中

解决方案 1 & 2:复制/粘贴图表或整个 PowerPoint 幻灯片

  1. 在 PowerPoint 中,选择图表或幻灯片,并使用 CTRL + C 复制
  2. 在 Word [Excel] 中,按以下方式粘贴图表或幻灯片:
    Home > Clipboard > Paste dropdown > Paste Special… > Picture (Enhanced Metafile)
    (粘贴为 Picture (Enhanced Metafile) 可确保图像质量不降低。)

如果粘贴的是整张幻灯片,您可能需要使用 Word [Excel] 中的 Crop 功能来隐藏并可能删除不需要的部分。

已知问题:粘贴图表时,杂乱背景上的标签背景或坐标轴断点可能无法在粘贴后的图片中正确显示。

使用背景填充的轴中断和标签

有关更多信息和解决方法: 阅读更多

这是由于 Office 2007 及更高版本的设计所致。PowerPoint 填充类型 Slide background fill 是 PowerPoint 独有的,将形状复制到其他 Office 程序时,不会转换为其他填充类型或颜色。我们曾请求 Microsoft 重新考虑,并尝试了所有可能途径,但我们的设计变更请求最终被拒绝。引用 Microsoft 拒绝信中的相关部分:“我们已经调查了问题原因。看来此行为是设计使然,因为幻灯片背景填充本质上类似于无填充。例如,如果用户为其形状选择的是图片背景而不是纯色填充,那么转换到 Word 时应没有填充选项。”

如果贵公司有 Microsoft Office 支持合同,并且您希望就此问题联系 Microsoft,可以参考案例编号 114073011660776 或设计变更请求 Office14#903613。

解决方法:使用 VBA 宏为所有使用 Background fill 的形状设置白色背景色 … 阅读更多

  1. 使用 ALT + F11 打开 VBA 编辑器
  2. 点击 Insert > Module 插入新模块
  3. 将以下 VBA 代码复制/粘贴到模块中:
    	
    	Sub PrepareCurrentSlideForCopyPaste()
    	'Deactivate thinkcell temporarily
    	Dim tcaddin As Object
    	Set tcaddin = Application.COMAddIns("thinkcell.addin").Object
    	Call tcaddin.ActivateAddIn(False)
    	Do While tcaddin.IsAddInActive()
    		 DoEvents
    	Loop
    
    	'Copy active slide into a new presentation
    	ActiveWindow.View.Slide.Copy
    	Dim pres As Presentation
    	Set pres = Application.Presentations.Add
    	Dim sld As SlideRange
    	Set sld = pres.Slides.Paste
    
    	'Loop through shapes and replace Background Fill with Solid Fill White
    	Dim shp As Shape
    	For Each shp In sld.Shapes
    		If shp.Fill.Type = Office.msoFillBackground Then
    			shp.Fill.Solid
    			'For different background color change the RGB value
    			shp.Fill.ForeColor.RGB = RGB(255, 255, 255)
    		End If
    	Next shp
    
    	'PrepareChartForWMF
    	Call tcaddin.ActivateAddIn(True)
    	Do While Not tcaddin.IsAddInActive()
    		DoEvents
    	Loop
    	End Sub
    	
    	
  4. 返回 PowerPoint,按 ALT + F8 运行宏。系统会创建一张新幻灯片,其中所有形状都使用白色 Solid fill,而不是 Background fill。
  5. 转到新幻灯片,复制图表并按上述方式粘贴。
  6. 请注意,此解决方法需要对每张受影响的幻灯片分别执行。

解决方案 3:嵌入 PowerPoint 对象

  1. 在 PowerPoint 中,选择幻灯片,并使用 CTRL + C 复制
  2. 在 Word [Excel] 中,按以下方式粘贴幻灯片:
    Home > Clipboard > Paste dropdown > Paste Special… > Microsoft PowerPoint Slide Object

使用此方法,之后可以在 Word 或 Excel 中的 Microsoft PowerPoint Slide Object 内修改 thinkcell 图表。右键点击嵌入的幻灯片:Slide Object > Open。

  • 我们建议使用 Slide Object > Open,而不是双击嵌入的幻灯片或使用 Slide Object > Edit,因为使用旧版 Microsoft Office 2013 时,Edit 会导致问题。
  • 如果对嵌入的 PowerPoint 幻灯片上的 thinkcell 图表使用 Excel 数据链接(请参阅 Excel 数据链接),任何数据更改都只有在打开幻灯片对象后才会在 PowerPoint 中可用。