2

我很舒服地使用 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() 设置对象的填充无济于事。

提前感谢您对此的任何帮助!

4

2 回答 2

2

这适用于 PPT 的 Windows 版本,但在 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 以“自然”尺寸导入图片……即,如果您手动插入,它通常会插入图片的任何尺寸;这样可以避免图像失真。

于 2013-03-04T04:08:10.827 回答
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)
于 2014-04-30T06:58:37.453 回答