Immagine da link



  • Immagine da link
    di Draf (utente non iscritto) data: 29/08/2013 23:31:38

    Ciao, allora io ho questo script VBA, che permette, tramite il link inserito in A1,di andare a recuperare un immagine e metterla sul file.

    Ora pero' vorrei scegliere in quale casella voglio che quella immagine venga inserita, e vorrei che quella immagine avesse le dimensioni della cella in questione....è possibile?
     
    Sub InsImg()
        Dim URL As Range
        For Each URL In Range("A1", Cells(Rows.Count, "A").End(xlUp))
            With URL.Parent.Pictures.Insert(URL.Value)
                .Left = URL.Offset(0, 1).Left
                .Top = URL.Offset(0, 1).Top
                URL.EntireRow.RowHeight = .Height
            End With
        Next
    End Sub
    



  • di HarryBosch data: 30/08/2013 10:01:47

    Certo, devi assegnare all'immagine le proprietà .Width e .Height della cella in questione; attenzione alle proporzioni :)


     
    Sub InsImg()
        Dim URL As Range
    
        For Each URL In Range("A1", Cells(Rows.Count, "A").End(xlUp))
            With URL.Parent.Pictures.Insert(URL.Value)
                .Left = URL.Offset(0, 1).Left
                .Top = URL.Offset(0, 1).Top
                
                'impedisco il ridimensionamento
                .ShapeRange.LockAspectRatio = msoFalse
                'larghezza come da cella adiacente
                .Width = URL.Offset(, 1).Width
                'altezza come da cella adiacente
                .Height = URL.Offset(, 1).Height
            End With
        Next
    End Sub
    
    'per cancellare tutte le immagini del foglio
    Sub cancella_immagini()
        Dim imm As Object
        For Each imm In ActiveSheet.Shapes
            imm.Delete
        Next
    End Sub



  • di Draf (utente non iscritto) data: 30/08/2013 13:18:27

    È possibile avere in modo che scelgo io in quale casella inserire l'immagine? E non quella adiacente?



  • di HarryBosch data: 31/08/2013 14:39:10

    Puoi scegliere di inserire le immagini dove vuoi, si tratta solo di capire dove.
    Nel tuo esempio la lista delle immagini si trova lungo la colonna A
    For Each URL In Range("A1" .....
    e vengono messe nella colonna B in quanto ti sposti di 1 colonna a destra dal range di partenza:
    URL.Offset(0, 1)

    L'istruzione Offset ti indica lo spostamento dal range di partenza indicando tra parentesi (righe, colonne); il segno positivo indica rispettivamente lo spostamento (in basso, a destra) e il segno negativo indica (in alto, a sinistra).

    Dove vuoi posizionare queste immagini? Così vediamo un esempio pratico...



  • di Draf (utente non iscritto) data: 01/09/2013 23:28:52

    Apposto, grazie mille ragazzi :)