|
|
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
Добрый день. Я в в модуле объявляю переменную: Код: plaintext Потом в процедуре создаю книгу и присваиваю этой переменной значение новой книги: Код: plaintext 1. 2. Мне нужно перехватить событие закрытия этой книги крестиком именно в исходном файле, где я пишу скрипт (это надстройка)... Подскажите, пожалуйста, каким образом это можно сделать. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 15:04 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 15:10 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
Antonariy, "Dim WithEvents" можно прописать только в модуле класса. Если я прописываю в модуле класса Код: plaintext 1. 2. 3. 4. 5. 6. 7. а из обычного модуля убираю Код: plaintext то в обычном модуле VBA ругается при использовании wbNew. А если не убираю, то wbNew_BeforeClose не срабатывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 15:35 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
На уровне модуля вообще-то не пишут Dim, а либо Private, либо Public. Можно почувствовать разницу. Вы с ходу вспомните что на уровне модуля Dim: - Private или Public? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 16:37 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
VladConnНа уровне модуля вообще-то не пишут Dim, а либо Private, либо Public. Можно почувствовать разницу. Вы с ходу вспомните что на уровне модуля Dim: - Private или Public?Я извиняюсь, но ничего не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:02 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
На уровне модуля вы никак не узнаете о закрытии книги. Объявляйте wbNew в классе или в объекте экселя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:05 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
garmonist VladConnНа уровне модуля вообще-то не пишут Dim, а либо Private, либо Public. Можно почувствовать разницу. Вы с ходу вспомните что на уровне модуля Dim: - Private или Public?Я извиняюсь, но ничего не понял... То-то и оно... Почитайте о "scope of variables". Успехов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:07 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
VladConnНа уровне модуля вообще-то не пишут Dim, а либо Private, либо Public. Можно почувствовать разницу. Вы с ходу вспомните что на уровне модуля Dim: - Private или Public?Вообще-то пишут, если хотят. Никаких ограничений, за исключением психологических, для этого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:10 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
AntonariyНа уровне модуля вы никак не узнаете о закрытии книги. Объявляйте wbNew в классе или в объекте экселя. Вот именно. Antonariy, я позволю себе вмешаться на секундочку. Дело в том, что чтобы перехватить событие, его нужно иметь и иметь код внутри него. А это возможно в класс-модуле, но не в обычном модуле. На то классы и придумали (не только из-за этого, конечно). Поправь, если что не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:13 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
Antonariy VladConnНа уровне модуля вообще-то не пишут Dim, а либо Private, либо Public. Можно почувствовать разницу. Вы с ходу вспомните что на уровне модуля Dim: - Private или Public?Вообще-то пишут, если хотят. Никаких ограничений, за исключением психологических, для этого нет. Пишут то пишут, но многие неосознанно, не догадываясь о последствиях. Имелось ввиду: вообще-то зубы чистят по утрам" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:15 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
VladConn, значит, надо в модуле переменную объявлять с помощью public. Спасибо, но на мой вопрос это не отвечает. Проблема остается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:28 |
|
||
|
VBA Excel: как отловить события созданной переменной?
|
|||
|---|---|---|---|
|
#18+
Проблема остается, потому что не читаете: AntonariyНа уровне модуля вы никак не узнаете о закрытии книги. Объявляйте wbNew в классе или в объекте экселя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2008, 17:38 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2161798]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 353ms |

| 0 / 0 |
