2016-08-03 19 views
0

Ich habe ein paar Foren gelesen, aber keiner von ihnen scheint für mich arbeiten.Deaktivieren der Sperre Aspect Ratio VBA - Excel

Ich ziehe Bilder aus dem Internet und füge sie in meine Tabelle ein. Ich möchte, dass alle diese Bilder die gleiche Dimension haben.

Mein Code ist wie folgt:

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 

Jedes Mal, wenn ich es ausführen, wird das Seitenverhältnis sperren Einstellung noch geprüft, und das Bild ist nicht im quadratischen Format, die ich suche.

Jeder Rat würde sehr geschätzt werden.

Dank

+0

Sollte 'PictureHeight'' Picture.Height' sein? Außerdem scheint der 'With'-Block redundant zu sein. – jsheeran

+0

die 'LockAspectRatio = msoFalse' ist ein Mitglied der' Shape' Objektbibliothek –

+0

@MARLDOG siehe meine Antwort unter –

Antwort

1

Verwenden Sie den Code unten, das LockAspectRatio Attribut ist eine Eigenschaft des Objekts Picture.ShapeRange und nicht die 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

Vielen Dank. Arbeitete perfekt. – marldog

+0

@ marldog du bist welocme, bitte als antwort markieren –