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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2015, 00:12   #11
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
а Вы внимательно прочитайте название темы
возможно так станет понятнее кто кого запутал

-- Дорогая, ты представляешь то, что мы всю нашу долгую совместную жизнь называли оргазмом, ОКАЗЫВАЕТСЯ называется астмой!!!
а что вы имеете в виду, что я клавишу кнопкой назвала, так разве с кнопкой так бывает? Ну, простите, что запутала вас
Знание надмевает, а любовь назидает

Последний раз редактировалось Оксана33; 16.05.2015 в 10:29.
Оксана33 вне форума Ответить с цитированием
Старый 17.05.2015, 16:34   #12
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

А вопрос-то интересный!
Цитата:
а программа пишет, что она уже занята другим макросом.
У меня такого не пишет (2003). Разрешет назначить только не клавишу, а сочетание клавиш. Одно сочетание двум макросам. Не ругается. Но выполняется только первый назначенный. В более поздних версиях екселя не проверял. Но если ругается, то значит где-то имеется информация о назначенных сочетаниях и её можно найти. Мои попытки найти пока не увенчались успехом. Присоединяюсь к вопросу ТС: как найти все (и отдельно пользовательские) сочетания клавишь?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 18.05.2015, 09:15   #13
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

немного погуглил - http://www.planetaexcel.ru/forum/ind...ID=8&TID=36566
27102014 вне форума Ответить с цитированием
Старый 18.05.2015, 11:29   #14
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

встроить в каждый макрос debug.print имямакроса

нажимаешь на кнопочки и смотришь, какой макрос сработал
slan вне форума Ответить с цитированием
Старый 18.05.2015, 11:40   #15
27102014
Форумчанин
 
Регистрация: 27.10.2014
Сообщений: 248
По умолчанию

А если их много - в каждый записывать эту строку?
Чем Вас не устраивает придуманное на другом сайте решение? Не пользуюсь сочетание клавиш, но ради теста назначил парочку - все очень красиво получилось, на новом листе список макросов и сочетания клавиш. Не приписываю идею себе, где нашел ссылку указал, код
Код:
Sub ExportAllVBComponents()
Dim sh As Worksheet, x As Long
x = 1
Set sh = Workbooks.Add(xlWBATWorksheet).Sheets(1)
iTempPath$ = Environ("Temp") & "\" укажите свою папку 
For Each iVBComponent In ThisWorkbook.VBProject.VBComponents
Select Case iVBComponent.Type
Case 1: iType$ = ".txt"
Case 3: iType$ = ".frm"
Case 2, 100: iType$ = ".cls"
End Select
iVBComponent.Export _
Filename:=iTempPath$ & iVBComponent.Name & iType$

