Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.07.2008, 09:45   #11
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Спасибо. Но это не совсем то. Попробуйте выполнить следующий макрос.
Количество вложений и панелей взято условно.
Код:
Sub ListMenuInfo()

    Dim Row As Integer, q As Long
    Dim Menu As CommandBarControl
    Dim MenuItem As CommandBarControl
    Dim SubMenuItem As CommandBarControl
    Dim SubSubMenuItem As CommandBarControl
    
    Cells.ClearContents
    Row = 1
    For q = 1 To 300
        On Error Resume Next
        For Each Menu In CommandBars(q).Controls
            For Each MenuItem In Menu.Controls
                For Each SubMenuItem In MenuItem.Controls
                    For Each SubSubMenuItem In MenuItem.Controls
                        Cells(Row, 1) = Menu.Caption
                        Cells(Row, 2) = Menu.ID
                        Cells(Row, 3) = MenuItem.Caption
                        Cells(Row, 4) = MenuItem.ID
                        Cells(Row, 5) = SubMenuItem.Caption
                        Cells(Row, 6) = SubMenuItem.ID
                        Cells(Row, 7) = SubSubMenuItem.Caption
                        Cells(Row, 8) = SubSubMenuItem.ID
                        Row = Row + 1
                    Next SubSubMenuItem
                Next SubMenuItem
            Next MenuItem
        Next Menu
    Next q
    
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 21.07.2008, 10:00   #12
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Нда, не совсем то...
SAS888, спасибо за макрос. Нужная вещь!
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 21.07.2008, 11:11   #13
Mint86
Пользователь
 
Аватар для Mint86
 
Регистрация: 17.07.2008
Сообщений: 81
По умолчанию

Вот здесьhttp://www.rondebruin.nl/menuid.htm еще есть про контролы.
Так же здесьhttp://www.erlandsendata.no/english/...oadcommandbars есть макрос похожий на тот что приводил в пример SAS888

Последний раз редактировалось Mint86; 21.07.2008 в 13:22.
Mint86 вне форума
Старый 21.07.2008, 11:32   #14
Mint86
Пользователь
 
Аватар для Mint86
 
Регистрация: 17.07.2008
Сообщений: 81
По умолчанию

Вот достаточно полный перечень ID http://support.microsoft.com/kb/213552
Но к сожалению нет инфы об ID "галочек"
Mint86 вне форума
Старый 21.07.2008, 11:49   #15
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Большое спасибо. Более наглядно, чем в моем примере макроса.
Зная ID команд, можно перехватывать практически любые события, которых нет в стандартном наборе VBA Excel.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 21.07.2008, 12:02   #16
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Почему-то не могу перейти по ссылкам в пост №13 Mint86 (
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 21.07.2008, 12:46   #17
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Потому, что там что-то не так с тэгами. Скопируй текст ссылки и вставь в браузер.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 21.07.2008, 13:05   #18
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

SAS888, спасибо. Все в нормально получилось.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума
Старый 21.07.2008, 13:21   #19
Mint86
Пользователь
 
Аватар для Mint86
 
Регистрация: 17.07.2008
Сообщений: 81
По умолчанию

Упс.. прошу прощения за ошибочку. Исправил
Mint86 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Меню Аlex Общие вопросы Delphi 2 19.08.2008 13:52
И опять нажатие в неактивное окно.. Syred Общие вопросы Delphi 0 15.06.2008 01:56
Меню Witaliy Общие вопросы Delphi 4 27.04.2008 22:45
МЕНЮ Delpher HTML и CSS 4 25.12.2007 15:37
неактивное окно oLMeR Общие вопросы Delphi 7 11.11.2006 08:14