Re: Range.Find.Execute -> Слишком длинный строковый параметр
От: YUKLA  
Дата: 07.12.04 17:39
Оценка:
Здравствуйте, YUKLA, Вы писали:

YUK>Уважаемые Господа!


YUK>Есть функция:


YUK>
YUK>Procedure FindAndReplaceInWordDoc(WD:TWordDocument;Const oStr,nStr:string);
YUK>Var
YUK> oldString, newString, Replace:OleVariant;
YUK>Begin
YUK>//Замена всех строк oStr на строку nStr в открытом документе Word2000
YUK> Replace  :=wdReplaceAll;   oldString:=oStr;         newString:=nStr;
YUK> WD.Range.Find.Execute(oldString, EmptyParam, EmptyParam, EmptyParam,
YUK>                              EmptyParam, EmptyParam, EmptyParam, EmptyParam,
YUK>                               EmptyParam, newString, Replace,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
YUK>End;
YUK>


YUK>Она используется ШИРОКО в коде нескольких программ. Происходит замена некоторых строк из шаблона (например @Up ) на строки, сформированные программой.

YUK>Среда — Delphi 5 + SP#1, Word 2000 + SP#3, используются компоненты те, что для Office 2000 (dcloffice2k50.bpl).

YUK>В случае если длина строки больше 255 символов получаем надпись "Слишком длинный строковый параметр". Что делать?


YUK>Не подскажите ли, как обойти данное ограничение?


YUK>С уважением.


Попробую переформулировать мой вопрос — "Можно ли как-нибудь иначе чем с помощью Range.Find.Execute(...) произвести замену строки на другую строку в открытом документе MS Word средствами Delphi?"

С уважением.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.