Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Как узнать, что конкретный документ Word уже открыт?   Найти похожие ветки 

 
Гость22   (2005-09-05 15:39) [0]



 
GanibalLector ©   (2005-09-05 19:34) [1]


var Words:Variant;
     n:integer;
begin
 try
   try
     Words:=GetActiveOleObject("Word.Application");
     //Caption:="Всего документов:"+ IntToStr(Words.Documents.Count);
     for n:=1 to Words.Documents.Count do
     begin
       if AnsiSameText("C:\2.doc",Words.Documents.Item(n).FullName) then
       begin
         // типа нашли ;)
       end;
     end;
   finally
     Words:=Unassigned;
   end;
 except
   MessageDlg("Word не запущен!",mterror,[MbOk],0);
 end;
end;


 
zhas   (2005-09-13 13:51) [2]

А что можно сделать если запущено 2 или более экземпляра программы, и первый из них - возвращаемый функцией GetActiveOleObject не содержит данного документа, но он(этот 2.doc например) открыт вторым экземпляром?
Т.е. мы просматриваем список открытых документов в первом запущенном Word"е, и если 2.doc содержится во втором, а не в первом - не видим его. Как можно просмотреть все экземпляры программы?


 
zhas   (2005-09-14 15:24) [3]

Повторный вызов GetActiveOleObject ничего не дает - он всегда возвращает первый экземпляр программы если они вообще есть.



Страницы: 1 вся ветка

Текущий архив: 2006.12.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.074 c
2-1163774426
asg.aleks
2006-11-17 17:40
2006.12.03
редактирование bdf файла из формы


15-1163086909
Ламот
2006-11-09 18:41
2006.12.03
Вопрос по 1С (и, похоже, даже не по программированию)


15-1163203226
Германн
2006-11-11 03:00
2006.12.03
Общество защиты от животных


2-1163394749
alucard
2006-11-13 08:12
2006.12.03
Можно ли работать с Firebird без IBase?


1-1161757720
Jetus
2006-10-25 10:28
2006.12.03
Как скопировать картинку из TWebBrowser в TImage?