Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[EXCEL 2010] Impedire la copia del file

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 2010] Impedire la copia del file

Postdi markvis92 » 29/10/15 18:08

Salve a tutti, mi chiedevo se fosse possibile, impedire che un file excel venga copiato. Mi spiego meglio con un esempio: io vorrei trasferire il mio file su un altro computer (tramite usb, tramite mail, ecc...) ma impedire che quello stesso file venga a sua volta copiato. Grazie mille per il vostro aiuto.
markvis92
Newbie
 
Post: 7
Iscritto il: 21/09/14 17:02

Sponsor
 

Re: [EXCEL 2010] Impedire la copia del file

Postdi Marius44 » 29/10/15 19:03

Queste macro, usate insieme, inibiscono qualsiasi azione di Taglia/Copia/Incolla

Codice: Seleziona tutto
Private Sub Workbook_Open()
With Application
.CellDragAndDrop = False
.ExtendList = False
End With
Application.CommandBars("Cell").Enabled = False
Application.OnKey "^x", ""
Application.OnKey "^c", ""
Application.OnKey "^v", ""
For Each Ctrl In Application.CommandBars.FindControls(ID:=19)
Ctrl.Enabled = False
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=21)
Ctrl.Enabled = False
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=22)
Ctrl.Enabled = False
Next Ctrl
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.CellDragAndDrop = True
.ExtendList = True
End With
Application.CommandBars("Cell").Enabled = True
Application.OnKey "^x"
Application.OnKey "^c"
Application.OnKey "^v"
Dim Ctrl As Office.CommandBarControl
For Each Ctrl In Application.CommandBars.FindControls(ID:=19)
Ctrl.Enabled = True
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=21)
Ctrl.Enabled = True
Next Ctrl
For Each Ctrl In Application.CommandBars.FindControls(ID:=22)
Ctrl.Enabled = True
Next Ctrl
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CutCopyMode = False
End Sub


Se era questo che volevi, accontentato
Ciao,
Mario
Marius44
Utente Senior
 
Post: 142
Iscritto il: 07/09/15 22:00

Re: [EXCEL 2010] Impedire la copia del file

Postdi markvis92 » 29/10/15 19:41

Ho provato ad inserire queste macro ma non succede nulla. Ho provato a spostare il file su più computer e andava tranquillamente, forse ho sbagliato qualcosa io. C'è da dire però che nel mio file esiste già una macro Private Sub Workbook_Open(). Dato che sono molto ignorante in materia potresti spiegarmi nel dettaglio come utilizzare le tue macro?
Comunque spero che la mia domanda sia chiara: quello che intendo fare è inizialmente permettere al mio file di andare a finire su un altro computer, da quel momento in poi può restare solo lì e non può essere più trasferito.
markvis92
Newbie
 
Post: 7
Iscritto il: 21/09/14 17:02

Re: [EXCEL 2010] Impedire la copia del file

Postdi alfrimpa » 29/10/15 19:50

Scusate l'intromissione ma se si copia il file direttamente da Windows.......?
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [EXCEL 2010] Impedire la copia del file

Postdi Marius44 » 29/10/15 20:05

Come ti ho detto le tre macro vanno usate insieme (una inibisce il copia/incolla, l'altra lo ripristina alla chiusura dl file, la terza evita lo sfarfallio del riquadro della cella che si tenta di copiare) e servono SOLO a non consentire il copia/incolla.
Ma, come dice Alfredo (che saluto), non c'è nulla che possa impedire la copia di un file Excel, anche se protetto da password.

Ciao,
Mario
Marius44
Utente Senior
 
Post: 142
Iscritto il: 07/09/15 22:00

Re: [EXCEL 2010] Impedire la copia del file

Postdi markvis92 » 29/10/15 20:05

Grazie mille per l'informazione :)
markvis92
Newbie
 
Post: 7
Iscritto il: 21/09/14 17:02

Re: [EXCEL 2010] Impedire la copia del file

Postdi alfrimpa » 29/10/15 20:31

Mario non so se l'ipotesi che sto per fare è valida o campata in aria.

Esiste una funzione delle API di Windows (utilizzabili in VBA) che consente la rilevazione del "nome" del computer.

Ora io non so se tale "nome" sia univoco e immodificabile.

Qualora lo fosse si potrebbe confrontare il "nome" del pc autorizzato (incluso nel codice) con quello del pc su cui si tenta di aprire il file; se c'è identità tra i due "nomi" il file si apre altrimenti no.

Mi era sembrato di capire che questo fosse l'obiettivo di markvis92 che saluto ed a cui chiedo cosa ne pensa di questa mia ipotesi.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [EXCEL 2010] Impedire la copia del file

Postdi Marius44 » 29/10/15 22:13

Alfredo, le API le ho sempre prese con le pinze, anzi doppie pinze.
Pur non di meno, la tua riflessione sarebbe valida se il file dovesse restare SEMPRE nello stesso computer ma l'Utente lo vuol dare ad un terzo che, però, non devo poterlo girare ad altri. Si, è vero si potrebbe autorizzare di volta in volta il PC ma ....

Ciao,
Mario
Marius44
Utente Senior
 
Post: 142
Iscritto il: 07/09/15 22:00

Re: [EXCEL 2010] Impedire la copia del file

Postdi alfrimpa » 29/10/15 22:19

Ovviamente prima di dare il file per un altro computer si dovrebbe prima recuperare il "nome" di quest'ultimo per poi poterlo includere nel codice.

Ma forse mi sto facendo troppe elucubrazioni mentali.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 840
Iscritto il: 30/12/13 17:01
Località: Napoli


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL 2010] Impedire la copia del file":


Chi c’è in linea

Visitano il forum: raimea e 10 ospiti