Excel VBA: как отключить внешние ссылки на очень скрытую вкладку? - PullRequest
0 голосов
/ 19 июня 2020

У меня есть файл Excel, защищенный pw, для отправки конечному пользователю. В книге есть очень скрытые вкладки.

Я хочу запретить указанному конечному пользователю просто открывать новую книгу, создавая ссылку на ячейку на одну из очень скрытых вкладок, предполагая, что они могут угадать имена этих вкладок (generi c имена (например, «Входы»)) и воссоздание файла оттуда.

Есть ли способ сделать это в VBA?

1 Ответ

0 голосов
/ 19 июня 2020

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

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

Однако, когда копировать / вставлять специальное -> вставить ссылку, то ничто из того, что я знаю, не может помешать людям изменить адрес ссылки.

=[Spreadsheet.xlsm]Sheet3!B2

Если только в событии Workbook_Change вы не указали, что определенные ключевые слова нельзя использовать в качестве ссылок на ячейки.

В коде рабочего листа:

Private Sub Worksheet_Change(ByVal Target As Range)    
  If InStr(1, Range(Target.Address).Value, "reserved", vbTextCompare) > 0 Then
    Range(Target.Address).Value = Replace(Range(Target.Address).Value, "reserved", "")
    Call MsgBox("Please don't use ""reserved"" keywords.", vbInformation)
  End If    
End Sub

Опять же, люди увидят это в коде VBA, и вы не сможете его запутать. Ответ - нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...