![]() |
|
Модераторы: mihanik |
![]()
|
|
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Как добавить я знаю, а как удалить? Имеется ввиду удалить при выгрузке надстройки (xla). Кстати, в каком событии это лучше прописать?
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
А где именно кнопка? код ее размещения дай...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Кнопка в панели Standard.
Создаю так:
|
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 7 Всего: 49 |
А myButton.Delete не пробовал?
-------------------- Я желаю всем Счастья! |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
Сначала отвяжи переменную от кнопки (Set myButton=Nothing), после чего удали кнопку из коллекции (Application.CommandBars("Standard").Controls("ИмяКнопки").Delete).
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 26 Всего: 454 |
а заранее myButton.Name спросить влом? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Не влом, просто я в VBA еще совсем новичёк, а в справке свойства Name я не нашёл. В любом случае спасибо, но кнопка так и не удалилась. На всякий случай приведу код.
Все это находится в файле MyProject.xla->ЭтаКнига. Хотелось бы чтобы при включении моей надстройки создавалась кнопка, а при отключении удалялась. Пока же кнопка только создается и приходится удалять ее вручную. |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 7 Всего: 49 |
Поменяй местами строки
Set myButton = Nothing myButtonName = myButton.Name Должно быть: myButtonName = myButton.Name Set myButton = Nothing -------------------- Я желаю всем Счастья! |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Как же я это не заматил, совсем старый стал. Спасибо. Но тем не менее и это не помогло. У меня такое впечатление, что Workbook_Close() вообще не вызывается, а то бы он по-идее должен был выдать ошибку в предыдущем коде. Может ошибка совсем в другом и куда проще чем я думаю. |
|||
|
||||
| Дмит |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 21.4.2006 Где: г.Волгоград Репутация: 8 Всего: 9 |
В блоке ЭтаКнига:
Private Sub Workbook_BeforeClose(Cancel As Boolean) End Sub |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Дмит, спасибо большое, так действительно работает.
Только теперь выяснилось, что у моей кнопки нет свойства Name и тогда неясно как ее удалить. Как узнать имя кнопки? |
|||
|
||||
| Дмит |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 21.4.2006 Где: г.Волгоград Репутация: 8 Всего: 9 |
1.Проще удалять, как говорилось
myButton.Delete Однако во время отладки, если объект myButton теряется, удалять придётся вручную. 2.Если создавать кнопку myButton = Application.CommandBars("Standard").Controls.Add(Type:=msoControlButton, Temporary:=True) то кнопка при перезагрузке Excel удалится сама. 3. myButtonName = myButton.Caption обычно при создании кнопки .Caption задаётся и уже известно. |
|||
|
||||
| likehood |
|
||||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Дмит, огромное спасибо! Воспользовался 1-м вариантом - все заработало.
Осталась у меня одна проблема: в том же файле в модуле Module1 не удается изменить свойство ColorIndex :
Возникает Run-time error: Нельзя установить свойство ColorIndex класса Interior При этом код
отрабатывает без вопросов. Где ошибка? |
||||
|
|||||
| Дмит |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 21.4.2006 Где: г.Волгоград Репутация: 8 Всего: 9 |
.ColorIndex - число 0-56
vbYellow=65535 Так что или: Range(OldRange).Interior.Color = vbYellow или: Range(OldRange).Interior.ColorIndex = 6 'жёлтый цвет |
|||
|
||||
| likehood |
|
|||
|
666 ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 21.12.2005 Репутация: нет Всего: 24 |
Дмит, еще раз спасибо!
Самое интересное, что в другом модуле вариант
работал без проблем. Сейчас поменял ColorIndex на Color, все работает как прежде. |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |