Comment puis-je modifier le texte d'une forme excel existant de Delphi?Modifier une forme Excel à partir de Delphi
Je peux créer une nouvelle forme et définir son texte
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';
Mais si la forme existe déjà, comment puis-je sélectionner pour changer sa propriété de texte? Quelque chose comme:
excel.application.worksheets[1].Shapes('shape1').textframe.characters.text := 'This gives error';
Souvent, la meilleure façon de trouver comment faire les choses avec OLE automation est d'enregistrer une macro dans Excel, puis regardez le code qu'il génère. Convertir ceci en syntaxe Delphi est alors raisonnablement facile. –