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

Вниз

между закладками ;)   Найти похожие ветки 

 
GanibalLector ©   (2005-01-17 02:05) [0]

Цитата :
Если строку необходимо вставить в определенное место в тексте, то делаем закладку: Вставка=>Закладка в меню Word.
Но лучше использовать две закладки: начало текста и конец. Это может понадобиться в случае замены старого текста на новый (обновление данных).


Решил сделать именно так.Вставляю текст между закладками zk1 и zk4. !!!Между закладками  5 пробелов!!!
Делаю так :

var WordApp,Doc2:OleVariant;
i:integer;
begin
try
WordApp:=GetActiveOleObject("Word.Application");
except
WordApp:=CreateOleObject("Word.Application");
end;
 WordApp.Documents.Open("e:\worddoc.doc");
 Doc2:=WordApp.ActiveDocument;
 WordApp.visible:=true;
 for i:=1 to 5 do begin
 sleep(400);
 WordApp.ActiveDocument.Range(Doc2.Bookmarks.Item("zk1").Range.end,
 Doc2.Bookmarks.Item("zk4").Range.start).Text:="F"+inttostr(i);end;
 Doc2:=Unassigned;
 WordApp:=Unassigned;
end;


Уже после первого цикла закладки по непонятным причинам расположены одинаково.И соответственно на выходе : : F5F4F3F2F1  
Что я сделал неверно?Кто может высказаться по сабжу?


 
aus   (2005-01-17 03:46) [1]

Попробуй тоже самое сделать в макросе на VBA и проследи по шагам.

Вообще я предпочитаю писать макросы (их отлаживать легче), а потом запускать из приложения один из них. Хоть VBA и не лучший вариант, но в таком случае для меня удобнее.


 
GanibalLector ©   (2005-01-17 22:15) [2]

Еще варианты есть?


 
YurikGL ©   (2005-01-17 22:35) [3]

попробуй вот так с бубном потанцевать

>  WordApp.ActiveDocument.Range(Doc2.Bookmarks.Item("zk1").Range.end+1,
>  Doc2.Bookmarks.Item("zk4").Range.start-1).Text:="F"+inttostr(i);end;

в разных вариациях


 
Набережных С.   (2005-01-18 09:07) [4]

>Это может понадобиться в случае замены старого текста на новый

А зачем две закладки? В документе выделяешь нужный участок и вставляешь закдадку. Закладка - все выделенное. Потом примерно так:
Doc2.Bookmarks.Item("zk1").Select;
WordApp.Selection.TypeText(newText);


 
YurikGL ©   (2005-01-18 09:12) [5]


> Набережных С.   (18.01.05 09:07) [4]

Тоже верно... закладка же имеет св-во range у которого есть и конец и начало


 
YurikGL ©   (2005-01-18 09:13) [6]


> Набережных С.   (18.01.05 09:07) [4]

Тоже верно... закладка же имеет св-во range у которого есть и конец и начало



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

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

Наверх




Память: 0.48 MB
Время: 0.057 c
4-1124713454
Delphi_is_cool
2005-08-22 16:24
2005.10.23
Как установить интервал таймера 1 микросекунда


14-1127883700
Ega23
2005-09-28 09:01
2005.10.23
С днем рождения! 28 сентября


14-1128493145
REA
2005-10-05 10:19
2005.10.23
DeXter


8-1117451832
Expl
2005-05-30 15:17
2005.10.23
Траблы с BitBlt..


9-1118134173
Le(x)
2005-06-07 12:49
2005.10.23
Помогите дописать игру!