Dim a, i&, tmp
a = Split(CreateObject("Scripting.FileSystemObject").Getfile(iTempPath$ & iVBComponent.Name & iType$).OpenasTextStream(1).readall, vbNewLine)
ReDim b(1 To UBound(a), 1 To 2)
ii = 0
For i = 0 To UBound(a)
If InStr(a(i), "VB_ProcData.VB_Invoke_Func =") Then
If InStr(a(i), "Then") = 0 Then
ii = ii + 1
b(ii, 1) = a(i - 1)
b(ii, 2) = "Ctrl + " & Split(Split(a(i), "VB_Invoke_Func = " & """")(1), "\")(0)
End If
End If
Next
If ii <> 0 Then sh.Cells(x, 1).Resize(ii, 2) = b
x = x + ii
Next
End Sub
27102014 вне форума Ответить с цитированием
Старый 18.05.2015, 14:30   #16
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
А вопрос-то интересный!

У меня такого не пишет (2003). Разрешет назначить только не клавишу, а сочетание клавиш. Одно сочетание двум макросам. Не ругается. Но выполняется только первый назначенный. В более поздних версиях екселя не проверял. Но если ругается, то значит где-то имеется информация о назначенных сочетаниях и её можно найти. Мои попытки найти пока не увенчались успехом. Присоединяюсь к вопросу ТС: как найти все (и отдельно пользовательские) сочетания клавишь?
у меня вообще какая-то путаница: проверяла в разных файлах, в первом случае закрепляется за первым макросом, во-втором случае - за последним, но пол года назад вообще выдавало ОШИБКА

Скажите, пож., что такое ТС? уже два раза слышу...
Знание надмевает, а любовь назидает

Последний раз редактировалось Оксана33; 18.05.2015 в 14:34.
Оксана33 вне форума Ответить с цитированием
Старый 18.05.2015, 14:35   #17
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
По умолчанию

Цитата:
Сообщение от 27102014 Посмотреть сообщение
А если их много - в каждый записывать эту строку?
Чем Вас не устраивает придуманное на другом сайте решение? Не пользуюсь сочетание клавиш, но ради теста назначил парочку - все очень красиво получилось, на новом листе список макросов и сочетания клавиш. Не приписываю идею себе, где нашел ссылку указал, код
Код:
Sub ExportAllVBComponents()
Dim sh As Worksheet, x As Long
x = 1
Set sh = Workbooks.Add(xlWBATWorksheet).Sheets(1)
iTempPath$ = Environ("Temp") & "\" укажите свою папку 
For Each iVBComponent In ThisWorkbook.VBProject.VBComponents
Select Case iVBComponent.Type
Case 1: iType$ = ".txt"
Case 3: iType$ = ".frm"
Case 2, 100: iType$ = ".cls"
End Select
iVBComponent.Export _
Filename:=iTempPath$ & iVBComponent.Name & iType$

Dim a, i&, tmp
a = Split(CreateObject("Scripting.FileSystemObject").Getfile(iTempPath$ & iVBComponent.Name & iType$).OpenasTextStream(1).readall, vbNewLine)
ReDim b(1 To UBound(a), 1 To 2)
ii = 0
For i = 0 To UBound(a)
If InStr(a(i), "VB_ProcData.VB_Invoke_Func =") Then
If InStr(a(i), "Then") = 0 Then
ii = ii + 1
b(ii, 1) = a(i - 1)
b(ii, 2) = "Ctrl + " & Split(Split(a(i), "VB_Invoke_Func = " & """")(1), "\")(0)
End If
End If
Next
If ii <> 0 Then sh.Cells(x, 1).Resize(ii, 2) = b
x = x + ii
Next
End Sub
спасибо, проверим, но я надеялась,что где-то есть в настройках такая функция
Знание надмевает, а любовь назидает
Оксана33 вне форума Ответить с цитированием
Старый 18.05.2015, 14:40   #18
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Цитата:
Сообщение от Оксана33 Посмотреть сообщение
Скажите, пож., что такое ТС? уже два раза слышу...
ТС — двубуквенная аббревиатура.

Вероятные значения:

Таможенный союз
Таможенный союз ЕврАзЭС (начиная с 2011 года активно употребляется в прессе именно в таком качестве, без уточнения про ЕврАзЭС)
Телеметрическая система
Телесигнализация (сигнал)
Телефонная станция
Техническая система
ТопикСтартер (человек, создавший тему на форуме)
Торговая сеть
Торговая система (Форекс)
Точка сборки
Трансерфинг
Транспортер снегоболотоходный
ТС-1
Транспортное средство
Трансформатор силовой
Тренажер стрелковый
Три состояния — тип выхода цифровой электронной схемы
TeamSpeak
Терапевтическая система (лекарственная форма)
Тайны Смолвиля

Единица измерения:

тонна-сила


https://ru.wikipedia.org/wiki/%D0%A2%D0%A1
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 18.05.2015, 14:40   #19
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
По умолчанию

Цитата:
Сообщение от slan Посмотреть сообщение
встроить в каждый макрос debug.print имямакроса

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

Последний раз редактировалось Оксана33; 18.05.2015 в 14:55.
Оксана33 вне форума Ответить с цитированием
Старый 18.05.2015, 14:41   #20
Оксана33
Форумчанин
 
Аватар для Оксана33
 
Регистрация: 24.11.2014
Сообщений: 156
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
ТС — двубуквенная аббревиатура.

Вероятные значения:

Таможенный союз
Таможенный союз ЕврАзЭС (начиная с 2011 года активно употребляется в прессе именно в таком качестве, без уточнения про ЕврАзЭС)
Телеметрическая система
Телесигнализация (сигнал)
Телефонная станция
Техническая система
ТопикСтартер (человек, создавший тему на форуме)
Торговая сеть
Торговая система (Форекс)
Точка сборки
Трансерфинг
Транспортер снегоболотоходный
ТС-1
Транспортное средство
Трансформатор силовой
Тренажер стрелковый
Три состояния — тип выхода цифровой электронной схемы
TeamSpeak
Терапевтическая система (лекарственная форма)
Тайны Смолвиля

Единица измерения:

тонна-сила


https://ru.wikipedia.org/wiki/%D0%A2%D0%A1
огоо, ну а в данном случае?
выдержка "Кажется мне ТС имеет таки в виду не кнопки, А сочетания клавиш назначаемых макросу", "Присоединяюсь к вопросу ТС: как найти все (и отдельно пользовательские) сочетания клавишь?"
Знание надмевает, а любовь назидает

Последний раз редактировалось Оксана33; 18.05.2015 в 14:45.
Оксана33 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана целочисленная матрица порядка 8, в которой элемент равен 0, если соответствующая клетка принадлежит какому-либо прямоугольник LM23 C# (си шарп) 5 13.03.2015 11:06
кнопка-макрос в powerpoint KApSuL Microsoft Office Excel 4 07.11.2012 16:54
Получение формы, к которой принадлежит INPUT поле kardinal94 Работа с сетью в Delphi 0 26.11.2011 21:35
Каким образом можно узнать сборку, которой принадлежит определенный класс? Stilet Общие вопросы .NET 2 08.02.2010 15:19
Как узнать принадлежит ли кнопка Системному меню программы? FaTaL Общие вопросы Delphi 11 24.10.2009 16:46