Корректное закрытие ОКНА Excel
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Корректное закрытие ОКНА Excel Expand / Collapse
Автор
Сообщение
09.11.2009 12:47
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 24.12.2009 12:34
Сообщ.: 2, Visits: 12
Добрый день!

Подскажите, пожалуйста, каким образом можно решить следующую задачу.

Я написал скрипт (макрос), который выполняется в момент открытия книги, после чего книга тут же закрывается. Однако если вызывать метод ThisWorkbook.Close, то закрывается именно сама книга скрипта, но не окно Excel, в котором эта книга была открыта. Если же применять метод Application.Quit, то закрываются любые открытые на данный момент окна Excel. Мне же необходимо "уничтожить" только то окно, в котором выполнялся мой скрипт.

Подозреваю, что данная операция осуществляется при помощи API-функций. Но основная проблема, с которой я столкнулся в их применении - это получение дескриптора "моего" окна Excel. Порывшись в сети, наткнулся на функцию FindWindow, однако она в качестве параметра принимает переменную lpClassName, а как получить ее значение для моего приложения я не знаю ...

Может быть, есть иные способы реализовать закрытие окна?..

Буду очень признателен за помощь!
Сообщ. #918494
09.11.2009 15:13
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 24.12.2009 12:34
Сообщ.: 2, Visits: 12
Подсказали альтернативное решение без привлечения WinAPI, возможно кому-нибудь пригодится. :))

Все очень просто и элегантно:

If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
Сообщ. #918495
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.

Время GMT +3:00, Сейчас 10:23