|
|
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
Я написала на VBA процедуру, мне необходимо чтоба процедура вызывалась (из активной рабочей книги Excel) нажатием определённых клавиш. Я столкнулась с этим впервые и не знаю, как это сделать. Помогите, пожалуйста! Заранее благодарна! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 02:10:54 |
|
||
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
А если записать эти макросы в личной книге макросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 07:46:56 |
|
||
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
Если твой макрос (процедуры) виден в окне макросов (Alt+F8), то назначение комбинации клавиш делается через Параметры этого окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 09:09:04 |
|
||
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
Example This example assigns "InsertProc" to the key sequence CTRL+PLUS SIGN and assigns "SpecialPrintProc" to the key sequence SHIFT+CTRL+RIGHT ARROW. Private Sub Workbook_Open() Application.OnKey "^{+}", "InsertProc" Application.OnKey "+^{RIGHT}", "SpecialPrintProc" End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2006, 09:23:38 |
|
||
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
Спасибо! Вот только в чём проблема... Как с помощью оператора .OnKey уследить за нажатием одной из нескольких клавишь? Клавиши, на которые необходимо реагировать, находятся в массиве. Массив динамический, т.е. мы не знаем точное число элементов массива. Нужно отследить, чтобы при нажатии одной из этих клавиш выполнялась процедура Sub1. По идее, перебрать элементы массива можно через цикл: For I=1 To Kol 'Kol - количество элементов в массиве Application.OnKey array_key(I), "Sub1" Next I ...но в данном случае этот вариант не проходит: выдаёт ошибку. Как можно решить эту задачу, не используя цикла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 01:42:44 |
|
||
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
Предыдущую проблему разрешила, написав ручной цикл. Возник новый вопрос: как отследить, какая именно клавиша была нажата? (это значение необходимо передать в другую процедуру). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2006, 23:53:37 |
|
||
|
Привязка горячих клавиш к процедурам (VBA. Excel)
|
|||
|---|---|---|---|
|
#18+
СветуляПредыдущую проблему разрешила, написав ручной цикл. Возник новый вопрос: как отследить, какая именно клавиша была нажата? (это значение необходимо передать в другую процедуру). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. http://www.bmsltd.ie/Excel/SBXLPage.asp Удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2006, 15:03:11 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34132146&tid=2183896]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 341ms |

| 0 / 0 |
