【发布时间】:2010-11-16 21:20:57
【问题描述】:
如何从 Delphi 修改 现有 excel 形状的文本?
我可以创建一个新形状并设置它的文本
procedure TForm1.Button1Click(Sender: TObject);
var
excel, xlShape : variant;
begin
olecontainer1.CreateObject('Excel.Application',false);
excel := olecontainer1.OleObject;
excel.workbooks.open('C:\test.xls');
XlShape := excel.application.worksheets[1].Shapes.AddShape(1, 0, 0, 450, 200);
XlShape.textframe.characters.text:='new shape created from Delphi';
但是如果形状已经存在,我该如何选择它来改变它的文本属性呢?比如:
excel.application.worksheets[1].Shapes('shape1').textframe.characters.text := 'This gives error';
【问题讨论】:
-
通常,了解如何使用 OLE 自动化执行操作的最简单方法是在 Excel 中记录一个宏,然后查看它生成的代码。然后将其转换为 Delphi 语法相当容易。