|
|
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У меня следующий вопрос: Как при нажатии пункта меню 'Автоформат' изменить свойства данного Item'са? А именно назначить другой макрос (например Макрос1) и сменить Caption на 'Отменить автоформат'. Далее при нажатии на 'Отменить автоформат' выполнять вышеназначенный макрос (Макрос1) и опять менять Item'c, возвращая его обратно в исходное состояние (то есть старый макрос .OnAction = "AutoFormat" и Caption = "Автоформат"). Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 09:55:40 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
Могу предложить 2 варианта решения. 1-ый. Использовать свойство ActionControl в макросах. Код: 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. 2-ый. Использовать событие Click кнопки. Модуль класса Class1. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Стандартный модуль. Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 10:38:09 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
2 Ashton Спасибо большое. Поробую оба варианта. О результатах обязательно напишу... Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 11:21:46 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
первый вариант работает отлично...думаю: "стоит ли проверять второй ?";-))) о свойстве ActionControl слышу впервые...это свойство помогает определить какая кнопка в менюшке была нажата последней? Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 11:29:13 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
ActionControl PropertyReturns the CommandBarControl object whose OnAction property is set to the running procedure. If the running procedure was not initiated by a command bar control, this property returns Nothing. Read-only. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 12:04:24 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
всё ясно. спасибо. Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 03:43:58 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
Требуется небольшая доработка сабжа. Нужно чтобы при нажатии кнопки "Сформировать" также изменялись свойства кнопки, которая отвечает за автоформатирование ("Автоформат" либо "Отменить автоформат"). Необходимо сделать так, чтобы при нажатии на "Сформировать", если кнопка с Caption'ом "Автоформат" отсутствует в меню, искать кнопку с Caption'ом "Отменить автоформат" и менять её параметры, а имено поменять Caption на "Автоформат" и OnAction на "AutoFormat". Вот такая вот задачка. Подскажите как искать кнопку в менюшке по заданному Caption и изменять её свойства. Менюшка та же самая: Код: 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. Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 06:12:42 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
Аленочка, что-то я не вижу в твоем коде кнопку "Сформировать". Шаг 1. Создаем панель. Код: 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. Шаг 2. Кнопка "Сформировать", расположенная на листе. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 08:50:10 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#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. А вам, Ashton, также спасибо огромное за ответы. Про FindControl - тоже хотела им воспользоваться. Приберегу на следующий раз Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 09:11:02 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
В этом куске кода: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Лучше наверное сократить вот так, потому что если пункта "Отменить автоформат" нет, то и менять ничего не нужно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 09:16:16 |
|
||
|
(VBA Excel) Изменить пункт меню в CommandBar.
|
|||
|---|---|---|---|
|
#18+
В параметре Tag метода FindControl мы указываем название, которое указали при формировании кнопки, а не само название кнопки. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 09:36:29 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33764835&tid=2184801]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 377ms |

| 0 / 0 |
