Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VBA(MacOS)中将Web图片添加到Powerpoint幻灯片_Vba_Ms Office_Powerpoint - Fatal编程技术网

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

在VBA(MacOS)中将Web图片添加到Powerpoint幻灯片,vba,ms-office,powerpoint,Vba,Ms Office,Powerpoint,我可以轻松地使用VBA在Excel电子表格中遍历内容列表,并在单独的Powerpoint文件中创建幻灯片。那一点管用 但是,我似乎无法将图片添加到Powerpoint演示文稿中。我试过: 与图像的URL一起使用。一些人提到这应该有效;很明显,它在一些Office版本中出现(参见) 使用Shapes.AddPicture和文件路径。这应该可以,但是: Dim pic Set pic=activeSlide.Shapes.AddPicture(“/Users/Pedro/My_Picture.p

我可以轻松地使用VBA在Excel电子表格中遍历内容列表,并在单独的Powerpoint文件中创建幻灯片。那一点管用

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

  • 与图像的URL一起使用。一些人提到这应该有效;很明显,它在一些Office版本中出现(参见)
  • 使用Shapes.AddPicture和文件路径。这应该可以,但是:
Dim pic

Set pic=activeSlide.Shapes.AddPicture(“/Users/Pedro/My_Picture.png”,False、True、10、10)

…失败,出现运行时错误5(过程调用或参数无效)。 请注意,我使用的是Mac OS X,Office 2011

我还尝试通过UserPicture()设置对象的填充,但没有效果


在此提前感谢您的帮助

这在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以“自然”大小显示图片。。。也就是说,如果您手动插入图像,它通常会插入任意大小的图像;这样可以避免图像失真。

问题在于您使用的路径样式。以下工作将起作用:

#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)

我向我的一位朋友提到了这一点,他告诉我MS禁用了这一功能是因为存在安全风险。溅射。吐痰。谢谢你的回答!但是我想直接从网络上添加图片,这应该是可行的。我以后可能会使用您的解决方案尝试临时下载+插入。干杯我的荣幸。正如Steve提到的,我认为直接下载在Mac上不起作用。正如您提到的,我使用临时下载(通过Macscript/do shell script/curl)和此代码将web上的图像插入PowerPoint。它实际上工作得很好。如果你想让我分享代码,请告诉我,我很乐意为你挖掘。