Отключить окно редактора кода VBA в Excel 2010 - PullRequest
0 голосов
/ 06 сентября 2011

Я ищу возможность добавить дополнительный уровень безопасности в мои проекты Excel.

У нас есть несколько пользователей. Кто-то, кто знает (и должен) пароль, который разблокирует макросы VBA. Другие не предназначены для доступа к ним.

Я не уверен, что у кого-то есть пароль, который не должен (изменение пароля не прекратило подделку), поэтому я хотел бы отключить окно редактирования VBA для любого пользователя, который не одобрен. Я не могу найти какой-либо способ сделать это, возможно ли это?

Я не могу отключить опцию сохранения, поскольку все пользователи должны сохранять данные.

Я пытался отключить значки ленты и т. Д., Но безуспешно. Все еще можно открыть окно кода с помощью Alt + F11.

Любая помощь будет отличной.

1 Ответ

2 голосов
/ 07 сентября 2011

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

  • захват клавиши Alt-F11 (Application.OnKey "%{F11}" "MyNullSub") плюс
  • отключить соответствующие пункты меню (Application.CommandBars(...).FindControl(ID:=..).OnAction = "MyNullSub")

с

Sub MyNullSub()
' do nothing
End Sub

в качестве зависимости записи в реестре, которая должна присутствовать (GetSetting(...)), но это поможет только до тех пор, пока этот дополнительный секрет не будет распространен таким же образом, как, очевидно, (измененные) пароли.

...