Текущий архив: 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