使用VBA在PowerPoint中插入/更新图像?

时间:2013-04-02 14:36:04

标签: image vba powerpoint

我正在制作一个交互式Powerpoint演示文稿,该演示文稿先前已从我的本地服务器(XAMPP)读取文本文件并显示它。我现在想更新它,以便用户可以手写他们的响应,并在幻灯片中显示。我有一个jQuery插件,允许有人使用手写笔,它将“绘图”保存为本地服务器上的图像。

我的问题是,如何使用VBA宏将图像插入PowerPoint?或者由于图像始终具有相同的文件路径,但将被替换为不同的图像,我可以以某种方式“更新”幻灯片上的图像吗?对不起,如果它令人困惑。

这是我试过的VBA:

Sub insert()
    Dim oPic As Shape
    Set oPic = ActivePresentation.Slides(1).Shapes.AddPicture("http://localhost/image.png", False, True, 0, 0, -1, -1)
End Sub

我也可以在计算机上获取图像的路径,而不是服务器。

当我运行宏时,我收到“找不到文件”错误。有谁知道什么是错的?

谢谢!

PS:如果有人感兴趣,该插件名为Signature Pad

2 个答案:

答案 0 :(得分:2)

如果图像位于完全相同的文件夹中,我似乎可以插入图像:

Sub insert()
    Dim oPic As Shape
    Set oPic = ActivePresentation.Slides(1).Shapes.AddPicture("image.png", False, True, 0, 0, -1, -1)
End Sub

这有效,但如果有人知道如何进入另一个文件夹,请告诉我。如果我尝试folder/image.png/folder/image.png作为文件路径,则无效。

答案 1 :(得分:1)

它不需要位于完全相同的文件夹中,但您需要使用Mac风格的路径:

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

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

希望有所帮助。