Как предотвратить перемещение или копирование вашей книги Excel

Поделись сейчас:

Кража данных может быть сведена к минимуму путем отключения различных функций меню и щелчка правой кнопкой мыши в Excel. Ниже мы обсудим, как это сделать с помощью VBA.

Предполагается, что у читателя отображается лента Excel Developer, и он знаком с редактором VBA.

Пользовательский интерфейс

Создайте рабочий лист с двумя кнопками и небольшим количеством данных.  Создайте рабочий лист с двумя кнопками и небольшим количеством данных

На этом листе будет отображаться лента и все функции правого щелчка, которые предоставляет Excel.

Лист доступен здесь.

Код VBA

Существует множество элементов управления панели команд, которые можно отключить. Вам нужно будет найти в Google идентификационные номера этих элементов управления. В этом упражнении мы будем использовать идентификаторы 19 и 21.

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

Назначьте кнопку «Восстановить» для подпрограммы «Восстановление», а кнопку «Отключить» для подпрограммы «Авто_открыть».

Запустите код Auto_open; вы заметите, что в контекстном меню отключены функции «Вырезать» и «Копировать», а лента исчезла. Вы также не сможете переместить лист в другую книгу с вкладки листа.Назначьте кнопку отключения для Sub Auto_open

Всегда будут способы обойти эти меры предосторожности, но цель состоит в том, чтобы сделать это трудным для всех, кроме серьезного хакера; защита электронной таблицы является дополнительным сдерживающим фактором, а также гарантирует, что ее нельзя будет скопировать непосредственно из подпапки.

Наконец, защитите свой код от просмотра или изменения:  Инструменты>Свойства>Защита.

Повреждение файла Excel

«Я удалил дубликат файла; теперь я испытываю сбои Excel без видимой причины. Тем не менее, я все еще ожидаю, что закончу сегодня».

Будет ли у этого счастливый конец или нет, может зависеть от того, есть ли у пользователя эффективный инструмент, с помощью которого можно ремонт Эксель. В данном случае электронная таблица содержала более 90,000 XNUMX строк.

Об авторе:

Феликс Хукер — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая ремонт rar и программные продукты для восстановления sql. Для получения дополнительной информации посетите www.datanumen.com

Поделись сейчас:

Комментарии закрыты.