Приветствую Вас, Гость
Главная » Статьи » Работа с документами MSOFFICE в DELPHI

Вставка графических объектов в документ MSWord средствами Delphi.

Вставка графических объектов в документ MSWord средствами Delphi.

Пример добавления графических объектов в документ MSWord приведу в  следующем фрагменте кода:

 

...

const

msoShapeRectangle = 1;

 

begin

...

Word:= CreateOleObject('Word.Application');
Word.Visible:= True;
Doc:= Word.Documents.Open('C:\My_Doc\1.doc');
Doc.Shapes.AddShape(msoShapeRectangle, 5, 5, 20, 30, EmptyParam );

...

Рассмотрим метод AddShape. Метод AddShape коллекции Shapes используется для создания геометрических фигур.

Общее описание метода: AddShape(Type_: integer, Left, Top, Width, Height: Extended, Anchor: OleVariant)

Первый аргумент представляет собой целое число и определяет тип создаваемого объекта, например Туре_ = 1 соответствует прямоугольнику. Возможные типы фигур, поддерживаемых методом AddShape в версии Delphi7 описаны в модуле OfficeXP.pasАргументы Left, Top, Width, Height - числа, имеющие тип Extended и определяют соответственно отступ справа, отступ сверху, ширину и высоту создаваемого объекта. Аргумент Anchor, объект типа OleVariant, определяющий область, где будет создан объект.

Ниже приведу код модуля, рисующего все объекты по очереди в документе.

...

uses ... ComObj;

...

procedure TForm1.Button1Click(Sender: TObject);
var
Word, Doc: variant;
count: OleVariant;
i: integer;

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

begin
Word:= CreateOleObject('Word.Application');
Word.Visible:= True;
Doc:= Word.Documents.Open('C:\My_Doc\1.doc');
Doc.Shapes.AddShape(137, 0, 0, 30, 30, EmptyParam );
Word.Selection.Collapse(EmptyParam);
count:= 4;
  for i:= 136 downto 1 do
  begin
  Word.Selection.TypeParagraph;
  Word.Selection.TypeParagraph;
  Word.Selection.TypeParagraph;
  Word.Selection.MoveUp(wdLine, count, wdMove);
    try
    Doc.Shapes.AddShape(i, 0, 0, 30, 30, EmptyParam );
    except
    Showmessage(IntToStr(i));
    end;

  end;

Doc.Save;
Doc.Close;
Word.Quit; Word:= UnAssigned;
Word:= null;
end;
...

 

Основные значения переменной Type_ и соответствующие рисунки приведены в таблице:

 

Категория: Работа с документами MSOFFICE в DELPHI | Добавил: mihalych_2013 (07.01.2014)
Просмотров: 1968 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: