Главная страница
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.054 c
2-1127984736
Кластер
2005-09-29 13:05
2005.10.23
как определить серийный номер...


14-1128430953
oldman
2005-10-04 17:02
2005.10.23
Весьма запоздалое поздравление :(


6-1120210369
Aleksandr.
2005-07-01 13:32
2005.10.23
Что за проблемы с Indy в dll?


3-1126791050
erika
2005-09-15 17:30
2005.10.23
Как можно получить текущий год


14-1127981297
Андрей Жук
2005-09-29 12:08
2005.10.23
Андрею Шевченко - 29!