2016-08-03 2 views
0

私はいくつかのフォーラムを読んだことがありますが、どれも私のために働いていないようです。ロックアスペクト比を無効にするVBA - Excel

私はウェブから画像を引き出し、スプレッドシートに挿入しています。私はこれらの写真のすべてが同じ次元を持つことを望みます。

Dim img_url as string, picture as object 
img_url = Range("A1") 'Some url with an img 

With ActiveSheet.Pictures 
    Set Picture = ActiveSheet.Pictures.Insert(img_url) 
    Picture.LockAspectRatio = msoFalse 
    Picture.Width = 25 
    PictureHeight = 25 
End With 

私はそれを実行するたびに、縦横比を固定する設定がまだチェックされ、画像は私が探しているの正方形フォーマットではありません。次のように

私のコードです。

アドバイスをいただければ幸いです。

おかげ

+0

「PictureHeight」を「Picture.Height」にする必要がありますか?また、「With」ブロックは冗長であるように見える。 – jsheeran

+0

'LockAspectRatio = msoFalse'は' Shape'オブジェクトライブラリのメンバです –

+0

@marldog以下に私の答えを見てください –

答えて

1

は、以下のコードを使用して、LockAspectRatio属性がPicture.ShapeRangeオブジェクトのプロパティではなく、Picture

Option Explicit 

Sub ImageAttributes() 

Dim img_url As String 
Dim picture As Object 

img_url = Range("A1") 'Some url with an img 

With ActiveSheet 
    Set picture = .Pictures.Insert(img_url) 
    With picture 
     With .ShapeRange 
      .LockAspectRatio = msoFalse 
      .Width = 25 
      .Height = 25 
     End With 
    End With 
End With 


End Sub 
+0

多くのありがとうございます。完璧に働いた。 – marldog

+0

@marldogあなたがwelocmeです、答えとしてマークしてください –

関連する問題