Главная страница
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.051 c
2-1137198269
psyBNC
2006-01-14 03:24
2006.01.29
Помогите с базой данны)(


15-1136303672
X9
2006-01-03 18:54
2006.01.29
Помогите с OpenOffice


4-1132163658
Хинт
2005-11-16 20:54
2006.01.29
DLL, LoadLibrary и ReadProcessMemory


15-1135690725
Holy
2005-12-27 16:38
2006.01.29
Новогодняя БМП (Belgorod MP)


2-1137041877
DmitriyR
2006-01-12 07:57
2006.01.29
Координаты мыши в чужом окне