Доброго.
Есть ли возможность разрешить редактирование защищенных ячеек на защищенном листе Calc из макроса? При этом чтобы попытка изменения защищенных ячеек на таком листе из интерфейса пользователя блокировалась.
Спасибо.
В Excel можно. Здесь метод protect идет без параметров. Нельзя.
Но что мешает добавить в коде 2 строки:
до начала вашего редактирования снять защиту, а после внесения изменений, установить обратно? С паролем или без, неважно... Это сложно?
В примере ниже защита стоит без пароля, и пользователь может даже снять защиту и забыть поставить обратно (переменная bWasProtected).
oSheet = ThisComponent.CurrentController.ActiveSheet
With oSheet
bWasProtected = .isProtected()
If .isProtected() Then .unprotect("") 'no password (!)
<...> 'ваш код
If bWasProtected Then .protect("")
End With
Понятно. Спасибо.