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

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

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

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

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

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

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

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

Код VBA

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

Sub Auto_Open() 'Auto_open запускается автоматически при открытии книги Dim Control As Office.CommandBarControl Application.CommandBars("ply").Enabled = False 'отключает щелчок правой кнопкой мыши на вкладке листа для каждого элемента управления в Application.CommandBars.FindControls(ID :=21) 'отключает CUT Control.Enabled = False Следующий элемент управления для каждого элемента управления в Application.CommandBars.FindControls(ID:=19) 'отключает COPY Control.Enabled = False Следующий элемент управления Application.CellDragAndDrop = False Application.ExecuteExcel4Macro "Show. ToolBar(""Ribbon"", False)" 'Скрывает ленту End Sub Sub Restore() Application.CommandBars("ply").Enabled = True 'позволяет щелкнуть правой кнопкой мыши вкладку листа Затемнить элемент управления как Office.CommandBarControl для каждого элемента управления в Application.CommandBars.FindControls(ID:=21) 'включает CUT Control.Enabled = True Следующий элемент управления для каждого элемента управления в Application.CommandBars.FindControls(ID:=19) 'включает COPY Control.Enabled = True Next Control Application.CellDragAndDrop = True Application.ExecuteExcel4Macro "Show.ToolBar(""Ribbon"", True)" 'показывает ленту End Sub Sub Auto_close() Call Restore 'Убедитесь, что другие книги работают правильно End Sub

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

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

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

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

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

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

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

Об авторе:

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

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

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