';
pc-facile
Valutazione 4.87/ 5 (100.00%) 5838 voti




Login
Iscriviti
Cerca
Topic senza risposta
Topic attivi
Indice
Assistenza Software
Applicazioni Office Windows

Integrare Immagine in Excel (non "collegarla")

Rispondi al post

Pagina 1 di 1


Integrare Immagine in Excel (non "collegarla")
dipdip @ 11/01/18 18:51

Buongiorno e buon anno a tutti!

Ho creato un file fattura dove chi lo compila deve inserire timbro e firma, opportunamente scansionati come file JPG e disponibili in locale o su un server. La macro che utilizzo e che è abbinata ad un pulsante apposito è la seguente:

Codice: Seleziona tutto
    ActiveSheet.Pictures.Insert("C:\Users\utente\Documents\Modelli\FirmaMP.jpg").Select
    Selection.ShapeRange.PictureFormat.TransparentBackground = msoTrue
    Selection.ShapeRange.PictureFormat.TransparencyColor = RGB(255, 255, 255)


Premetto che la macro non dà problemi, l'unico neo è che inserisce un link all'immagine e non l'immagine stessa. Per intenderci, se chiudo il file fattura e quindi rinomino il file immagine, alla prossima riapertura della fattura ottengo l'errore "Impossibile visualizzare l'immagine collegata... bla bla bla."

Qualcuno sa aiutarmi a caricare l'immagine effettiva e non il semplice collegamento?

Grazie mille!

dipdip

Re: Rimuovere link a immagine in file Excel
Zer0Kelvin @ 11/01/18 19:26

dipdip ha scritto:Premetto che la macro non dà problemi, l'unico neo è che inserisce un link all'immagine e non l'immagine stessa. Per intenderci, se chiudo il file fattura e quindi rinomino il file immagine, alla prossima riapertura della fattura ottengo l'errore "Impossibile visualizzare l'immagine collegata... bla bla bla."
Ciao.
Non mi sembra un comportamento normale.
L'immagine dovrebbe venire inserita nel foglio ed essere disponibile alla riapertura del file.
Se invece è la macro che non trova più l'immagine da inserire, è un altro paio di maniche.

Re: Rimuovere link a immagine in file Excel
Anthony47 @ 11/01/18 23:49

Da XL2010 il metodo "Insert" inserisce un collegamento all'immagine.
Usa invece il metodo "AddPicture" che consente sia di linkare o di integrare l'immagine.
Tipo
Codice: Seleziona tutto
Set CPic = ActiveSheet.Shapes.AddPicture("C:\Users\utente\Documents\Modelli\FirmaMP.jpg", FALSE, TRUE, PosizLeft, PositTop, True, True)


I parametri FALSE e TRUE indicano "integra l'immagine e salvala col file", seguono la posizione (PosizLeft, PositTop) e le dimensioni (Largh, Alt; True, True invece significano "dimensione originale")

Vedi come adattarla al tuo caso.

Ciao

Re: Rimuovere link a immagine in file Excel
Zer0Kelvin @ 12/01/18 00:25

Da XL2010 il metodo "Insert" inserisce un collegamento all'immagine.
Usa invece il metodo "AddPicture" che consente sia di linkare o di integrare l'immagine.

Sembra che Excel si comporti stranamente al riguardo.
Se inserisco nel foglio un'immagine con Inserisci->Immagine, chiudo e salvo il file, cancello l'immagine e riapro il file, l'immagine è sempre lì.
Se invece registro la macro durante l'inserimento, cancello l'immagine dal foglio e poi reinserisco l'immagine tramite macro, l'immagine scompare.
:?: :?: :?:

Re: Integrare Immagine in Excel (non "collegarla")
Anthony47 @ 12/01/18 01:34

Questo dimostra che il comando Inserisci /Immagine non e' la stessa cosa dell' istruzione vba Pictures.Insert

Semmai ci si potrebbe lamentare per il fatto che il registratore, a fronte del comando, generi la sequenza Pictures.Insert; ma ci sono anche sequenze che registrano codice che va in debug. Io comunque preferisco pensare alle migliaia di volte che il registratore ci semplifica la vita e ci mostra la strada...

Ne approfitto per correggermi: questo e' il comportamento da XL2007 in avanti (non XL2010)

Ciao!

Re: Integrare Immagine in Excel (non "collegarla")
Zer0Kelvin @ 12/01/18 15:37

Non me ne stavo lamentando, sono solo stato tratto in inganno.
Oramai sono comunque abituato alle stranezze (vere o apparenti) di Excel.
Riguardo al Registratore di macro, è grazie ad esso che ho cominciato ad imparicchiare qualcosa di Excel.
Ancora adesso mi capita di usarlo per vedere come Excel esegue determinate operazioni che non mi era mai capitato di dover fare.
;)

Re: Integrare Immagine in Excel (non "collegarla")
dipdip @ 15/01/18 11:29

Ciao, grazie a tutti.

Anthony, il tuo codice funziona ma non riesco a risolvere un paio di cose:
1) la posizione della firma varia da documento a documento, non è sempre fissa. Praticamente la mia necessità è puntare una cella e quindi lanciare la macro allineando l'immagine a quella stessa cella;
2) non riesco ad applicare la proprietà di trasparenza, immagino perché l'immagine non rimane selezionata. Ho provato ad aggiungere un .Select alla fine della tua istruzione ma va in debug.

Ho smanettato in rete ma non ho trovato soluzioni...

Dimenticavo: utilizzo Excel 2013.

Grazie.

dipdip

Re: Integrare Immagine in Excel (non "collegarla")
Anthony47 @ 15/01/18 17:50

Avevo dimenticato di dirtelo, con Set CPic = Etc etc associ CPic all'immagine che viene caricata; puoi usare CPic come usavi Selection.ShapeRange.
Quanto alla posizione, devi solo dare un valore alle due variabili PosizLeft e PositTop.
Quindi, ad esempio:
Codice: Seleziona tutto
PosizLeft = Range("P5").Left        'Posiz sinistra
PositTop = Range("P5").Top          'Posiz top
Set CPic = ActiveSheet.Shapes.AddPicture("C:\Users\utente\Documents\Modelli\FirmaMP.jpg", FALSE, TRUE, PosizLeft, PositTop, True, True)

CPic.PictureFormat.TransparentBackground = msoTrue
CPic.PictureFormat.TransparencyColor = RGB(255, 255, 255)

CPic.LockAspectRatio = msoTrue      'Non distorcere
CPic.Width = Range("P5").Width      'Larghezza

Cosi' posizioniamo l'immagine in P5 e poi ne impostiamo la larghezza pari alla larghezza della cella, oltre a impostare il bianco come trasparente.
Altre impostazioni a piacere possono essere applicate con la stessa tecnica

Ciao

Re: Integrare Immagine in Excel (non "collegarla")
dipdip @ 23/01/18 17:13

Grazie Anthony, ho letto solo ora il messaggio perché non mi arrivano più le notifiche mail di nuovi post ... mistero.

Nei prossimi gg la provo e ti faccio sapere.

Buona serata!

dipdip

Re: Integrare Immagine in Excel (non "collegarla")
dipdip @ 27/01/18 01:11

Perfetto come sempre Anthony, funziona egregiamente.

Grazie mille, ciao!

dipdip


Rispondi al post

Pagina 1 di 1

Torna a Applicazioni Office Windows


Glossario | Blog | Cerca
© 2000-2018 pc-facile.com