Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Вопрос из ряда фантастики...


Автор: Андреy 8.12.2008, 11:22
Всем добрый день.
Можно ли программно разблокировать проект VBA в MS Excel?

Автор: Akina 8.12.2008, 11:25
Всё, что можно сделать руками, можно сделать и программно.

Автор: Андреy 8.12.2008, 11:37
Цитата

Всё, что можно сделать руками, можно сделать и программно

Я так и думаю. Но... когда проект заблокирован, Record New Macro не сделаешь, дабы посмотреть код.
Хотя... сейчас заблокирую др. проект и гляну что там.

Итак. Попробовал записать блокировку и разблокировку макроса, в который я зашел под паролем - рекордер это не записывает. Далее - у объекта VBProject нет метода типа Unprotect так как же его разблокировать?
И вообще, почему то Help по VBA в Excel на запрос о VBProject дает лишь свойство книги, и пример как менять имя проекта. А у этого объекта еще др. свойства и методы.

Автор: Akina 8.12.2008, 13:17
Цитата(Андреy @  8.12.2008,  12:37 Найти цитируемый пост)
Попробовал записать блокировку и разблокировку макроса, в который я зашел под паролем - рекордер это не записывает. 

Ты лучше сразу смотри, какой системный макрос привязан к пункту меню, и лезь в его код.

Автор: Андреy 8.12.2008, 14:33
Код

Dim cb As CommandBarControl
  Set cb = CommandBars.FindControl(ID:= _
                                   CommandBars("Macro").Controls("Visual Basic Editor").ID _
                                  )
  Dim ProcName As String
  ProcName = cb.OnAction

Так вот, в рез-те в ProcName у меня пустая строка. Как это может быть? Ведь по-любому должно быть имя макроса! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)