|
Вопрос # 5 396/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты!
При экспорте данных из StringGrid в Excel вылетает ошибка "ole error 800A03EC". Подскажите пожалуйста в чем может быть проблема?
Приложение: Переключить в обычный режим- function export_excel(SG:TStringGrid):integer;
-
- const
- xlWBATWorksheet = -4167;
- var
- Row, Col: Integer;
- extens: string;
- Sheet: OLEVariant;
- begin
-
- try
- form2.ea.Visible[0] := False;
- form2.ea.Workbooks.Add(xlWBatWorkSheet,0);
- Sheet := form2.ea.Workbooks[1].WorkSheets[1];
- Sheet.Name := 'ñòð1';
- for col := 0 to SG.ColCount - 1 do
- for row := 0 to SG.RowCount - 1 do
- Sheet.Cells[row + 1, col + 1] := SG.Cells[col, row];
- try
- if (copy(form2.ea.Version[0],1,2)='12') then extens:='.xlsx' else extens:='.xls';
- form2.ea.Workbooks[1].SaveCopyAs(Unit1.conf.DefDir+
- GetHost(DownReadyList.ListBox1.Items[iglobal])+'_'+datetostr(date)+extens,0);
-
- except
- on EOleSysError do
- // Error ?
- end;
- finally
-
Form2.Log.Items.Add(Unit1.conf.DefDir+Unit1.GetHost(DownReadyList.ListBox1.Items[iglobal])+'_'+datetostr(date)+'.xls');
- Form2.Log.Items.Add('Óñïåøíî
ñîçäàí');
- form2.ea.DisplayAlerts[0]:= False;
- form2.ea.Quit;
- Sheet := Unassigned;
-
- end;
- end;
 |
Вопрос задал: mobidik (статус: Посетитель)
Вопрос отправлен: 10 июня 2011, 10:31
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: corban
Здравствуйте, mobidik!
Посмотри, у тебя сам ексель-то запущен на момент экспорта данных? Судя по приведенному тобой коду ексель запускается где-то раньше експорта данных, но прибивается в этом куске, поэтому если твой код должен выполняться в цикле, то после первого же прохода ексель уничтожится (form2.ea.Quit), а заново не создастся.
 |
Ответ отправил: corban (статус: 2-ой класс)
Время отправки: 14 июня 2011, 09:14
|
Мини-форум вопроса
Всего сообщений: 2; последнее сообщение — 14 июня 2011, 07:04; участников в обсуждении: 2.
|
min@y™ (статус: Доктор наук), 10 июня 2011, 10:39 [#1]:
Зацени вот это.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
10 июня 2011, 10:49: Вопрос перемещён из тематического раздела Delphi » Алгоритмы, преобразования в раздел Delphi » COM, ActiveX и взаимодействие с другими приложениями модератором Ерёмин А.А.
|
corban (статус: 2-ой класс), 14 июня 2011, 07:04 [#2]:
Посмотри, у тебя сам ексель-то запущен на момент экспорта данных? Судя по приведенному тобой коду ексель запускается где-то раньше експорта данных, но прибивается в этом куске, поэтому если твой код должен выполняться в цикле, то после первого же прохода ексель уничтожится (form2.ea.Quit), а заново не создастся.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|