Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2010, 14:16   #1
ProGus
Новичок
Джуниор
 
Регистрация: 10.08.2010
Сообщений: 1
Вопрос Вопрос от начинающего

Помогите пожалуйста разобраться. Я честно говоря начинающий.
Вопрос в следующем.
В Excel 2003 на Листе1 имеются элементы управления. При нажатии на один из них происходит запуск Word, например так:
Код:
Set wa = CreateObject("Word.Application")    
wa.Visible = True
и загрузка соответствующего документа с установкой курсора в определенное место этого документа, например так:
Код:
Set wd = wa.Documents.Open("c:\...")
Set wd = wa.Documents.Activate
wd.Application.Selection.Goto(-1, , , "G1").Select
Рядом с вордовым окном висит форма UF1 с кнопкой, фиксирующей правильное окончание работы с документом означающее закрытие Word, документа и возврат к Листу1. Все это сделано.

А вопрос собственно в том, как в процессе работы с вордовым документом отслеживать неправильный выход из Excel программы - минуя UF1. То есть как сделать, чтобы при закрытии пользователем либо документа, либо Word без использования UF1 - выход из программы осуществлять так-же - правильно (по корректной цепочке).
Предлагаемые в Инете косвенные варианты типа через Application.Tasks.Exists не работают.
Или может я чего-то не так делаю. Заранее спасибо!!!

Последний раз редактировалось Stilet; 10.08.2010 в 14:25.
ProGus вне форума Ответить с цитированием
Старый 10.08.2010, 14:30   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Сделайте UF1 модальной - тогда без закрытия UF1 вы не сможете закрыть Excel.
Закрытие Word перехватить непросто - надо использовать модуль класса для перехвата событий Word (типа события закрытия придожения или документа)
Можно работу с Word организовать через документ (который вы открываете строкой Set wd = wa.Documents.Open("c:\...")), содержащий макросы - эти макросы будут уведомлять Excel о закрытии Word-а. Тоже вариант не из простых, - но работать будет.

Вообще, пока не выложите примеры файлов с кодом, готового решения вы вряд ли дождётесь (создавать эти файлы с формой и кодом лишь для проверки своей идеи никто не будет)
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Procedure,function,Stringgrid (#004) Очередной вопрос начинающего. Albert2008 Компоненты Delphi 4 01.08.2008 21:30
Stringgrid, cells[m,n] и двумерные массивы.(#002) Очередной вопрос начинающего. Albert2008 Компоненты Delphi 4 28.07.2008 19:02
вопрос по php от начинающего sleeper_Izh PHP 15 11.07.2008 10:19
Вопрос от начинающего - отступ текста aquapage HTML и CSS 2 29.05.2008 19:02