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

Вниз

Delphi7 и Excel2000   Найти похожие ветки 

 
чайник   (2003-12-17 15:24) [0]

Уважаемые мастера, почему при передаче данных в таблицу Excel в первый раз грузит все нормально, если хочу повторно открыть таблицу по нажатию кнопки - молчит и не грузит. У меня windowsxp, excel2000.
код следующий:
....
private
Excel:Variant;n:OleVariant;
....

procedure Tvvod.Excel1Click(Sender: TObject);
var Sheet: Variant;
Row:Integer; it:real;

begin
if not VarIsEmpty(Excel) then Exit;
Try
dat1.q_zai.Open;
except
begin
showmessage(нет соединения с сервером");
exit;
end;
end;

try
Excel:=CreateOleObject("Excel.Application")
except
begin
Showmessage(Нет доступа к Excel");
exit;
end;
end;
n:="d:\zaim.xls";
screen.cursor:=crhourGlass;
Excel.Workbooks.add(n);
Sheet:=Excel.Workbooks[1].Sheets[1];
Row:=4;
while not dat1.q_zai.eof do
begin
it:=it+dat1.q_zaisum_s.asfloat;
Sheet.Cells[Row,1]:=dat1.q_zainame.value;
Sheet.Cells[Row,2]:=dat1.q_zainom_in.value;
Sheet.Cells[Row,3]:=dat1.q_zaisum_s.asstring;
Sheet.Cells[Row,4]:=dat1.q_zaiproz_s.asstring;
Sheet.Cells[Row,5]:=dat1.q_zaidate1.asstring;
Sheet.Cells[Row,6]:=dat1.q_zaidate2.asstring;
inc(row);
dat1.q_zai.next;
end;
Sheet.Cells[Row,1]:="Итого";
Sheet.Cells[Row,3]:=it;
screen.cursor:=crdefault;
if not VarIsEmpty(Excel) then begin
Excel.Visible := true;

end;
end;

procedure Tvvod.FormDestroy(Sender: TObject);
begin
if not VarIsEmpty(Excel) then begin
if (Excel.Workbooks.Count > 0) and (not Excel.Visible) then
begin
Excel.WindowState := Excel.xlMinimized;
Excel.Visible := true;
Application.BringToFront;
end
else
Excel.Quit;
Excel := UnAssigned;
end;
end;

Спасибо.


 
чайник   (2003-12-17 15:32) [1]

прошу помощи...спасибо


 
Карелин Артем ©   (2003-12-17 15:34) [2]

Таблицу открыл, перегнал до конца и не закрыл. Когда пытаешься перегнать второй раз курсор стоит на последней позиции.


 
чайник   (2003-12-17 15:45) [3]

спасибо, в голову это даже не пришло.


 
arf_so   (2003-12-24 09:35) [4]

Слушайте, господа, а как сделать, чтобы не
For i:=5 to 10 do For j:=3 to 5 do
XLApp.WorkBooks[1].WorkSheets[1].Cells[j,i]:=StringGrid.Cells[i,j]
а целиком всю таблицу воткнуть в определенное место листа Excel?


 
Shirson ©   (2003-12-24 11:21) [5]

Какую таблицу?


 
Романов Р.В. ©   (2003-12-24 11:39) [6]


> arf_so (24.12.03 09:35) [4]
> Слушайте, господа, а как сделать, чтобы не

Range.Value := VariantArray;


 
Карелин Артем ©   (2003-12-24 13:07) [7]

Романов Р.В. © (24.12.03 11:39) [6]
Это самый быстрый вариант.



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
8-25456
dzmitry_
2003-09-04 14:29
2004.01.09
ВЫВЕСТИ часть TMetafile в TImage или TPaint, или векторная график


14-25604
Nick-From
2003-12-19 13:29
2004.01.09
sophisticated DBcombobox


3-25229
h0use
2003-12-10 15:32
2004.01.09
Как получить внесенные изменения из DBGrid


7-25622
reskator
2003-10-26 12:14
2004.01.09
программно отловить цифровой сигнал полученный из аналогового, по


1-25334
Андреев
2003-12-21 20:46
2004.01.09
сохранение StringGrid в файле