2016-09-15 273 views
1

我想用下面得到一些圖片轉換成Excel表:添加圖片無法顯示鏈接的圖像。 Excel的VBA

Sub Addpicture() 
    Dim strPath 
    Dim p As Object 
    strPath = <String containing path here> 
    Set p = ActiveSheet.Shapes.Addpicture(strPath, msoCTrue, msoTrue, 1000, 10, 86, 129) 
    ActiveSheet.Pictures.Insert (strPath) 
End Sub 

兩個Pictures.Insert和Shapes.Addpicture只要給我在正確的地方含有「一個矩形的鏈接圖像無法顯示文件可能已被移動,重命名或刪除驗證鏈接指向正確的文件和位置「

我很確定我的文件路徑是正確的。有沒有人對這個問題有所瞭解?

+0

如果[本文使用不同的方法添加圖片](http://stackoverflow.com/questions/12936646/how-to-insert-a-picture-into-excel-at-a-specified-cell- position-with-vba)不起作用,並且您確定文件名與圖片屬性窗口下的位置:圖片名稱匹配,接下來要問的是,這是一個權限問題嗎? – Tyeler

+0

權限可能對我來說是一件好事。我會盡力而爲。謝謝。 – Joe

+0

鏈接的帖子給了我一個「Object required」的錯誤,不知道這是什麼意思。 – Joe

回答

0

該代碼適用於我,並插入圖片兩次。第一次失真(來自Shapes.Addpicture),第二次以原始大小變形。

以下是帶有效路徑的代碼示例。

Sub Addpicture() 
    Dim strPath 
    Dim p As Object 
    strPath = "D:\folder\subfolder\image.jpg" 
    Set p = ActiveSheet.Shapes.Addpicture(strPath, msoCTrue, msoTrue, 1000, 10, 86, 129) 
    ActiveSheet.Pictures.Insert (strPath) 
End Sub 

您可能需要再次檢查您的路徑並確認您可以訪問該文件。

+0

@Joe哦,爲了增加這一點,你可能還想確保你的文件路徑是用引號括起來的,而不是<>。不知道<>是否只是一個佔位符。 – Tyeler

+0

乾杯泰勒,它是有幫助的,知道它是爲你工作。 <>只是佔位符,我在實際代碼中使用了引號。我使用Mac,所以有一個稍微不同的路徑結構。這可能是問題的一部分嗎? – Joe

+0

你的道路在原理上是什麼樣的?用「文件夾」或「子文件夾」等替換真實的文件夾名稱 – teylyn