Форум: "Основная";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизЭкспорт данных в 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c