Вернуться   Форум программистов > Программирование > VBA

VBA Программирование на VBA

Ответ
 
Опции темы Опции просмотра
Старый 09.11.2009, 15:47   #1
voam
Новичок
 
Регистрация: 09.11.2009
Сообщений: 2
voam пока не определено
По умолчанию Корректное закрытие ОКНА Excel

Добрый день!



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



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



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



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



Буду очень признателен за помощь!
voam вне форума   Ответить с цитированием
Старый 09.11.2009, 18:13   #2
voam
Новичок
 
Регистрация: 09.11.2009
Сообщений: 2
voam пока не определено
По умолчанию RE: Корректное закрытие ОКНА Excel

Подсказали альтернативное решение без привлечения WinAPI, возможно кому-нибудь пригодится. )



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



Цитата:
If Workbooks.Count = 1 Then Application.Quit Else ThisWorkbook.Close
voam вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Похожие темы
Тема Автор
VBA, как правильно записать формулу для цикла do
Есть формула: ActiveCell.FormulaR1C1 = _ "=наличие_файла(""file://\file\44-я \file\44-я 26.10-01.11""&RC)" Как записать RC чтобы формула писалась в нужной ячейке, т.е. работает do loop с переменной а. куда в RC и как нужно добавить переменную а???. как правильно записать формулу для цикла do
uvexx
VBA, Удаление исходного кода макроса из тела файла WORD с сохранением работоспособности
Есть необходимость закрыть исходные тексты макросов в шаблоне от доступа. Парольная защита не подходит т.к. в сети есть сайты на которых за $20 быстро ломают пароль не занимаясь перебором. Возникла идея удалить исходные тексты из файла WORD не пользуясь редактором VBA, т.е. внешними программами, может даже текстовым редактором, с сохранением откомпилированного кода, который и должен выполняться (перекомпиляция исключается) Прошу откликнуться если кто пробовал осуществить что-то подобное или.... Удаление исходного кода макроса из тела файла WORD с сохранением работоспособности
AUB2000
VBA, Генерация таблицы изображений Word
Доброго времени суток! Задача состоит в следующем: вставляем n-ное количество изображений в вордовский документ (я так думаю, ручками), а затем помещаем их в 2х колоночную таблицу при помощи макроса. Как такое можно реализовать, подскажите плиз! Хотя бы в общих чертах.. Генерация таблицы изображений Word
hack
VBA, Закрытие книги в Excel 2007
Есть книга "шаблон" содержащая набор макросов и несколько листов. При открытии этой с помощью макросов создается новая Книга, оттуда удаляются все листы и копируются листы "шаблона". Выполняется функция Worksheet_Calculate() После чего необходимо "шаблон" закрыть, а Новый документ оставить открытым. Пробовал Workbook1.Close SaveChanges:=True вроде бы все срабатывает. Окно закрывается, но перед этим выскакивает ошибка "Application-defined or object-defined error " Ошибка выскакивае уже.... Закрытие книги в Excel 2007
Damirkin
VBA, курсор Excel
Всем, привет ! Стандартно, текущая ячейка Excel выделена инверсной рамкой. Можно ли убрать эту рамку не снимая фокуса с ячейки ?. курсор Excel
Fil
VBA, excel-odbc
Всем привет!!! Люди, у меня возникла маленькая проблемка, с корой я столкнулся, и не знаю, как бороться, как ее решить. Как я понял, данная проблема не имеет отношения к объекту QueryTables и имеет какое-то отношение к системе безопасности Excel, но, при этом, камнем преткновения становится именно объект QueryTables. Система: ХР, Excel 2003. Следите за моей мыслью: Условимся, что в некоторой книге под названием WB_1.xls есть макрос SUB_1(), который использует для своей работы объект.... excel-odbc
kuzminki
VBA, Ошибка Word.Application
Написал макрос в Office 2007. В листе Excel по нажатию кнопки создается Word.Application и т.д. При переносе макроса на машину с Office 2003 получил ошибку загрузки dll как раз при попытке создать Word.Application. Скорее всего проблема в том, что в Office 2007 используется библиотека Microsoft Word 12.0, а в Office 2003 - Microsoft Word 11.0. Как мне реализовать создание объекта Word.Application независимо от установленнй версии офиса?. Ошибка Word.Application
Well78
VBA, Что за зверь ?
что за зверь vbaLateIdCallLd и как его пользовать может кто знает?. Что за зверь ?
Slava2009

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Текущее время: 00:17. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. Перевод: zCarot

Рейтинг@Mail.ru