Главная страница
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.048 c
4-1124692715
Malignus
2005-08-22 10:38
2005.10.23
Определение активного юзера из сервиса


3-1126261018
novikova
2005-09-09 14:16
2005.10.23
Пользователь базы данных SQL Server


14-1128078838
Delphin
2005-09-30 15:13
2005.10.23
Как позвонить?


14-1127963971
Steepe Wolf
2005-09-29 07:19
2005.10.23
Аналог vs Цифра (фотоаппарат)


14-1128408994
Jolik
2005-10-04 10:56
2005.10.23
Сорри за оффтоп: чем MD4 лучше crc32?