2013-03-03 88 views
2

我很舒服地使用VBA遍历Excel电子表格中的内容列表,并在单独的Powerpoint文件中创建幻灯片。这个位有用。将Web上的图片添加到VBA中的Powerpoint幻灯片(MacOS)

但是,我似乎无法将图片添加到Powerpoint演示文稿。我试过了:

Dim pic
Set pic = activeSlide.Shapes.AddPicture("/Users/Pedro/My_Picture.png", False, True, 10, 10)

...失败,运行时错误5(无效过程调用或参数)。 请注意我在Mac OS X,Office 2011

我也尝试通过UserPicture()设置对象的填充无济于事。

在此先感谢您的帮助!

回答

2

这部作品PPT的Windows版本,但在2011年的Mac失败:

应该工作(并在运做的版本)
Sub thing() 
Dim oPic As Shape 
Set oPic = ActivePresentation.Slides(1).Shapes.AddPicture("http://www.somesite.xxx/directory/filename.jpg", False, True, 0, 0, -1, -1) 
End Sub 

不少东西无法在Mac的PPT,很遗憾。

最后两个-1参数告诉PPT将图片放在“自然”的大小上......也就是说,无论大小如何,通常都会手动插入图片;这可以避免扭曲图像。

+1

我提到这我Macknowledgeable朋友,谁告诉我,MS禁用此功能作为一种安全隐患之一。溅射。吐。 – 2013-03-05 01:40:46

0

问题是您正在使用的路径样式。下面的工作:

#If Mac Then 
    imagePath = (MacScript("get path to startup disk as string") & "Users:Pedro:My_Picture.png") 
#Else 
    imagePath = "C:\path\to\My_Picture.png" 
#End If 

activeSlide.Shapes.AddPicture(imagePath, False, True, 10, 10) 
+0

感谢您的回答!但我正在寻找直接从网上添加图像,这应该工作。我可能会在未来尝试使用您的解决方案进行临时下载和插入。干杯! – Pedro 2014-04-30 11:24:27

+0

我的荣幸。正如史蒂夫提到的,我不认为直接下载适用于Mac。正如您所暗示的,我使用临时下载(通过Macscript/do shell脚本/卷曲)以及此代码将图像从网络插入到PowerPoint中。它实际上工作得很好。如果您希望我分享该代码,请告诉我,我很乐意为您挖掘它。 – Rob 2014-04-30 14:49:30

相关问题