![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Delphi 6 и Office XP (по крайней мере Excel)! Не работает! [D6]
SB © (2003-10-06 08:04:00)
Кто нить подскажите как работать с Excel XP из Delphi 6!!!!!
Прога работает под Excel 2000,97 а под Excel XP дает ошибку!
Может там библиотека какая нить нужна? Народ подскажите хоть в каком направлении искать?? Я уже на пределе!
Заранее спасибо!!
Hooch (2003-10-07 08:38:00) [1]
да
SB (2003-10-07 08:23:00) [2]
Выслал?
Hooch (2003-10-07 08:05:00) [3]
ok
SB (2003-10-07 08:02:00) [4]
Не у меня так и не работает
Ты код не менял? Можеш выслать листинг(полностью на мыло) твоей проги мож я че раньше накосячил!?
Заранее спасибо!
Hooch (2003-10-07 07:22:00) [5]
так заработало или нет ??? да, я твой пример проверил, у меня на Office XP нормально сработало
SB (2003-10-07 06:27:00) [6]
Hooch спасибо за интерфейсы!
Спасибо Bob за ссылку правда битую!
SB (2003-10-07 06:23:00) [7]
Hooch спасибо за интерфейсы!
Спасибо Bob за ссылку!
Bob (2003-10-06 17:53:00) [8]
>>ISheet.SaveAs(SFName,xlText,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
Есть уменя подозрение, что в скобках надо указать больше параметров. По крайней мере с Word из Office XP затык был именно в этом. Описалово было найдено по этой ссылке:
http://www.delphiworld.narod.ru/all.html.Слазий туда, может быть найдешь для себя что-то интересное
Hooch (2003-10-06 15:05:00) [9]
if not Assigned(ISheet) then
raise Exception.Create("А интерфейса нема !! ")
SB (2003-10-06 14:55:00) [10]
Извини ламера но куда он должен возвращатся и как это проверить?
Hooch (2003-10-06 14:25:00) [11]
>> ISheet := xlBk.Worksheets.Item["Лист1"] as cel2000._Worksheet;
после этой строки проверь интерфейс вернулся или нет
SB (2003-10-06 14:22:00) [12]
на строке
ISheet.SaveAs ......
но самое интересное что в Excel 2000,97 все ништяк работает!
Hooch (2003-10-06 14:06:00) [13]
дебагером ходил, на какой строке падает ?
SB (2003-10-06 13:59:00) [14]
И компоненты никто не кидал!!
Все ручками писалось !
SB (2003-10-06 13:51:00) [15]
ОК! Ошибка звучит так!
"Project SB.EXE raised exception class EOleException with message
"Ole Error 800A03EC".Process stoped. Use Step or Run to continue."
Выходит оно тогда , когда у меня начинает работать процедура
procedure TForm1.SaveXLTab(Sender:TObject);
begin
if Assigned(xlAp) and Assigned(xlBk) then
try
ISheet := xlBk.Worksheets.Item["Лист1"] as Excel2000._Worksheet;
ISheet.SaveAs(SFName,xlText,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
finally
ISheet:=nil;
end;
end;
Вроде вся информация ! Поможите кто чем может!!!
SelVl (2003-10-06 13:44:00) [16]
Конечно можно, и мне кажеться так правильней и более универсально... но человек скорее всего просто кидал компоненты на форму...
Term (2003-10-06 13:16:00) [17]
а можно без использования компонентов Servers?
просто создать COM-объект скажем примерно так:
var
xlap,xl:OLEVariant;
begin
XLap:= CreateOLEObject("Excel.Application");
xlap.workbooks.add;
XLap.visible := true;
xl:=xlap.Workbooks[1].Sheets[1];
по идее глючить не должно
SelVl (2003-10-06 13:02:00) [18]
Смысл, то вообщем такой... наверняка использовались компоненты с палитры Servers?
Вообщем их надо удалить и добавить по новой, путем открытия какой-то dll из папки с офис XP, через пункт меню Components.
Как точно делать не помню, но смысл такой...
Nicolay prav
"В общем случае при работе с екселем приходится писать разный код под 97/2000/ХР :("
Woolen (2003-10-06 11:59:00) [19]
> Ты хоть сам понял че сказал????
> Какая 17 строка?? Какой общий случай??
> Это уже тяжелый случай!!!
А ты-то сам понял, что сказал? Что он еще должен сказать человеку, который кидает в форум: "У меня ошибка! Пмогите!" Вот тебе и ответ: "Ошибка у тебя в строке 17!" Какой вопрос - такой ответ.
Причина:
Для непонятливых объясняю: если ты говоришь: "Помогите!", то надо хотя бы объяснить с чем. Иначе, извини, телепатов тут нет и такие посьбы помочь (хрен его знает с чем) осмеиваются.
Выход:
Детально объяснить, что у тебя происходит с кодом, какие ошибки и в какой момент появляются, привести фрагменты кода и сообщения ошибок, классы ошибок, указать, в какой строке из приведенных тобой происходит ошибка и дать, по возможности, прочую информацию, из которой можно сделать выводы. Тогда тебе, возможно, кто-нибудь поможет.
Term (2003-10-06 11:52:00) [20]
> Ты хоть сам понял че сказал????
> Какая 17 строка?? Какой общий случай??
> Это уже тяжелый случай!!!
а ты понял что спросил, хотя бы написал какая ошибка, а то ждёш что тут еще и мысли твои ктото угадает