PowerPoint в Delphi: заполнить таблицу с текстом

Я пишу надстройку для PowerPoint в Dephi XE3, которая вставит таблицу и заполнит ее текстом. Я почти закончил с этим, но я не могу заполнить таблицу с текстом.

Это мой код:

insp:=CreateOleObject('PowerPoint.Application');
insp.ActivePresentation.Slides.Add(1, ppLayoutBlank);
MSTable:=insp.ActivePresentation.Slides.Item(1);
MSTable.Shapes.AddTable(5, 5, 100, 0);
MSTable.Table.Cell(2,2).Shape.TextFrame.TextRange.Text:='Text';

Когда я пытаюсь заполнить таблицу, я получаю эту ошибку

Метод "Таблица" не поддерживается объектом автоматизации

Также попробовал это:

MSTable.AddTable(5, 5, 100, 0).Cell(2,2).Shape.TextFrame.TextRange.Text:='Text';
MSTable.Table.Item(1).Cell(2,2).Shape.TextFrame.TextRange.Text:='Text';

На MSDN нашел, как написать этот код в VBA, но не помогает. Пожалуйста, помогите мне решить эту проблему.

1 ответ

Решение

Следуя этому примеру MSDN, вы должны создать и получить доступ к PowerPoint-Таблица

var
  LApp, LSlide, LTable : Variant;
begin
  LApp := CreateOleObject( 'PowerPoint.Application' );
  LSlide := LApp.ActivePresentation.Slides.Add( 1, ppLayoutBlank );
  LTable := LSlide.Shapes.AddTable( 5, 5, 100, 0 ).Table;

  LTable.Cell( 2, 2 ).Shape.TextFrame.TextRange.Text := 'Text';
Другие вопросы по тегам