So verhindern Sie, dass Ihre Excel-Arbeitsmappe verschoben oder kopiert wird

Jetzt teilen:

Datendiebstahl kann minimiert werden, indem verschiedene Menü- und Rechtsklickfunktionen in Excel deaktiviert werden. Im Folgenden wird erläutert, wie dies mit VBA durchgeführt wird.

Es wird davon ausgegangen, dass dem Leser das Excel Developer-Menüband angezeigt wird und er mit dem VBA-Editor vertraut ist.

Die Benutzeroberfläche

Erstellen Sie ein Arbeitsblatt mit zwei Schaltflächen und ein paar Daten.  Erstellen Sie ein Arbeitsblatt mit zwei Schaltflächen und ein paar Daten

Auf diesem Blatt wird das Menüband und alle Funktionen von right_click angezeigt, die Excel bietet.

Das Blatt ist verfügbar werden auf dieser Seite erläutert.

Der VBA-Code

Es gibt verschiedene Befehlsleistensteuerelemente, die deaktiviert werden können. Sie müssen Google nach ID-Nummern dieser Steuerelemente durchsuchen. Wir werden die IDs 19 und 21 für diese Übung verwenden.

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

Weisen Sie die Schaltfläche "Wiederherstellen" dem Unter "Wiederherstellen" und die Schaltfläche "Deaktivieren" dem Unter "Auto_open" zu.

Führen Sie den Auto_open-Code aus. Sie werden feststellen, dass Ausschneiden und Kopieren im Kontextmenü deaktiviert sind und das Menüband verschwunden ist. Sie können das Blatt auch nicht von der Registerkarte "Blatt" in eine andere Arbeitsmappe verschieben.Weisen Sie die Schaltfläche Deaktivieren Sub Auto_open zu

Es wird immer Wege geben, um diese Vorsichtsmaßnahmen zu umgehen, aber das Ziel ist es, es allen außer dem ernsthaften Hacker schwer zu machen; Der Schutz der Tabelle ist eine weitere Abschreckung und stellt sicher, dass sie nicht direkt aus einem Unterordner kopiert werden kann.

Schützen Sie Ihren Code schließlich vor dem Anzeigen oder Ändern:  Extras> Eigenschaften> Schutz.

Beschädigung von Excel-Dateien

„Ich habe die Datei de-duped; Jetzt treten Excel-Fehler ohne erkennbaren Grund auf. Ich gehe jedoch davon aus, dass ich heute noch fertig bin. “

Ob dies ein Happy End hat oder nicht, hängt möglicherweise davon ab, ob dem Benutzer ein effektives Tool zur Verfügung steht, mit dem er dies tun kann Excel reparieren. In diesem Fall hatte die Tabelle mehr als 90,000 Zeilen.

Einführung des Autors:

Felix Hooker ist ein Datenrettungsexperte in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich Reparatur- rar und SQL Recovery-Softwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX

Jetzt teilen:

Kommentare sind geschlossen.