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

Вниз

Как удалить из doc определеные строки   Найти похожие ветки 

 
Dimich1978   (2008-07-23 13:11) [0]

Все открыл я файл из дЕльфи вордовский, расставил поля, теперь не могу удалить определенные строки из файла средствами Делфи.
Уточнение:
строки которые надо удалять всегда постоянны.
необходимо удалить строку и на место её вставить определенную строку из другого файла.
Какую операцию нужно сотворить. Чтобы это можно было сделать.

Вот мой код
Помогите ламеру....
function CentimetersToPoints(a:Single):Single;
begin

{Converts a measurement from centimeters to points (1 cm = 28.35 points).
Returns the converted measurement as a Single.
Syntax
expression.CentimetersToPoints(Centimeters)
expression Optional. An expression that returns an Application object.
Centimeters Required Single. The centimeter value to be converted to points.}

 Result:=28.35*a;

end;

Function VisibleWord (visible:boolean):boolean;
begin
VisibleWord:=true;
try
W.visible:= visible;
except
VisibleWord:=false;
end;
End;

Function CreateWord:boolean;
begin
CreateWord:=true;
try
W:=CreateOleObject("Word.Application");
W1:=CreateOleObject("Word.Document")
except
CreateWord:=false;
end;
End;

Function FindAndPasteTextDoc
(findtext_,pastetext_:string): boolean;
begin
FindAndPasteTextDoc:=true;
try
 W.Selection.Find.Forward:=true;
 W.Selection.Find.Text:= findtext_;
 if W.Selection.Find.Execute then begin
  W.Selection.Delete;
  W.Selection.InsertAfter (pastetext_);
  W.
 end else FindAndPasteTextDoc:=false;
except
 FindAndPasteTextDoc:=false;
end;
End;

procedure TForm1.Button2Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
 CreateWord;
 W.Application.Documents.Open(opendialog1.FileName);
 VisibleWord(true);
 W.ActiveDocument.PageSetup.TopMargin := CentimetersToPoints(0.75);
 W.ActiveDocument.PageSetup.BottomMargin := CentimetersToPoints(0.2);
 W.ActiveDocument.PageSetup.LeftMargin := CentimetersToPoints(0.5);
 W.ActiveDocument.PageSetup.RightMargin := CentimetersToPoints(0.5);
 W.ActiveDocument.PageSetup.Gutter := CentimetersToPoints(0);
 W.ActiveDocument.PageSetup.HeaderDistance := CentimetersToPoints(1.27);
 W.ActiveDocument.PageSetup.FooterDistance := CentimetersToPoints(1.27);
end;
end;


 
DFT   (2008-07-23 15:16) [1]

Вот выдрал из VBA:
к примеру стоит наш текущий курсор в начале документа, и необходимо как-то изменить третью строку...

   Selection.MoveDown Unit:=wdLine, Count:=3 //перемещаемся на три строки вниз
   Selection.EndKey Unit:=wdLine, Extend:=wdExtend //выделяем всю строку
   Selection.TypeText Text:="123" // вводим новый текст

Скорее всего только так. Насколько я знаю, доступа к отдельным строкам документа через программный интерфейс нет.

На будущее. Если нужно что-нибудь программно реализовать, и не знаешь как, то воспользуйся записью макросов. Сделай все необходимые действия вручную (в режиме записи макроса), а потом посмотри на код, который сгененрировался (Alt+F11).



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-1204731053
nstur
2008-03-05 18:30
2008.08.31
Как в ADO открыть запароленную БД Access


11-1192972730
Dodfr
2007-10-21 17:18
2008.08.31
Cant update correctly KOLAdd from 2.81 to 2.82


15-1215708563
Nodt
2008-07-10 20:49
2008.08.31
Собираю машину.


2-1216845572
Terasbetoni
2008-07-24 00:39
2008.08.31
Как устанавливать библиотеки? В частности GLScene.


15-1215890922
Zeqfreed
2008-07-12 23:28
2008.08.31
В ICFP никто не участвует?