2013-03-03 64 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

相關問題