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';