我编写宏复制Excel图表并将其粘贴到PowerPoint演示文稿,作为透明图片。听起来很简单,但问题是图片不透明或失真。复制图表从Excel到PowerPoint保持质量和透明度
看看请:
- 这里是扭曲的版本,我得到执行我的宏后:
- 这里就是我得到的,当我手动复制/粘贴(这就是我想要的样子):
我的代码(相关部分):
ActiveSheet.ChartObjects("MyChartNameGoesHere").CopyPicture Appearance:=xlScreen, Format:=xlPicture
Set PPApp = GetObject(, "Powerpoint.Application")
Set PPPres = PPApp.ActivePresentation
Set PPSlide = PPPres.Slides(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
PPSlide.Shapes.PasteSpecial(ppPasteEnhancedMetafile).Select
我已经尽力了CopyPicture
格式参数从xlPicture改变xlBitmap但在这种情况下,画面不是透明的,叠加幻灯片背景。我不确定它看起来很顺利。
我也尝试将幻灯片的PasteSpecial
参数更改为几乎每个列出的here,但仍然没有成功。
有一段时间我相信xlBitmap版本是好的,它只是不透明。这就是为什么我将两个示例都移动到幻灯片的边缘,以便我们可以看到。但是放大后我意识到它也被扭曲了。我不知道我是否真的弄错了,或者我不小心丢掉了代码中的重要内容(很可能)。内存恢复到以前的版本但失败。
再一次,当我从Excel复制图表并将其专门粘贴到PowerPoint中作为手动图片时,一切都很好。 PowerPoint 2007没有宏记录器,所以我看不到发生了什么。
请帮我一把。任何想法都很感激!
UPDATE“扭曲”版本不仅被...扭曲,而且还有5倍“更重”(就演示文件大小而言)。任何帮助仍然非常感谢!
Excel 2007中确实有宏录制。启用开发人员功能区 - Office按钮 - Excel选项 - 显示功能区中的开发人员选项卡。 – Jesse 2012-01-12 00:45:52
哦,我很抱歉,我的意思是PowerPoint 2007 :)谢谢你的信息,编辑的问题。 – 2012-01-12 16:43:09