Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.17;
Скачать: CL | DM;

Вниз

Ошибка "OLE error 800A03EC" при передаче StringGrid в Excel   Найти похожие ветки 

 
Darvin ©   (2007-05-25 13:46) [0]

Здрасвтвуйте!
Передаю данные из StringGrid в Excel таким способом:

function SaveAsExcelFile(AGrid: TStringGrid; ASheetName, AFileName: string): Boolean;
const
 xlWBATWorksheet = -4167;
var
 Row, Col: Integer;
 GridPrevFile, S: string;
 XLApp, Sheet, Data: OLEVariant;
 i, j: Integer;
 D : Double;

 function RefToCell(ARow, ACol: Integer): string;
 begin
   Result := Chr(Ord("A") + ACol - 1) + IntToStr(ARow);
 end;

begin
 Data := VarArrayCreate([1, AGrid.RowCount, 1, 20{AGrid.ColCount}], varVariant);
 for i := 0 to 20{AGrid.ColCount} - 1 do
   for j := 0 to AGrid.RowCount - 1 do begin
     S := AGrid.Cells[i, j];
     // Конвертирование в число
     try
       D := StrToFloat (S);
       Data[J + 1, I + 1] := D;
     except
       Data[J + 1, I + 1] := S;
     end;
   end;

 Result := False;
 XLApp := CreateOleObject("Excel.Application");
 try
   XLApp.Visible := True;
   XLApp.Workbooks.Add(xlWBatWorkSheet);
   Sheet := XLApp.Workbooks[1].WorkSheets[1];
   Sheet.Name := ASheetName;
   Sheet.Range[RefToCell(1, 1),
               RefToCell(AGrid.RowCount, 20{AGrid.ColCount})].Value := Data;
 finally
 end;
end;

Так вот, для небольших таблиц, например 20 x 15, все работает, а для таблиц 61 x 15 выдается ошибка OLE error 800A03EC в строке:
   Sheet.Range[RefToCell(1, 1),
               RefToCell(AGrid.RowCount, 20{AGrid.ColCount})].Value := Data;

Как можно такое победить?


 
Darvin ©   (2007-05-25 13:48) [1]

Прошу прощения, для возникновения ошибки комментарии {AGrid.ColCount} надо раскрыть, а 20, стоящую перед ними удалить. Если этого не сделать, ошибки не возникнет.



Страницы: 1 вся ветка

Текущий архив: 2007.06.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1179611606
Marser
2007-05-20 01:53
2007.06.17
Список изменений в версии Delphi 7 сравнительно с более старыми


1-1176964731
kukuikar
2007-04-19 10:38
2007.06.17
Проверить существует ли сетевой путь или с сети ли сервер


11-1162053597
Vladimir Kladov
2006-10-28 20:39
2007.06.17
Версия 2.41 (unstable, beta)


1-1177302041
Vidog@mobzone.org
2007-04-23 08:20
2007.06.17
Ресурсы в программе


2-1180341649
ANB
2007-05-28 12:40
2007.06.17
Как назначить разные пути сетевым дискам для разных процессов ?