Я искал упомянутую проблему с различными ключевыми словами, но все результаты были либо связаны с тем, как защитить книгу, либо снять защиту с нее, не зная пароля.
Моя текущая проблема на самом деле не большая проблема, но она кажется настолько странно, что я хочу знать, испытывали ли это другие люди.
В настоящее время я делаю макросы Excel 2010 VBA для автоматизации обработки данных. Я добавляю защиту рабочей книги, чтобы пользователи не могли перемещать позицию рабочих таблиц. Я сделал это через VBA 'thisworkbook.protect' или через традиционное меню Excel.
Когда я запускаю следующий код, защита рабочей книги полностью исчезает независимо от паролей, настроек структуры / окна.
Sub test()
ThisWorkbook.Worksheets(1).Cells(1, 1).Value(11) = ThisWorkbook.Worksheets(3).Cells(1, 1).Value(11)
End Sub
Простое добавление thisworkbook.protect в конце кода блокирует рабочую книгу и решает проблему, поэтому это не большая проблема. Но это явление совершенно непонятно для меня.
Я ценю любого, кто дал бы обратную связь. Спасибо.
edit 1 Я считаю, что это не проблема worksheet.protect. Моя проблема возникает независимо от того, защищены ли рабочие листы и ячейки, и меня особенно беспокоит положение и имена рабочих листов, которые попадают в команду workbook.protect.
Редактировать 2:
Таким образом, проблема заключается в следующем и не касается различия между Workbook.Protect
и Worksheet.Protect
методами:
1. Я открываю защищенную книгу;
2 Запустите предоставленный фрагмент кода без снятия защиты с рабочей книги, поскольку это не влияет на защиту рабочей таблицы;
3. Защита рабочей книги отменяется предыдущим действием, несмотря на мои намерения. Приходится снова защищать книгу.