Форум: "Начинающим";
Текущий архив: 2008.08.31;
Скачать: [xml.tar.bz2];
ВнизКак удалить из 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c