Come impedire che la cartella di lavoro di Excel venga spostata o copiata

Condividi ora:

Il furto di dati può essere ridotto al minimo disabilitando vari menu e funzioni del tasto destro in Excel. Discutiamo di seguito come farlo usando VBA.

Si presuppone che il lettore disponga della barra multifunzione di Excel Developer e abbia familiarità con l'editor VBA.

L'interfaccia utente

Costruisci un foglio di lavoro con due pulsanti e pochi dati.  Costruisci un foglio di lavoro con due pulsanti e pochi dati

Questo foglio avrà il suo nastro visualizzato e tutte le funzionalità del tasto destro offerte da Excel.

Il foglio è disponibile Qui..

Il codice VBA

Ci sono una varietà di controlli della barra dei comandi che possono essere disabilitati. Dovrai cercare su Google i numeri ID di questi controlli. Useremo gli ID 19 e 21 per questo esercizio.

Sub Auto_Open()    ‘Auto_open runs automatically when the workbook is opened
    Dim Control As Office.CommandBarControl

    Application.CommandBars("ply").Enabled = False     'disables right-Click on sheet tab

    For Each Control In Application.CommandBars.FindControls(ID:=21)    'disables CUT
        Control.Enabled = False
    Next Control

    For Each Control In Application.CommandBars.FindControls(ID:=19)     'disables COPY
        Control.Enabled = False
    Next Control
    Application.CellDragAndDrop = False
 
    Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"", False)"     'Hides ribbon
End Sub

Sub Restore()
    Application.CommandBars("ply").Enabled = True     'enables right-click on sheet tab

    Dim Control As Office.CommandBarControl

    For Each Control In Application.CommandBars.FindControls(ID:=21)     'enables CUT
        Control.Enabled = True
    Next Control

    For Each Control In Application.CommandBars.FindControls(ID:=19)     'enables COPY
        Control.Enabled = True
    Next Control
    Application.CellDragAndDrop = True

    Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"", True)"     'shows ribbon
End Sub

Sub Auto_close()    
    Call Restore    ‘Ensure other workbooks work properly
End Sub

Assegnare il pulsante Ripristina al sub Ripristino e il pulsante Disabilita al sub Auto_open.

Eseguire il codice Auto_open; noterai che Taglia e Copia sono disabilitati nel menu di scelta rapida e che il nastro è scomparso. Inoltre, non sarai in grado di spostare il foglio in un'altra cartella di lavoro dalla scheda del foglio.Assegna il pulsante Disabilita a Sub Auto_open

Ci saranno sempre modi per aggirare queste precauzioni, ma l'obiettivo è rendere le cose difficili a tutti tranne che all'hacker serio; proteggere il foglio di calcolo è un ulteriore deterrente, oltre a garantire che non possa essere copiato direttamente da una sottocartella.

Infine, proteggi il tuo codice dalla visualizzazione o modifica:  Strumenti>Proprietà>Protezione.

Corruzione del file Excel

“Ho deduplicato il file; ora sto riscontrando errori di Excel senza motivo riconoscibile. Tuttavia, mi aspetto ancora di finire oggi”.

Il fatto che questo abbia o meno un lieto fine potrebbe dipendere dal fatto che l'utente disponga o meno di uno strumento efficace con cui farlo riparare Excel. Nel caso in questione, il foglio di calcolo aveva più di 90,000 righe.

Introduzione dell'autore:

Felix Hooker è un esperto di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui riparazione rar e prodotti software di recupero SQL. Per maggiori informazioni visita www.datanumen.com

Condividi ora:

I commenti sono chiusi.