2 votes

Erreur d'automatisation Excel 2010 depuis Delphi

Est-ce que quelqu'un sait pourquoi le code suivant ne fonctionne pas avec Excel 2010 (Édition Office Familiale et Petite Entreprise) ¿?

procedure TForm1.Button1Click(Sender: TObject);
var
  rango : OleVariant;
  ExcelObject : TExcelApplication;
  ExcelWorksheet : TExcelWorksheet;
  LCID : integer;

begin

  try
    ExcelObject := TExcelApplication.Create (self);
    LCID := LOCALE_USER_DEFAULT;

    ExcelObject.Workbooks.Add(EmptyParam, LCID);

    ExcelWorksheet := TExcelWorksheet.Create(ExcelObject);
    ExcelWorksheet.ConnectTo(ExcelObject.Worksheets.Item [1] as _Worksheet);

    rango := ExcelWorksheet.Range['B2','B2'];
    rango.Font.size := 16;
    rango.Font.Bold := True;
    rango.Value2 := 'test';

    ExcelObject.Visible[lcid] := true;

  except
    on e: exception do
      showmessage(e.message);

  end;

end;

Une exception "Classe non enregistrée" est affichée lors de l'ajout d'un classeur: "ExcelObject.Workbooks.Add(EmptyParam, LCID);"

Cela fonctionne bien avec Office 2010 Édition Professionnelle (et les anciennes éditions Office) mais pas avec l'Édition Familiale et Petite Entreprise 2010.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X