我正在为从Surfer复制文件并将其粘贴到PowerPoint幻灯片的程序添加一项功能。 Surfer图像很大,我需要在PowerPoint幻灯片的框架中只显示一小部分Surfer文件。
我遇到的问题是,当我打开powerpoint时,默认是压缩任何复制和粘贴的图像。由于压缩,PowerPoint幻灯片中显示的内容很模糊。当我没有自动化并关闭图像压缩时,它看起来很完美。
请注意,此程序不仅适用于我,而是分发给公司内的其他人,因此我不能指望其他想要使用此程序的用户更改其默认设置。我只想弄清楚如何关闭压缩。
这是我到目前为止所拥有的:
'Opens Surfer
objSurferApp = CreateObject("Surfer.Application")
'Open Powerpoint
objPPTAPP = CreateObject("powerpoint.application")
objPPTMapSeries = objPPTAPP.presentations.add
'copies image from Surfer
objSurferMap.shapes.selectall()
objSurferMap.selection.copy()
slidecount = objPPTMapSeries.Slides.Count
'Adds a new slide
objPPTMapSeries.Slides.Add(slidecount + 1, PowerPoint.PpSlideLayout.ppLayoutBlank)
'pastes image to PowerPoint slide
objPPTMapSeries.Slides(slidecount + 1).Shapes.Paste()
objSurferMap.close()
我没有任何想法,除了将模板PPT与已勾选复选框的程序捆绑在一起,但这似乎并不太优雅。谢谢你的考虑。我对编程比较陌生,而且对stackoverflow很新,所以请告诉我是否有任何明显的事情我应该看到。
答案 0 :(得分:1)
据我所知,压缩设置不会通过对象模型公开。您可以通过reg设置打开/关闭compresson。这是手册instrux。当PPT没有运行时你确实需要这样做,否则它就不会工作。
关闭Power Point
打开注册表编辑器(“开始/运行”并键入Regedit)
转到[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 12.0 \ PowerPoint \ Options]。改变那个" 12.0"至" 14.0"适用于PowerPoint 2010或" 15.0" for PowerPoint 2013。
创建名为AutomaticPictureCompressionDefault
的新Dword值确保新Dword的值为0
关闭注册表编辑器
现在,默认情况下,PowerPoint不会压缩图片。如果我们要启用压缩,请返回相同的注册表项并将值从0更改为1.