Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отслеживать закрытие Word'a, программа должна знать закрыт ли док  
:(
    Опции темы
Fyrklod
Дата 30.9.2010, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



открываю документ при помощи кода 
Код

Variant vWApp,vWDocs,vWDoc,ReplaceType;
                vWApp=Variant::CreateObject("Word.Application"); // Получить доступ к приложению WORD
                vWApp.OlePropertySet("Visible", True);
                vWDocs=vWApp.OlePropertyGet("Documents"); // Доступ к списку документов
                vWDocs.OleProcedure("Open",StringToOleStr(Path)); // Открытие выбранного файла
                vWDoc=vWDocs.OleFunction("Item",1); // Доступ к документу



как можно позже отследить закрыли ли этот файл ? 
мне это нужно для 
1) если не закрыт, то запрещается закрывать программу вызвавшую документ
2) если документ закрыт, то у меня дальше выполняется нудный порядок 


пишу на С++ Builder 2007
--------------------
Зачем компьютеры пищат, когда нажимаешь сразу много клавиш? Чтобы будить уснувших на клавиатуре программистов!
PM MAIL   Вверх
Platov
Дата 18.10.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ничего лучше этого не придумал.
Код

 AnsiString sf;
 sf="c:\\tmp1.doc";
  HANDLE f=CreateFile(sf.c_str(), GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  if (f!=INVALID_HANDLE_VALUE) Memo1->Lines->Add("закрыт");
   else Memo1->Lines->Add("открыт");
    CloseHandle(f);


И не забудьте в после работы с вордом закрыть файл и выйти из ворда.
Для экселя делаю так:
Код

 App.OleProcedure("Quit");
 App.OlePropertyGet("WorkBooks").OleProcedure("Close");


Это сообщение отредактировал(а) Platov - 18.10.2010, 11:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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