Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перехватить закрытие документа Word? 
:(
    Опции темы
Roo
Дата 20.1.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 17.10.2005

Репутация: нет
Всего: нет



Можно ли как-то заместить сохранение документа в вёрде? Т.е. когда пользователь нажимает кнопку сохранить (или Shift+F12), не вылетает окно для сохранения файла (т.к. нам файл здесь вообще не нужен), а выполняются какие-то "наши" действия и "наше" же сообщение-уведомление, что всё сохранено. Пробовал экспериментировать с событием DocumentBeforeSave, но дальше - ничего не пошло...
Спасите, если можете =)))
PM MAIL   Вверх
dronzo
Дата 21.1.2006, 16:48 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 26.11.2005
Где: Москва

Репутация: 6
Всего: 8



PM MAIL   Вверх
Roo
Дата 22.1.2006, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 17.10.2005

Репутация: нет
Всего: нет



Вопрос не в том, как настроить соотв. делегат и к какому подсоединить событию! Вопрос в том, как заменить стандартный процесс сохранения документа в вёрде (как файла) своим! Чтобы вёрд полностью был на время лишён своих собственных методов сохранения. Надеюсь понятно раъяснил...

Это сообщение отредактировал(а) Roo - 22.1.2006, 09:57
PM MAIL   Вверх
mr.DUDA
Дата 22.1.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



В обработчике DocumentBeforeSave есть аргументы SaveAsUI и Cancel. Первый нужно поставить в false, если не нужно чтобы показывался диалог "Сохранить как...". Второй нужно поставить в true, чтобы документ вообще не сохранялся Word'ом.


--------------------
user posted image
PM MAIL WWW   Вверх
Roo
Дата 22.1.2006, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 17.10.2005

Репутация: нет
Всего: нет



Блин, не знаю: то ли я тормоз, то ли ещё хуже... Просто делаю так:
Код

private void Application_DocumentBeforeSave(Document Doc, ref bool SaveAsUI, ref bool Cancel)
{
                           SaveAsUI = false;
            Cancel = true;
}

И несмотря на это, после выхода из ф-ции вёрд всё равно показывает диалог "Сохранить как..."
PM MAIL   Вверх
mr.DUDA
Дата 23.1.2006, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Видимо, это происходит при закрытии документа (я прав ?). Наверное, ворд пытается сохранить изменения перед выходом по-другому, нежели как при нажатии "Save As...". Можно попробовать сделать так, чтобы изменений в документе "не стало" - сохранить документ во временный файл (в любой файл в папке Windows/Temp) в обработчике DocumentBeforeClose.


--------------------
user posted image
PM MAIL WWW   Вверх
Roo
Дата 23.1.2006, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 17.10.2005

Репутация: нет
Всего: нет



Это происходит при Shift+F12, т.е. "СОХРАНИТЬ"...
PM MAIL   Вверх
RedButterfly
Дата 26.8.2008, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



При закрытии документа ворд выходит окно "Сохранить-нет?". Как словить нажатие на "Да"?
потом же нужно выгружать ворд чтобы не висел невидимым в процессах...сделать app.Quit(,,,);
а чтобы выгрузить нужно узнать закрыт он или нет...
 smile 

PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 27.8.2008, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Цитата(RedButterfly @ 26.8.2008,  14:43)
При закрытии документа ворд выходит окно "Сохранить-нет?". Как словить нажатие на "Да"?
потом же нужно выгружать ворд чтобы не висел невидимым в процессах...сделать app.Quit(,,,);
а чтобы выгрузить нужно узнать закрыт он или нет...
 smile

Сделала. 
Если написать


Код


wordApp.Activate();        // Активировали документ.


то уже не нужно ловить закрытие документа чтобы потом выгрузить ворд, так как ворд после закрытия уже не висит невидимым в процессах.

Вопрос: почему? smile
PM MAIL ICQ Skype   Вверх
RedButterfly
Дата 29.8.2008, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Учусь
*


Профиль
Группа: Участник
Сообщений: 132
Регистрация: 4.7.2005
Где: Уфа->Москва

Репутация: нет
Всего: нет



Цитата(RedButterfly @ 27.8.2008,  08:00)
Цитата(RedButterfly @ 26.8.2008,  14:43)
При закрытии документа ворд выходит окно "Сохранить-нет?". Как словить нажатие на "Да"?
потом же нужно выгружать ворд чтобы не висел невидимым в процессах...сделать app.Quit(,,,);
а чтобы выгрузить нужно узнать закрыт он или нет...
 smile

Сделала. 
Если написать


Код


wordApp.Activate();        // Активировали документ.


то уже не нужно ловить закрытие документа чтобы потом выгрузить ворд, так как ворд после закрытия уже не висит невидимым в процессах.

Вопрос: почему? smile

и все-таки как узнать сохранили ли документ Ворд или нет.

 smile 

должна же быть конструкция вроде этой:

если  (нажали на кнопку "Сохранить") то ...
иначе ...

 smile 

и где на русском языке можно про эту тему почитать smile
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1094 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.