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

Вниз

Экспорт данных в Excel   Найти похожие ветки 

 
ASMiD ©   (2005-12-28 14:03) [0]

Существует процедура вывода блока данных из D7 в Excel, которая прекрасно работает под Office XP. Под Office 2003  не работает абсолютно. Может кто подскажет в чем гимор?


 
k2 ©   (2005-12-28 14:06) [1]

процедуру покажите, не стесняйтесь


 
ASMiD ©   (2005-12-28 14:08) [2]

Нет вопросов!
tRange := ExWbk.WorkSheets[Curws].Range[Cell,Row];


 
k2 ©   (2005-12-28 14:10) [3]

то есть в этой строчке возникает ошибка? или што?
никакого блока данных пока не видно


 
ASMiD ©   (2005-12-28 14:16) [4]

Виноват!!
Ошибка-то не возникает, просто Ёксель невидим после следующей строки
tRange.Value := ExData;
ExData: Variant;


 
Vlad ©   (2005-12-28 14:37) [5]


> ASMiD ©   (28.12.05 14:16) [4]


> просто Ёксель невидим после следующей строки

Следующая строка никак не связана с видимостью Ёкселя.
Для этого у него есть свойство Visible


 
k2 ©   (2005-12-28 14:37) [6]

осталось выяснить што в блоке ExData, как он создается и заполняется :)


 
ASMiD ©   (2005-12-28 14:42) [7]

А от заполнения Variant что-то зависит или имеет смысл поставить OLEVariant?
Данные строковые - string[255];


 
k2 ©   (2005-12-28 14:48) [8]

зависит от создания вроде бы


 
ASMiD ©   (2005-12-28 14:55) [9]

Если зависит от создания - то код в студию.
function InitExcel(const AOwner:TComponent; const TemplName:string):wordbool;
var
 cerr:wordbool;
   ClassID: TCLSID;
label 1;
begin
// Is Excel exists?
 if s_Ok<>CLSIDFromProgID(PWideChar(WideString("Excel.Application")), ClassID) then begin
   MessageBox(0,Не установлен Microsoft Excel","Внимание!",mb_IconStop or MB_OK);
   result:=FALSE; exit;
 end;
// Ищем Excel
 cerr:=FALSE;
 try
   ExAppl := GetActiveOleObject("Excel.Application");
 except
// Запуск Excel
  cerr:=TRUE;
 end;
 if VarIsEmpty(ExAppl) then ExAppl:=CreateOleObject("Excel.Application");
 ExAppl.Visible := FALSE;
// Отключение реакции на события для ускорения экспорта
 ExAppl.Application.EnableEvents := false;
// Connect EXCEL
 if TemplName<>"" then ExWbk:=ExAppl.WorkBooks.Add(TemplName) else ExWbk:=ExAppl.WorkBooks.Add;
 ChangeWorkSheet(1);
 result:=TRUE;
end;

еще раз повторюсь - под Office ХР проходит, а под 2003 нет


 
k2 ©   (2005-12-28 15:14) [10]

от создания блока данных ExData
(ушла домой)


 
старый маразматик(с)   (2005-12-28 15:16) [11]

ExAppl.Visible := true
в конце ф-ции написать?


 
ASMiD ©   (2005-12-28 15:32) [12]

ExAppl.Visible := true
В обязательном порядке, но, видимо, ошибка происходит до этого



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

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

Наверх




Память: 0.49 MB
Время: 0.061 c
15-1136771928
SergProger
2006-01-09 04:58
2006.01.29
Бесплатный хостинг


2-1137143508
dabreezy
2006-01-13 12:11
2006.01.29
Как сделать постоянное выполнение комманд


4-1128023725
Руслан
2005-09-29 23:55
2006.01.29
Как в Win98 получить адреса COM и LPT портов


3-1133514080
Ascan
2005-12-02 12:01
2006.01.29
Autoincrement-номер присоздании записи посредствам SQL


2-1136655108
navinavi
2006-01-07 20:31
2006.01.29
как открыть определенную страницу файла *.hlp в delphi