Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL Preservare immagine

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

EXCEL Preservare immagine

Postdi Francesco53 » 02/03/13 10:08

Buongiorno a tutto il Forum,
sono qui per una particolare richiesta, in un foglio Excel ho posizionato una immagine,
la mia richiesta è la seguente:
preservare l'immagine in modo tale che se qualche utente la volesse sostituire o cambiare,
automaticamente tramite Workbook_Open() se non è presente o è stata sostituita, chiuda
il file. Ringrazio chi può darmi le giuste indicazioni ed auguro un buon fine settimana a tutti.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: EXCEL Preservare immagine

Postdi Flash30005 » 02/03/13 14:34

Dubito che si possa fare...
a meno che non alleghi, insieme al file, l'immagine; in questo caso l'utente potrebbe rinominare una sua immagine dando lo stesso nome della tua ma la macro (non so se sarà possibile realizzarla) vada a controllare gli Exif (codici propri di un'immagine .jpg), in questo caso saranno sicuramente diversi e si innescherebbe la chiusura del file excel.
E' solo un'idea tutta da testare

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL Preservare immagine

Postdi Francesco53 » 02/03/13 23:21

Grazie Flash,
mi rendo conto che non è facile, ma speravo che dando l'input ai neutroni, si potesse tentare qualcosa.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: EXCEL Preservare immagine

Postdi Anthony47 » 03/03/13 01:44

Immagino che tu voglia proteggere uno sviluppo che abbia un valore commerciale.
Qualcosa in excel si puo' fare, ma chiunque abbia una conoscenza pari o superiore a chi mette il grimaldello lo puo' rimuovere, senza dimenticare che Excel consente di aprire un file disabilitandone le sue macro. Insomma una cosa e' proteggere il lavoro da un distratto o un curioso, altra cosa e' proteggerlo da un malintenzionato anche di modesta levatura...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13885
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL Preservare immagine

Postdi Francesco53 » 03/03/13 09:43

Ciao Anthony, il lavoro non è un lavoro commerciale, è solo che gradirei che le persone
a cui invio il file, rispettino il lavoro fatto.
Sicuramente chi ha le capacità supera facilmente l'ostacolo, e questo è comprensibile.
Grazie
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Re: EXCEL Preservare immagine

Postdi maxmula » 04/03/13 11:39

E' da un po' che non frequento queste contrade: :) vediamo se riesco a darti un'idea...

In passato mi sono trovato a dover addottare un accorgimento simile; Più o meno avevo fatto così:

Preparazione:
- Avvia la registrazione di una macro ed importa nel tuo foglio l'immagine desiderata;
- Clicca una cella vuota del foglio, quindi seleziona di nuovo l'immagine e ferma il Registratore di Macro.
- Entra nell'Editor di Visual Basic e vai a vedere il codice della macro appena registrata. Dovresti trovare qualcosa del genere:

Codice: Seleziona tutto
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 04/03/2013 by Utente
'
'
    ActiveSheet.Pictures.Insert("G:\Grafica\Intervallo\sheep2.jpg").Select
    Selection.ShapeRange.IncrementLeft 144.75
    Selection.ShapeRange.IncrementTop 13.5
    Selection.ShapeRange.ScaleWidth 2.33, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 2.33, msoFalse, msoScaleFromTopLeft
    Range("J15").Select      ' Questo è il click sulla cella vuota
    ActiveSheet.Shapes("Picture 1").Select    'Quato è il nuovo click sull'immagine
End Sub


In realtà la macro non c'interessa, quello che vogliamo sapere è come si chiama l'oggetto cui è associata l'immagine.
Ce lo dice l'ultima riga del codice: per Excel, la nostra immagine si chiama Picture1 o, più precisamente, ActiveSheet.Shapes("Picture 1").

Ora la possiamo "manomettere"
Da modalità Immediata (scorciatoia: CTRL-G), dài il seguente comando:

Codice: Seleziona tutto
ActiveSheet.Shapes("Picture 1").Name = "MyLogo"


Dopodiché, occorre aggiungere questo codice:

Codice: Seleziona tutto
Sub CheckPic()
    Dim Flag_OK As Boolean
    Flag_OK = False
    For Each img In ActiveSheet.Shapes
        If img.Name = "MyLogo" Then
            Flag_OK = True
            Exit For
        End If
    Next
   
    If Not Flag_OK Then
        a = MsgBox("Il foglio è stato manomesso!",VBOkOnly+VBCritical)
        ActiveWorkBook.Close
    End If
End Sub



Come Funziona:
Questa Sub, in pratica, va a controllare TUTTE le immagini presenti nel foglio. Se ne trova una il cui nome è uguale a quello che hai dato tu, l'esecuzione continua, altrimenti l'apertura viene abortita.

Se qualcuno, per qualsiasi ragione, rimuove l'immagine e la rimpiazza con un'altra, introdurrà nel foglio un altro oggetto Picture, con un nome assegnato automaticamente e diverso da quello "autentico".


Però, come giustamente dicevano anche Anthony47 e Flash (questo sistema è più o meno l'oimplementazione di quanto suggeriva, codici Exif a parte) la protezione dei documenti Excel lascia un po' il tempo che trova... Come si diceva, se vuoi impedire la manomissione "accidentale" va più che bene, se invece si tratta anche solo di un "utonto" con un minimo di capacità di programmazione, non ci vuole molto a coprire quale codice viene eseguito.
Tra parentesi, fino alla versione 2003 (dopo, non so), Excel dava modo di aprire i documenti non solo senza le macro abilitate, ma anche bypassando la password messa a protezione del progetto (occorreva però un particolare programma, per fare questo), per cui i vari sistemi di "sicurezza" erano, di fatto, poco più che un pro-forma...

Spero di esserti statio utile!

Ciao,
MAx
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34

Re: EXCEL Preservare immagine

Postdi Francesco53 » 04/03/13 15:40

Grazie Max,
è quello che cercavo, consapevole che non impedirà ai più smaliziati di modificare la cosa,
ma almeno ad una piccola parte si.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL Preservare immagine":


Chi c’è in linea

Visitano il forum: tex willer e 11 ospiti