Excel VBA Insérer une image ne fonctionne pas - uniquement pour certaines URL

voix
0

J'ai utilisé le code VBA ci-dessous pour insérer des images à partir d'une URL de l'image. Pour une raison quelconque, ce code fonctionne avec des URL d'image, mais pas pour d'autres.

Par exemple, les URL ci-dessous travailleront

http://a.espncdn.com/combiner/i?img=/i/headshots/nfl/players/full/3123076.png&w=350&h=254

https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/David_Njoku_2018.jpg/220px-David_Njoku_2018.jpg

Mais le ci-dessous ne sera pas

http://ecx.images-amazon.com/images/I/41HkOMYqc9L.SL500.jpg

http://ecx.images-amazon.com/images/I/41gWzC%2B5IqL.SL500.jpg

http://ecx.images-amazon.com/images/I/41gWzC%2B5IqL.SL500.jpg

Est-ce que quelqu'un sait s'il y a des limites à la commande « ActiveSheet.Pictures.Insert »?

Ci-dessous le code que je utilise

Sub URLPictureInsert()
    Dim Pshp As Shape
    Dim xRg As Range
    Dim xCol As Long
    On Error Resume Next
    Application.ScreenUpdating = False
    Set Rng = ActiveSheet.Range(A1 :A24)
    For Each cell In Rng
        filenam = cell
        ActiveSheet.Pictures.Insert(filenam).Select
        Set Pshp = Selection.ShapeRange.Item(1)
        If Pshp Is Nothing Then GoTo lab
        xCol = cell.Column + 1
        Set xRg = Cells(cell.Row, xCol)
        With Pshp
            .LockAspectRatio = msoFalse
            .Width = 100
            .Height = 100
            .Top = xRg.Top + (xRg.Height - .Height) / 2
            .Left = xRg.Left + (xRg.Width - .Width) / 2
        End With
lab:
    Set Pshp = Nothing
    Range(A1).Select
    Next
    Application.ScreenUpdating = True
End Sub
Créé 07/11/2018 à 20:07
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more