Главная страница
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.045 c
6-1129880121
Rentgen
2005-10-21 11:35
2006.01.29
передача файла через TPAsync pro atTerminal


2-1134386260
MiraJ
2005-12-12 14:17
2006.01.29
проблема с сетевой базой


1-1135319886
jiny
2005-12-23 09:38
2006.01.29
Как узнать наличие переменной на другом фрейме не зная названия


2-1137152908
SarDoX
2006-01-13 14:48
2006.01.29
IE и delphi


3-1133424724
AloneAli
2005-12-01 11:12
2006.01.29
Перенос записей dbf 1C в другую dbf. Проблема с кодировкой