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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
7-88279
Николай В.
2003-02-03 16:11
2003.03.27
Порт принтера


3-87880
xmrz
2003-03-09 16:54
2003.03.27
SQL & Delphi возможно ли прямое обращение к данным выборки?


14-88218
Anonimus
2003-03-11 10:17
2003.03.27
Уважаемые мастера!!! Подскажите плиз как перезагрузить комп


1-88066
NKiril
2003-03-15 01:20
2003.03.27
Как програмно (OLE) выделить в Word-е жирным нужные символы?


8-88077
sergn
2002-12-16 17:26
2003.03.27
Попадание курсором мыши на букву.