Форум: "Основная";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
ВнизCOM сервера MS Office, Найти похожие ветки
← →
asafr (2003-03-13 18:29) [0]Работаю с Word97 и Дельфи (закладка "Servers").
Произвожу замену переменных в документе. Все отлично работает, если замену произвести один раз... Если после проведения операции замены открыть WordApplication1.Visible:=True в коде программы или просто открыть Word, например из проводника, а затем закрыть Word, то второй раз программа замены работать не будет. При самом первом обращении в коде к Word (У меня это WordApplication1.Documents.Open(.....)) выдается ошибка:"Сервер RPC недоступен"...
Если не открывать Word, не просматривать его и, произведя изменения, сразу же делать WordDocument1.Close, то операцию замены можно делать сколько угодно раз...
Но мне нужен просмотр изменений... А для этого надо открыть Word... А открыв его, я получаю "Сервер RPC недоступен" при повторном выполнении операции... Цикл замыкается...
Подскажите, что надо сделать для ликвидации этой ошибки?
Заранее всем благодарен...
← →
Smashich (2003-03-13 18:31) [1]WordApp.Disconnect
← →
asafr (2003-03-13 18:49) [2]Smashich ©,
Нет... Не получается
← →
Smashich (2003-03-13 18:57) [3]WordAp:=TWordApplication.Create(nil);
try
WordAp.Options.CheckSpellingAsYouType:=false;
WordAp.Options.CheckGrammarAsYouType:=false;
WordAp.ConnectKind:=ckNewInstance;
try
WordAp.Connect;
except
end;
WordAp.Visible:=false;
WordParam:=Project.TemplDir + Template + ".Dot";//??? ???????...
WordAp.Documents.Add(WordParam,EmptyParam,EmptyParam,EmptyParam);
WordAp.Options.ReplaceSelection:=true;
WordParam2:="Group";
WordParam:=1;
FieldName:=WordAp.ActiveDocument.Bookmarks.Item(WordParam2).Range.Bookmarks.Item(wordParam).Name;
WordAp.ActiveDocument.Bookmarks.Item(WordParam2).Range.Bookmarks.Item(wordParam).Select;
WordAp.Selection.TypeText("O ???!");
WordParam:="O TAK.DOC";
WordAp.ActiveDocument.SaveAs(WordParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordAp.Visible:=true;
WordAp.Activate;
except
on E:Exception do
begin
ShowMessage("?????? ?????? ? Microsoft Word!"#13#10""" + E.Message+""");
WordParam:=false;
WordAp.ActiveDocument.Close(WordParam, EmptyParam, EmptyParam);
WordAp.Disconnect;
end;
end;{}
WordAp.Free;
← →
Smashich (2003-03-13 18:58) [4]в коде артиефакты есть - не обращай внимания - пропустил при вырезании
← →
asafr (2003-03-14 11:01) [5]Да... Что то у меня, похоже, все гораздо серьезнее... Вообщем, у меня почти все так же (за некоторым исключением), но ошибка не проходит.....
За ответ - спасибо большое.....
← →
asafr (2003-03-14 17:32) [6]Ничего серьезного: просто подумать получше надо мне было... Просто перед WordApplication1.Documents.Open(.....)) добавить
WordApplication1:=TWordApplication.Create(Form1);
WordDocument1:=TWordDocument.Create(WordApplication1);
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c