|
|
|
Запущенный макрос. Как получить имена: своё, VBAProject и Module, книги.
|
|||
|---|---|---|---|
|
#18+
Запускается некий макрос. В его коде нет прямого указания на: имя самого макроса; на имена VBAProject и Module, из которых он был запущен; на имя книги, в которых расположен модуль макроса. Можно ли в VBA кодом получить необходимые вышеперечисленные имена? Конструкция типа Application.VBE.ActiveVBProject.Name даёт имя активного проекта (т.е. типа открытым самым последним), а не имя проекта самого макроса. То же с определением номера строки начала процедуры .CodeModule.ProcBodyLine - только если предварительно указать имя проекта и модуля. Зачем это надо. В Excel на листе есть некоторые данные, которые получены выполнением разных похожих макросов. Нужно, чтобы, например, в ячейку А1 записывалось имя этого макроса. Можно, конечно, в каждом макросе писать строку типа Cells(1,1)=<ThisMacroName> - для каждого макроса своё имя. Но хочется, чтобы эта строка была одинаковой для всех макросов. Например, если код макроса скопирован с какими-то изменениями и новый макрос записан под новым именем. И в ходе выполнения имена макроса получались, естественно, каждый раз свои. То же самое с именем книги, из которой был вызван макрос. Чтобы после возможных манипуляций с книгой (переименование её) макросом получать текущее имя книги с этим самым макросом. ЗЫ: Версию Excel не сообщаю, чтобы сильно меня не пинали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 13:28:38 |
|
||
|
|

start [/forum/topic.php?fid=61&gotonew=1&tid=2181487]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 335ms |

| 0 / 0 |
