将图片从Web添加到VBA中的Powerpoint幻灯片(MacOS)

时间:2013-03-03 21:22:21

标签: vba ms-office powerpoint-vba

我很乐意使用VBA迭代Excel电子表格中的内容列表,并在单独的Powerpoint文件中创建幻灯片。这一点有效。

但是我似乎无法将图片添加到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 个答案:

答案 0 :(得分:2)

这适用于Windows版本的PPT,但在Mac 2011中失败:

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中,相当多的应该工作的东西(以及在Win版本中都有效)会失败。

最后两个-1参数告诉PPT将图片置于“自然”大小...即,无论大小如何,如果您手动操作,它通常会插入图像;这样可以避免扭曲图像。

答案 1 :(得分: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)