2017-03-10 75 views
0

我在Windows 10中使用Excel 2016,然後在單元格B17中插入一張圖片,然後想要調整其大小,同時在單元格左上角保留圖片的左上角B17 。一些圖片調整到左下角,而另一些調整到右上角。 我嘗試使用msoScaleFromTopLeft,但我仍然收到相同的圖片縮小到左下角或右上角。Excel VBA msoScaleFromTopLeft不適用於我

這裏是我的宏VBA代碼:

Range("B17").Select 

ActiveSheet.Pictures.Insert(PhotoLocation).Select 'Insert photograph from file. 

Selection.ShapeRange.ScaleWidth 0.2, msoFalse, msoScaleFromTopLeft 

我缺少什麼? 有人可以幫助我這個或建議一種替代方法來做我想要的嗎?

+1

看看下面的鏈接...答案相對於一系列圖像http://stackoverflow.com/questions/22073463/vba-excel-2010-地方嵌入圖片和調整大小 –

+0

@wayne請參閱下面的評論。謝謝你的幫助! – Wenger1988

回答

0

你可以嘗試一些不同的東西,你可以將Set作爲你插入的圖片的對象(不使用SelectSelection)。

之後,您可以使用With myPic以及下面的嵌套屬性修改其屬性。

代碼

Sub SetPics() 

Dim myPic As Picture 
Dim PhotoLocation As String 
Dim Rng As Range 

Set Rng = Range("B17") 

Set myPic = ActiveSheet.Pictures.Insert(PhotoLocation) 
With myPic 
    .ShapeRange.ScaleWidth 0.2, msoFalse, msoScaleFromTopLeft 
    .Top = Rows(Rng.Row).Top 
    .Left = Columns(Rng.Column).Left 
End With 

End Sub 
+0

@ Wenger1988你看過我的回答嗎?讓我知道如果代碼正常工作 –

+0

謝謝你的迴應,但它不起作用。調整到左下角的圖片和調整到右上角的圖片的左上角均位於單元格D15中間,而不是B17的左上角。是否有可能我沒有打開需要的東西? Wayne G. Dunn的迴應也不起作用。 – Wenger1988

+0

我想我發現了這個問題。我遇到的圖片比它們的寬度要高。當我將它們插入到Excel中時,它們顯示正確,但顯示90度或270度的旋轉。 Excel然後似乎確定了基於此的內部左上角。當圖片的左上角位於單元格D15的中間時,如果將旋轉更改爲0或180,則圖片的左上角恰好位於單元格B17的左上角。但是這些照片是橫向的。任何建議將不勝感激。 – Wenger1988

相關問題