2013-07-12 92 views
0

我面臨與Excel 2007中下VBA圖片在Excel中不顯示2007

我創建了一個文件有1000行(不同的產品/文章編號)出現一個奇怪的問題,並獲取從產品圖片與我的小VBA代碼

ActiveSheet.Pictures.Insert(ActiveCell.Text).Select 
Selection.ShapeRange.Height = 100 

圖片網確實顯示Excel 2010中,甚至可以在其他電腦 但是它們不會出現在Excel ,甚至在其他格式,如97-03

+1

這是2007 SP1中的一個問題。閱讀:http://chandoo.org/wp/2009/07/30/activesheet-pictures-insert-help/ –

回答

1

嘗試將圖片添加到Excel工作表的替代方法。它會如下:

ActiveSheet.Shapes.AddPicture _ 
     Filename:=Activecell.Text, _ 
     linktofile:=msoFalse, _ 
     savewithdocument:=msoCTrue, _ 
     Left:=40, Top:=40, Width:=1600, Height:=1600 

很多次我發現它是更穩定和可靠的方法添加圖片。

編輯正如@Julien Marrec所指出的那樣,使用我提供的代碼,您需要知道形狀的比例,或者您需要將其調整爲下一步。我通常用這段代碼來做:

With ActiveSheet.Shapes(ActiveSheet.Count) 
    .LockAspectRatio = msoTrue 
    .ScaleHeight 1, msoTrue, msoScaleFromTopLeft 
    .Width = 200 
End With 

重要!如果添加大圖片,則需要在添加時添加大圖片(代碼的第一部分爲1600 px)。如果沒有,你將無法在代碼的第二部分得到.ScaleHeight method的結果。

+0

問題是你需要指定所有的維度,當你可能不知道他們 –

+0

你需要指定臨時值和寬度和高度,然後調用ScaleWidth和ScaleHeight將其重置爲原始大小。請參閱其他答案 –

+0

@JulienMarrec,確實如此。但是您提供了建議的解決方法......我也會在一分鐘內將其添加到我的答案中。 –