Błąd eksportu danych do xls.

0

Witam,
mam problem z eksportem do xls.
Wszystko chodziło dobrze, eskportowało itp aż nagle przestało z następującym błędem:
'To polecenie jest niedostępne, ponieważ licencja na użytkowanie aplikacji wygasła'

Gdy kliknę Continue wyskakuje kolejny błąd:
'Ustawienie właściwości DisplayAlerts klasy Application nie jest możliwe'

 
procedure Tslownik_podczas_pracy.SaveToExcelFile(const AFileName: TFileName);
const
  Worksheet = -4167;

var
  Excel, Sheet, Data: OLEVariant;
  I, J, DataCols, DataRows: Integer;
 begin

  DataCols := DBGrid1.FieldCount;
  DataRows := DBGrid1.DataSource.DataSet.RecordCount + 1; //1 dla tytułu

  Data := VarArrayCreate([1, DataRows, 1, DataCols], varVariant);

  for I := 0 to DataCols - 1 do
    Data[1, I+1] := DBGrid1.Fields[I].FieldName;


  J := 1;
  DBGrid1.DataSource.DataSet.First;
  while (not DBgrid1.DataSource.DataSet.Eof) and (J < DataRows) do
  begin
    for I := 0 to DataCols - 1 do
      Data[J + 1, I + 1] := DBGrid1.Fields[I].Value;
    Inc(J);
    DBGrid1.DataSource.DataSet.Next;
  end;
 
  Excel := CreateOleObject('Excel.Application');
 
  try
    Excel.Visible := False;
    Excel.Workbooks.Add(Worksheet); //////////////////////////////////////////////TUTAJ WYSKAKUJE BŁĄD 
    Sheet := Excel.Workbooks[1].WorkSheets[1];
    Sheet.Name := 'Sheet1';
    Sheet.Range[RefToCell(1, 1), RefToCell(DataRows, DataCols)].Value := Data;
    try
      Excel.Workbooks[1].SaveAs(AFilename);
    except
      on E: Exception do
        raise Exception.Create('Data transfer error: ' + E.Message);
    end;
  finally
    if not VarIsEmpty(Excel) then
    begin
      Excel.DisplayAlerts := False;
      Excel.Quit;
      Excel := Unassigned;
      Sheet := Unassigned;
    end;
  end;
 end;


Wie ktoś co to za błędy?
Proszę o pomoc.

2

Stawiam na to że licencja na office ci się skończyła.

0

Racja, dzięki ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1