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

Вниз

Как вставить строку в док-т Word программно из Д5???   Найти похожие ветки 

 
Barabashka   (2002-04-01 16:00) [0]

если мне надо вставить текст в конкретное место в док-те
пр. надо вставить в 5 строку с 19 позиции...
есть ли какие-либо параметры для Insert?

W := CreateOLEObject("Word.Application"); //Word 8
W.Documents.Open (FileName:="....\oblu.doc");
W.ActiveDocument.Range(Start:=0, End:=0);
W.ActiveDocument.Range.Insert(Text:="Title");


 
AFROLOV   (2002-04-01 16:55) [1]

Должно сработать:

const wdLine=5;
const wdCharacter=1;
const wdMove=0;
...


W.Selection.Start:=W.ActiveDocument.Range.Start;//Устанавливаем Selection в начало документа
W.Selection.End:=W.ActiveDocument.Range.Start;//Снимаем выделение
W.Selection.MoveDown(wdLine, 5,wdMove);//Смещаемся на 5 строк вниз
W.Selection.MoveRight(wdCharacter,19,wdMove);//Смещаемся на 19 позиций в право

W.Selection.TypeText("Мой текст"); // впечатываем свой текст
//или если из буфера то
W.Selection.Paste;
..


Хотя для вставки текста в бланки лучше на позиции в документе не закладываться. Так как такой подход при любом изменении бланка потребует переписывания программы. В Word есть такая штука как FormField - поля которые могут быть проименованы при создании бланка. Тогда вставка текста в такое поле примет вид:

W.ActiveDocument.FormFields.Item("Field1").Result:="Мой текст";





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

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

Наверх




Память: 0.46 MB
Время: 0.013 c
3-46252
visa
2002-03-25 17:20
2002.04.15
halcyon - quickrep


1-46440
dorixe
2002-04-03 06:45
2002.04.15
Сумма прописью


6-46474
Yuri74
2002-02-01 15:04
2002.04.15
Отправить сообщение по сети


3-46237
UncleRu
2002-03-16 19:17
2002.04.15
кэширование данных связанных таблиц


3-46255
@andrew
2002-03-20 12:42
2002.04.15
Привет Всем! Как бороться с ошибкой.