Delphi中的PowerPoint:用文本填充表格

时间:2013-08-05 07:19:57

标签: delphi powerpoint powerpoint-vba

我正在为Dephi XE3中的PowerPoint编写一个加载项,它会插入一个表并用一些文本填充它。我差不多完成了它,但我无法用文字填充表格。

这是我的代码:

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 个答案:

答案 0 :(得分:3)

遵循此MSDN example,即您应该创建和访问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';