Condividi:        

ridimensionare immagini

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

ridimensionare immagini

Postdi ahidai » 21/04/15 13:53

Un saluto a tutti, ho trovato questa macro di Antony che fa proprio al caso mio ed è perfetta. Avrei però bisogno di avere le immagini della stessa altezza e grandezza e di poter inserire qualsiasi tipo di immagine (jpg, png ecc.) e non solo in jpg , non so se è possibile in considerazione che non tutte hanno gli stessi pixel.
Codice: Seleziona tutto
Sub Worksheet_Change(ByVal Target As Range)
    Dim mPath As String, mFoto As String, myArea As String, Cella As Range
'
myArea = "A2:A4"      '<< Le celle dove potrai scrivere nomi immagini
'
If Application.Intersect(Range(myArea), Target) Is Nothing Then Exit Sub
'
For Each Cella In Target
    On Error Resume Next
        ActiveSheet.Shapes("FOTO_DA_" & Cella.Address(0, 0)).Delete
    On Error GoTo 0
    If Cella.Value <> "" Then
            mPath = "C:\D\TEMP" ' <<===== QUI scrivi il percorso ove hai le tue foto
            mFoto = Cella.Value
            If Dir(mPath & "\" & mFoto & ".jpg") <> "" Then ' Si controlla se la foto esiste
                Application.ScreenUpdating = False
                With ActiveSheet.Pictures.Insert(mPath & "\" & mFoto & ".jpg")
                    .Top = Cella.Offset(0, 1).Top + 5
                    .Left = Cella.Offset(0, 1).Left + 5
                    .Height = Cella.Offset(0, 1).Height - 10
                    .Width = Cella.Offset(0, 1).Width - 10
                    .Name = "FOTO_DA_" & Cella.Address(0, 0)
                End With
                Application.ScreenUpdating = True
            Else
                MsgBox ("Immagine non trovata: " & Cella.Value) ' <<====== QUI scrivi il messaggio che vuoi sia inviato
            End If
    End If
Next Cella
End Sub


Saluti e buona giornata e buon lavoro.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Sponsor
 

Re: ridimensionare immagini

Postdi Anthony47 » 21/04/15 19:54

Avrei però bisogno [...] di poter inserire qualsiasi tipo di immagine (jpg, png ecc.)
In questo caso direi che la cosa migliore e' scrivere nella cella sia il nome che l'estensione file e poi modificare la macro sapendo che lavariabile mFoto contiene gia' Nome+Estensione, cioe' eliminare in due posizioni & ".jpg"
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ridimensionare immagini

Postdi ahidai » 22/04/15 13:42

Anthony47 ha scritto:
Avrei però bisogno [...] di poter inserire qualsiasi tipo di immagine (jpg, png ecc.)
In questo caso direi che la cosa migliore e' scrivere nella cella sia il nome che l'estensione file e poi modificare la macro sapendo che lavariabile mFoto contiene gia' Nome+Estensione, cioe' eliminare in due posizioni & ".jpg"
Ciao


Grazie per la risposta Anthony, risolto il problema. Invece per quanto riguarda di avere le immagini della stessa altezza e grandezza c'è qualche soluzione?
Saluti.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: ridimensionare immagini

Postdi Anthony47 » 23/04/15 00:48

.Height = Cella.Offset(0, 1).Height - 10
.Width = Cella.Offset(0, 1).Width - 10

Queste istruzioni servono per ridimensionare l' immagine appena inserita sull' altezza /larghezza della cella adiacente a quella che contiene il nome.
In genere io suggerisco di regolare solo la Height (prima istruzione) e di eliminare la regolazione della Width (rischia di modificare la Height, oppure di distorcere il rapporto H /W).

A te che cosa succede?
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ridimensionare immagini

Postdi ahidai » 23/04/15 18:55

Anthony47 ha scritto:
.Height = Cella.Offset(0, 1).Height - 10
.Width = Cella.Offset(0, 1).Width - 10

Queste istruzioni servono per ridimensionare l' immagine appena inserita sull' altezza /larghezza della cella adiacente a quella che contiene il nome.
In genere io suggerisco di regolare solo la Height (prima istruzione) e di eliminare la regolazione della Width (rischia di modificare la Height, oppure di distorcere il rapporto H /W).

A te che cosa succede?


Grazie Anthony per la risposta. Penso di aver capito qualcosa, l'altezza/larghezza dell'immagine è subordinata dalle dimensioni della cella adiacente al nome, giusto? Quindi ho provato a ridurre la cella e si è ridotta l'immagine! una cosa non ho capito per quanto riguarda la regolazione della sola Height -10, si deve aumentare o diminuire.
Saluti.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33

Re: ridimensionare immagini

Postdi Anthony47 » 26/04/15 18:58

In genere il problema e' l' altezza delle immagini (non devono invadere la riga sopra o sotto, dove probabilmente ci sono altre imagini; se invadono la colonna adiacente in genere non c' e' problema); se questo e' anche il tuo caso, allora devi solo eliminare la riga .Width = Cella.Offset(0, 1).Width - 10

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ridimensionare immagini

Postdi ahidai » 06/05/15 12:07

Grazie Anthony e scusa se ho risposto solo adesso, stavo all'estero per lavoro. Si in effetti eliminando la riga il problema è stato risolto.
Grazie ancora per la tua disponibilità.
ahidai
Utente Senior
 
Post: 212
Iscritto il: 08/12/10 17:33


Torna a Applicazioni Office Windows


Topic correlati a "ridimensionare immagini":


Chi c’è in linea

Visitano il forum: Nessuno e 51 ospiti