![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi7 + Excel XP
Itsme © (2005-01-13 09:53:00)Здравствуйте!
Помогите, пожалуйста, решить проблему:
используется Delphi 7 + MS Office XP
При попытке открыть существующую книгу:
XLSApp.WorkBooks.Open(WorkBookName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyPar am,EmptyParam,EmptyParam,EmptyParam,True,0);
выдается сообщение "OLE error 800A03EC".
В Excel установлена "птица" на Сервис-Параметры-Безопасность-Безопасность макросов-Надежные источники-Доверять доступ...
Раньше, при использовании Delphi5 и Excel97 все работало (в WorkBooks.Open было на 2 параметра меньше).
Что надо сделать?
Спасибо.
Orc (2005-01-14 13:49:00) [1]
> И сто раз показывает showmessage(s), чтобы спасибо за пример
> сказали
Умный человек нажмёт Ctrl+F2 в рантайме, если ему надоест showmessage смотреть ;)
Igor_thief (2005-01-14 12:25:00) [2]ExcelApplication.Workbooks.Add(Path, index);
asafr (2005-01-14 11:30:00) [3]и еще вариант в догонку...
Попробуй так, хотя лично не проверял...
OLEVariant(XLSApp.WorkBooks).Open(WorkBookName,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyPa ram,EmptyPar am,EmptyParam,EmptyParam,EmptyParam,True,0);
asafr (2005-01-14 11:24:00) [4]Тогда может быть такие причины, проверь....
а)Некоторые данные не могут быть использрваны на старницы EXCEL в результате ошибки преобразования (например, Дата, формат которой должен соответствовать dd.mm.yyyy). Проверь, что у тебя с WorkBookName, не противоречит ли она какому-нибудь правилу создания страниц Excel
б)Может быть из-за высоких параметров безопасности. Понизь параметр
в)Если на компе стоит AVP, то у него такая штука есть как Office Guard. Попробуй его деинсталировать.
ЮЮ (2005-01-14 10:28:00) [5]>Привер считывает построчно до 100 строки включая в строку 10 колонок.
И сто раз показывает showmessage(s), чтобы спасибо за пример сказали
Orc (2005-01-14 10:02:00) [6]Я делаю так:
...
var excel:variant;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open(path+filename);
Excel.Visible:=false;
for i := 1 to 100 do
begin
for j := 1 to 10 do
S := s+trim(Excel.Sheets[1].Cells[i,j].Text);
showmessage(s);
end;
s:=''
end;
Excel.DisplayAlerts := False;
Excel.Quit;
end;
...
Привер считывает построчно до 100 строки включая в строку 10 колонок.
Itsme (2005-01-14 08:14:00) [7]ExcelXP
asafr (2005-01-13 10:42:00) [8]Причин - то множество может быть...
Например, что у тебя в разделе uses объявлено? Не Excel97 случаем?